Comments
Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud. We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
Cloud Expo on Google News

SYS-CON.TV
Cloud Expo & Virtualization 2009 East
PLATINUM SPONSORS:
IBM
Smarter Business Solutions Through Dynamic Infrastructure
IBM
Smarter Insights: How the CIO Becomes a Hero Again
Microsoft
Windows Azure
GOLD SPONSORS:
Appsense
Why VDI?
CA
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
ExactTarget
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun
Sun's Incubation Platform: Helping Startups Serve the Enterprise
POWER PANELS:
Cloud Computing & Enterprise IT: Cost & Operational Benefits
How and Why is a Flexible IT Infrastructure the Key To the Future?
Click For 2008 West
Event Webcasts
What Is a Java Application Server
What Is a Java Application Server

Application servers are not new. Many information systems, from mainframe transaction processing environments like CICS to the stored procedures of a DBMS, provide for the server-side execution of business processes. Running business logic on a server can improve security, managability, performance and reusability. With the explosive growth of intranets and the Internet, developers need a rich, flexible server to host their business applications---a server that complements the content from databases and Web servers.

As a platform, Java raises the bar for application servers. A Java application server marries the benefits of a robust, scalable application server with the expressive power and dynamism of the Java platform. Java's bytecode-based Virtual Machine allows objects, including both code and data, to be exchanged among heterogeneous systems. This means that rather than making an RPC call or sending a message composed of ints and structs to a server, a stock trading application can send a high-level business object like Order to a remote business component like Trader. Moreover, Java's dynamism allows applications to be partitioned and repartitioned at runtime by relocating a service component from one machine to another.

When it comes to deciding how to partition an application between the client and server(s), developers need flexible tools that best meet the needs of the problem at hand. For example, when performing an ad hoc query, you need database access directly from the desktop. But in a "thin-client" application, you want to hide the DBMS operations behind a set of reusable server-side business processes. Certain applications will require synchronous request-response between components (JavaBeans) or objects (RMI), while others are better organized using asynchronous communications like event publication and subscription, or point-to-point messaging. Just as developers use different kinds of collections for different kinds of data (e.g., Hashtable, Vector and Set), they also need a set of off-the-shelf tools (Remote Method Invocation, Events, Distributed JavaBeans) for tackling application communications.

Besides code mobility and partitioning, developers want to use Java-blessed programming models: database access via JDBC, name and directory services via JNDI, distributed objects via RMI and Enterprise JavaBeans, Web server plug-ins via Servlets, and event management and messaging via JMS. Merely wrapping a proprietary C/C++ API with Java won't cut it. Nor will inventing yet another set of non-portable proprietary APIs. Developers want to use Java industry-standard APIs so that the skills they learn on one project will be transferable to other projects and the code they write will run wherever there's a JVM.

Given that a developer should be able to assemble an application using best-of-breed products, a Java application server must be compatible with a diverse range of complementary technologies. It should work in harmony with leading Web servers and database management systems, and across heterogeneous Java platforms. The server should also work with major Integrated Development Environments (IDEs); it should not require the adoption of an IDE that is proprietary to the application server.

Standards and portability don't stop at the server. GUI building technology used for multitier applications should use standard widgets and JavaBeans - not yet another proprietary set of widgets. Any automatically generated Java code should be accessible for further customization so that you can tweak it, should you choose to, and not worry about getting out of sync with the tool.

Finally, a Java application server should provide an integrated management environment that offers a comprehensive view of the application and the server. Transaction semantics must be built in to ensure data integrity even across distributed components, and the Java application server must address network security using SSL and access control lists. The server should also allow access to the broadest number of clients through standard protocols like HTTP and IIOP. And in the end, a Java application server should be written entirely in Java so that it is portable, it can be easily embedded within value-added applications and so that new Java-native capabilities can be delivered rapidly to market.

This is a tall order. Java has been out of beta for about two years and many of the products and applications written in it have been servlet and applet plug-ins to non-Java systems rather than full-blown production applications. The time for the all-Java application server is now, and developers should demand nothing less in the server than the Java API standards, stability and robustness they require in the client.

About Scott Dietzen
Scott is widely credited with helping put together the J2EE standard, launching the Web application server category, launching the Java Community Process, and driving the Web services collaboration with Microsoft and IBM. Prior to Zimbra, Scott was CTO of BEA Systems where he was the principal architect of the technology strategy for the WebLogic product family.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Latest Cloud Developer Stories
Swisscom, the Swiss telecom, is going into the cloud business. Its subsidiary Swisscom IT Services AG has signed up with Red Hat as a Certified Cloud Provider and launched a public cloud Infrastructure-as-a-Service (IaaS) cloud targeting enterprise-class customers primarily in ...
Apache Deltacloud, the Red Hat-contributed ReSTful API that abstracts differences between clouds so services on any cloud can be managed – provided of course there’s a driver – has graduated from the Apache Foundation’s incubator and is now a full-fledged Top-Level Project (TLP)....
In a surprise move on Tuesday, January 10, Oracle wheeled out its Big Data Appliance. That’s the one it said in October would be ready sometime in the first half. Only nobody believed it meant early in the first half. Heck, it’s not even clear anybody thought Oracle could make ...
Rackspace Hosting, the service leader in cloud computing, on Thursday announced its acquisition of SharePoint911, an industry leader in SharePoint consulting, training, and "JumpStart" services within SharePoint. The unification of both companies provides capabilities to deliver ...
Wyse Technology, the global leader in cloud client computing, on Thursday announced it's working with Microsoft to market school IT labs and one-to-one computing solutions that allow a cost effective delivery of innovative IT enabled education. These solutions are available throu...
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
ADS BY GOOGLE

Breaking Cloud Computing News