YOUR FEEDBACK
Brian Vicente wrote: Where are listing 3 and listing 4?


2008 East
DIAMOND SPONSOR:
Data Direct
Frontiers in Data Access: The Coming Wave in Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
Intel
Virtualization – Path to Predictive Enterprise
Green Hills
IT Security in a Hostile World
JBoss / freedom oss
Practical SOA Approach
GOLD SPONSORS:
Software AG
The Art & Science of SOA: How Governance Enables Adoption
PlateSpin
Effective Planning for Virtual Infrastructure Growth
Fujitsu
Automated Business Process Discovery & Virtualization Service
Ceedo
Workspace Virtualization
Click For 2007 West
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
TOP THREE LINKS YOU MUST CLICK ON


Under the Hood of a J2EE Application Server
Under the Hood of a J2EE Application Server

I recently had the opportunity to talk with many Java users about the current release and their general experiences with the platform. One of those developers told me that he didn't use J2SE but his J2EE VM sometimes caused problems.

Now most of you know that there is no such thing as a J2EE JVM. From my own experience with J2EE application servers, many do a good job hiding this from you. It can be difficult to work out which version of J2SE you are using, let alone know that J2SE is behind the scenes.

In this issue we are focusing on J2EE. If you are a core J2SE developer, there are some great tips and techniques that apply equally to J2SE and J2EE.

As a quick refresh, the J2SE platform contains the Java runtime and many of the core libraries that are used in your J2EE application. The Java runtime also contains client-side classes such as Swing. If those classes are not referenced by your application (which is normally the case), then they're not loaded at runtime. To compile Java programs use the javac compiler, which can be redistributed with the Java runtime and is also available in the Java developer kit.

One of the key technologies is the core XML library. In J2SE 5.0, the JAXP 1.3 library is bundled and includes support for XML 1.1, DOM Level 3, and SAX 2.0.2.

One new library in J2SE 5.0 that should be familiar to you is the addition of the Java Management Extension, JMX. JMX has been used in J2EE to monitor and manage J2EE applications using MBeans. The JMX framework has been extended in J2SE 5.0 with a remote interface and also has some system MBeans and a mini MBeanServer that can be used to monitor low memory conditions. This same monitoring information is published via the SNMP protocol as well.

The other side of monitoring is application profiling. The core technology here has been JVMPI, the Java profiling interface. JVMPI is still supported in J2SE 5.0 but is superseded by the new JVM TI tools interface, which provides finer-grained and less intrusive profiling. Your existing profiling tools will require updates to support the JVM TI interface, but the benefits of improved profiling will repay the investment in newer tools.

The support for network-aware distributed objects is also provided in J2SE using technologies such as RMI, JNDI, and CORBA. There have been minor increments in J2SE 5.0 for each of these technologies. One change that makes J2EE developers' coding a little easier is that RMI no longer needs a separate stub creation step.

The Java language changes, of course, apply to J2SE and J2EE and the same javac compiler is used to build both types of applications. Later releases of J2EE will be able to take advantage of features like metadata to automate many tasks, including generating deployment descriptors.

For those developers who use JavaServer Pages, the newer javac compiler will work as before. There was a proposal to increase the maximum method length due to some side effects from some of the early JSP implementations. The 64K restriction still exists but modern JSP compilers no longer run into that barrier.

Another area that is easy to overlook is database access. The JDBC framework is again delivered in J2SE. In J2SE 5.0 the addition of implementations for disconnected rowsets allows you to pass rows from your database and manipulate them without needing to maintain a live database connection. This technology even allows you to convert the database results to XML, provide updates using XML, and then resynchronize those changes at a later time.

It shouldn't be a surprise that the Java runtime is also responsible for the compilation of bytecodes and the threading framework. Many existing J2EE application servers provide support for a thread pool. In J2SE 5.0 the concurrency library also provides a choice of user space thread pools, which are portable across application servers.

J2EE application servers will also be able to provide more control over worker thread tasks by taking advantage of the new future tasks.

What does this mean for J2EE application developers? Well, regardless of the frameworks you use, J2SE 5.0 is going to bring two waves of improvements.

The first wave is updates to the libraries, such as XML, that are used by J2EE in the core platform. The second wave is to then exploit the advantages of the new features by the J2EE 5.0 platform and its components. I'm sure you'll agree that there is plenty to look forward to whether you consider yourself a J2EE developer, J2SE developer, or both.

About Calvin Austin
A section editor of JDJ since June 2004, Calvin Austin is an engineer at SpikeSource.com. He previously led the J2SE 5.0 release at Sun Microsystems and also led Sun's Java on Linux port.

YOUR FEEDBACK
noname wrote: With a title like Whats under the hood of a J2EE AppServer I was expecting some system-level details about J2EE AppServers...not whats new in JDK5
LATEST JAVA STORIES & POSTS
Unit testing is hard. There I said it. Although I have been developing software for the past 18 years I still find that putting my applications through their paces via unit testing is difficult. I have learned the lesson (I'm sure like many of you) the hard way. Unit testing is p...
Continuent has announced support and enhancements to MySQL Server 5.1.30 GA release, the 5.1 production version of the open source database. MySQL 5.1.30 is recommended for use on production systems by the MySQL build team at Sun Microsystems. Continuent Tungsten provides advance...
As a software journalist, there are times when certain vendors will shut the door on reporting opportunities that might represent too much of an "inside view" of their technology or their organization. I've been to more developer events than I can remember where I've been handed ...
Active Endpoints has announced the general availability of ActiveVOS 6.0.2, in response to ever increasing demands for improved process performance and efficiencies. ActiveVOS is an all-in-one, 100% standards-based orchestration and business process management system (BPM) that p...
Just because the web has been open so far doesn't mean that it will stay that way. Flash and Silverlight, arguably the two market-leading technology toolkits for rich media applications are not open. Make no mistake - Microsoft and Adobe aim to have their proprietary plug-ins, ak...
Doing network I/O on the user interface (UI) thread is bad. Most developers know that and can tell you why; unfortunately, it’s still done. At this year's JavaOne, one of the keynote JavaFX demos bombed because the network was slow, something that would be forgivable had the en...
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON FEATURED WHITEPAPERS

SPONSORED BY INFRAGISTICS
In every field of design one of the first things students do is learn from the work of others. They ...
There are many forces that influence technological evolution. After a decade of building enterprise ...
2008 is going to be an important year for Rich Internet Applications. Most organizations are deliver...
The OpenAjax Alliance is developing an Ajax industry wishlist for future browsers, using a dedicated...
Infragistics announced the availability of two Community Technology Preview (CTP) User Interface (UI...
The YUI development team has released version 2.5.2; you can download the new release from SourceFor...
ADS BY GOOGLE