This is a good idea from a corporate developer's perspective anyways. JEE platform needs to keep things as simple as possible (esp. in terms of configuration) for the typical JEE dev. <br><br>"Promotable transactions optimize distributed transactions by deferring
the creation of a distributed transaction until it is needed. If only
one resource manager is required, no distributed transaction occurs."<br><br>src: <a href="http://msdn.microsoft.com/en-us/library/ms172070%28VS.80%29.aspx">http://msdn.microsoft.com/en-us/library/ms172070%28VS.80%29.aspx</a><br>
<br>Instead of focusing on how "apparently" bad the Spring stack is, I would recommend focusing on expanding on the good ideas that .NET platform has (like the late addition of MVC frmwk in <a href="http://ASP.NET">ASP.NET</a>!)<br>
<br>Corporate devs are looking to design and code use cases easily/quickly and not worry too much about system level issues, clustering and lack of tooling, etc. An integrated solution like .NET with the .NET Visual Studio IDE is very attractive (although somewhat limiting perhaps b/c the APIs/frmwks are "locked" down).<br>
<br>We have to make way too many decisions about what frmwks and libraries to use in JEE (this problem seems to always be getting worse as the years go by unfortunately).<br><br><div class="gmail_quote">On Tue, Nov 24, 2009 at 9:03 AM, Reza Rahman <span dir="ltr"><<a href="mailto:reza_rahman@lycos.com">reza_rahman@lycos.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Dan,<br>
<br>
Personally, I think the most elegant solution in terms of Java EE is<br>
simply to standardize "promotable" transactions. Specifically, JTA could<br>
be modified to use local transactions by default and only promote<br>
transactions to distributed mode as the need arises. The Microsoft guys<br>
have had promotable transactions for ages, I am not sure why we don't<br>
have it in Java EE too. This would make the "lightweight" vs<br>
"heavyweight" debate moot and keep things simple/consistent from a<br>
developer's perspective while most of the systems-level issues are dealt<br>
by the container where these things belong instead of a steady leak as a<br>
development concern.<br>
<div class="im"><br>
Cheers,<br>
Reza<br>
<br>
<br>
Dan Allen wrote:<br>
</div><div class="im">> I was talking to someone about this topic post-Devoxx. I came up with<br>
> an idea that may be worth considering. Perhaps the Java EE platform<br>
> can recognize another class of bean that has persistence and<br>
> transaction capabilities, but not the rest of EJB. Here's my proposed<br>
> breakdown, in terms of airplane seat classes (I was on an airplane at<br>
> the time).<br>
><br>
> First class - EJB session bean<br>
> Business class - local transactional bean<br>
> Coach - Simple managed bean<br>
><br>
> The main differientiator of a "business class bean" from an EJB is<br>
> that it would have the option to use local transactions, just like an<br>
> application-managed JPA persistence unit. It would also not support<br>
> any HA concerns. But it would be a drop in replacement for so-called<br>
> "lightweight" transaction beans that Spring offers.<br>
><br>
> Then, we wouldn't need to do anything special in Weld / Seam 3. All we<br>
> would need is to be able to support these types of beans in a servlet<br>
> container, the same way that Weld supports those environments. But it<br>
> would be a standard part of Java EE (6 MR1 or 7).<br>
><br>
> If we feel like we need to support this use case in Seam, then clearly<br>
> there is still something missing in Java EE.<br>
><br>
> -Dan<br>
><br>
> On Wed, Nov 18, 2009 at 6:10 PM, Gavin King <<a href="mailto:gavin.king@gmail.com">gavin.king@gmail.com</a><br>
</div><div class="im">> <mailto:<a href="mailto:gavin.king@gmail.com">gavin.king@gmail.com</a>>> wrote:<br>
><br>
> I think we should try and follow the Java EE models as closely as<br>
> possible for this stuff. We should simply try and make the Java EE<br>
> code work outside EE 6.<br>
><br>
> e.g.<br>
><br>
> (1) use a resource declaration with @PersistenceContext(unitName=....)<br>
> to define a managed persistence context<br>
> (2) use JBoss Transactions to manage transactions in a servlet engine<br>
> - so instead of having a special tx manager for JDBC, it is just JTA<br>
><br>
> Or is the 10meg download for JBoss Transactions just no good?<br>
><br>
> --<br>
> Gavin King<br>
</div>> <a href="mailto:gavin.king@gmail.com">gavin.king@gmail.com</a> <mailto:<a href="mailto:gavin.king@gmail.com">gavin.king@gmail.com</a>><br>
<div class="im">> <a href="http://in.relation.to/Bloggers/Gavin" target="_blank">http://in.relation.to/Bloggers/Gavin</a><br>
> <a href="http://hibernate.org" target="_blank">http://hibernate.org</a><br>
> <a href="http://seamframework.org" target="_blank">http://seamframework.org</a><br>
> _______________________________________________<br>
> weld-dev mailing list<br>
</div>> <a href="mailto:weld-dev@lists.jboss.org">weld-dev@lists.jboss.org</a> <mailto:<a href="mailto:weld-dev@lists.jboss.org">weld-dev@lists.jboss.org</a>><br>
<div class="im">> <a href="https://lists.jboss.org/mailman/listinfo/weld-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/weld-dev</a><br>
><br>
><br>
><br>
><br>
> --<br>
> Dan Allen<br>
> Senior Software Engineer, Red Hat | Author of Seam in Action<br>
> Registered Linux User #231597<br>
><br>
> <a href="http://mojavelinux.com" target="_blank">http://mojavelinux.com</a><br>
> <a href="http://mojavelinux.com/seaminaction" target="_blank">http://mojavelinux.com/seaminaction</a><br>
> <a href="http://www.google.com/profiles/dan.j.allen" target="_blank">http://www.google.com/profiles/dan.j.allen</a><br>
</div>> ------------------------------------------------------------------------<br>
<div><div></div><div class="h5">><br>
> _______________________________________________<br>
> weld-dev mailing list<br>
> <a href="mailto:weld-dev@lists.jboss.org">weld-dev@lists.jboss.org</a><br>
> <a href="https://lists.jboss.org/mailman/listinfo/weld-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/weld-dev</a><br>
<br>
_______________________________________________<br>
weld-dev mailing list<br>
<a href="mailto:weld-dev@lists.jboss.org">weld-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/weld-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/weld-dev</a><br>
</div></div></blockquote></div><br>