Does it all make sense now? Do you know how to solve every problem? Probably not, but when it comes right down to it, using Java EE can be even simpler than using Spring, and take much less time. You just have to find the right guides and the right documentation (which is admittedly a severe sore-spot of Java EE; the documentation is still a work in progress, but is getting much better, save blogs like this one.) You have to turn to a vendor like JBoss, or IBM in order to get the use-case driven documentation you need, and they do have documentation, it's just a matter of finding it.
Seam 3 in particular strives to give extensive user-documentation, hopefully making things much simpler to adopt, and easier to extend.
The main purpose of this article was not to bash Spring, although I may have taken that tone on occasion just for contrast and a little bit of fun. Both Spring and Java EE are strongly engineered and have strong foundations in practical use, but if you want a clean programming experience right out of the box - use Java EE 6 on JBoss Application Server 6 - JBoss Tools - and Eclipse. I will say, though, that the feeling I've gotten from the Spring forums vs the Java EE forums, is that there are far many more people willing to help you work through Java EE issues, and more available developers of the frameworks themselves to actually help you than there are on the Spring side. The community for Java EE is much larger, and much more supportive (from my personal experience.)
In the end, I did get my application migrated successfully, and despite these issues (from which I learned a great deal,) I am still happy with Java EE, and would not go back to Spring! But I do look forward to further enhancements from the JBoss Seam project, which continue to make developing for Java EE simpler and more fun.
Don't believe me? Try it out. Find something wrong? Tell me. Want more? Let me know what you want to hear.
Oracle provided the EC with a Java SE 7 specification request and
license that are self-contradictory, severely restrict distribution of
independent implementations of the spec, and most importantly, prohibit
the distribution of independent open source implementations of the
spec. Oracle has refused to answer any reasonable and responsible
questions from the EC regarding these problems.
In the phrase
"fail to uphold their responsibilities under the JSPA", we are referring
to Oracle's refusal to provide the ASF's Harmony project with a TCK
license for Java SE that complies with Oracle's obligations under the
JSPA as well as public promises made to the Java community by officers
of Sun Microsystems (recently acquired by Oracle.)
it should be noted that
the majority of the EC members, including Oracle, have publicly stated
that restrictions on distribution such as those found in the Java SE 7
license have no place in the JCP - and two distinguished individual
members of the EC, Doug Lea and Tim Peierls, both have resigned in
protest over the same issue.
By approving Java SE 7, the
EC has failed on both counts : the members of the EC refused to stand up
for the rights of implementers, and by accepting Oracle's TCK license
terms for Java SE 7, they let the integrity of the JCP's licensing
structure be broken.
The Apache Software Foundation concludes
that that JCP is not an open specification process
and finally, the EC is unwilling or unable to assert the basic power of
their role in the JCP governance process
In short, the EC and the Java Community Process are neither.
To
that end, our representative has informed the JCP's Program Management
Office of our resignation, effective immediately. As such, the ASF is
removing all official representatives from any and all JSRs. In
addition, we will refuse any renewal of our JCP membership and, of
course, our EC position.
Okay ! Java's privatized now...
What now ?
Thank god I moved off Java in time. Suddenly Oracle is the new Death Star, replacing Microsoft.
This is a sad, sad day in the Java community. I hoped that Oracle would back-peddle and realize the folly of their ways. Now Java will be to Oracle what .NET is to Microsoft and it will be the death of Java as we know it.
Posibly in few years we'll see Apache as a new Sun for "Java", followed by Eclipse, Google, etc... I hope this is a great movement done by Apache for the community. We'll see... The objetive of Oracle are Enterprises that cannot move from Java because of hight investments, it will earn a lot of money from them. Oracle ignores the community because is not going to pay for (expensive, as all the rest of Oracle products) licenses... We'll se...
The Apache Software Foundation has resigned its seat on the Java SE/EE Executive Committee. Apache has served on the EC for the past 10 years, winning the JCP "Member of the Year" award 4 times, and recently was ratified for another term with support from 95% of the voting community. Further, the project communities of the ASF, home to Apache Tomcat, Ant, Xerces, Geronimo, Velocity and nearly a 100 mainstay java components have implemented countless JSRs and serve on and contribute to many of the JCPs technical expert groups.
We'd like to provide some explanation to the community as to why we're taking this significant step.
A web site building an open community dedicated to enabling Java as a first class development and runtime environment for .NET. A Java 5 JDK for .NET is provided.
As Eclipse plug-in and Rich Client Platform developers, we face unique challenges in how we structure and execute our unit tests. In this article, I suggest an approach to unit testing based on Eclipse fragments that can help us overcome these challenges. If you find yourself frustrated with your current plug-in testing options, read on!
But before going into detail on a fragment based solution, let's examine the current approaches and the pros and cons associated with each. The first approach is the one most of us start with as we learn the ropes of plug-in development: placing all code in a single plug-in.
"
GlassFish V3 has improved the way to front GlassFish with Apache HTTP Server. Unlike the V2 way where users had to copy tomcat-ajp.jar and commons-*.jar, you can just enable mod_jk in V3 using the network-listener's attribute "jk-enabled" without copying any additional jars into its lib directory. You can also create jk-connectors under different virtual-servers (not just default virtual-server "server" in V2) using the network-listener's "jk-enabled" attribute. "
JRockit is an alternative to the standard Sun/Oracle/OpenJDK JVM. It was developed by BEA, primarily to provide better performance for users of BEA's Websphere. JRockit was previously a commercial product. This article explains that JRockit is now free, released under the Binary Code License - the same license Sun used to publish the J2SDK under.
In case you upgrade to Java 7, remember that you may have to reindex, as the
unicode version shipped with Java 7 changed and tokenization behaves
differently (e.g. lowercasing).
Unfortunately it contains hotspot compiler
optimizations, which miscompile some loops. This can affect code of several
Apache projects. Sometimes JVMs only crash, but in several cases, results
calculated can be incorrect, leading to bugs in applications
Recently I decided to get up to speed on at least one rich client platform for a project we had. Over the years I had come across references to Eclipses RCP and Netbeans RCP so I started with those two.
"
The primary purpose of the JcrCollectionAdapter class is to equip a stand-alone Atom server with a JCR repository for storage. However, with a bit of tweaking the class can also be used to provide an Atom interface to an existing CRX repository: a simple way to get things running is to leave the existing CRX Quickstart untouched and connect to the repository through RMI. RMI is disabled by default, but on CRX's Knowledge Base is an article how to enable it. "
"
Further talk about the overall approach to REST access in the Guvnor project expanded from the JIRA issue, ad hoc discussions on the dev list to Jevis Liu's "AtomPub Interface for Guvnor" proposal on the Drools community wikI. Taking off from where Michael Neale's original "Guvnor AtomPub Interface" started in 2008 and expanding into categories, metadata and other return types, this page became a rough, but working implementation specification.
"
The NEWS analysis specifies that, "Copyrighting a code that performs a special function is one side; it's other side that the proprietary metadata designs the program code and describes what it is suppose to perform."