TheServerSide.com newsletters are designed to bring the most important news from the J2EE industry to your door, along with providing you with exclusive J2EE articles and advanced topics not found anywhere else. Our newsletters will also keep you informed with what's new on TheServerSide. Newsletter mailings will be infrequent, a monthly basis. Instructions for unsubscribing are at the end of this newsletter. This newsletter is printer-friendly, and viewable online
IN THIS ISSUE
J2EE Industry
·J2EE and Web Services, cutting through the confusion
Enterprise Java Education Strategies
· How to get your J2EE project started on the right foot.
Architects Corner
· An Approach For Building Scalable, Available and Recoverable Applications
Conference Watch
· International. Conference for Java Development
Advanced Techniques in EJB Programming
· Observer Pattern - An Enterprise Java Bean Implementation
· Message-Driven Beans and Encapsulated Business Rules
· HIGH/LOW Singleton+Session Bean Universal Object ID Generator
Application Server Reviews
· Visual Age and Websphere - IBM responds
Latest News Headlines From the J2EE Industry
J2EE INDUSTRY
J2EE and Web Services, cutting through the confusion
by Floyd Marinescu, Senior Enterprise Architect, The Middleware Company
What are Web Services? Put simply, Web Services are a standard way for a company to programmatically expose its business services on the internet using standard protocols and message formats. Wait a second, wasn't that what JNDI, EJB and JMS were designed for? Yes, JNDI provides a directory of a business' services, while RMI/EJB and JMS can be used to invoke those services over the internet. The key point here is that whereas JNDI, EJB and JMS are usually callable by Java programs, Web Services allow your business logic to be invoked by any client that can communicate with XML over HTTP.
Surpassing Wireless, Web Services have become the new king of hyped buzzwords. Microsoft, IBM, Sun and HP have engaged in fierce marketing battles to be recognized as the defacto platform for Web Services Development.
In particular, with all the Web Services hype and .NET saber rattling from Microsoft, J2EE developers and vendors have been putting pressure on Sun to provide Java interoperability with industry backed Web Services initiatves and technologies such as UDDI, ebXML, Soap, XP, etc. Sun responded to this pressure with a peculiar dichotic strategy. One strategy from Sun's Sales and Marketing department, and one from its Java technical wing.
On Feb 6, Sun announced its new new Web Services strategy: Sun One (Open Net) Environment. Unfortunately, Sun One was NOT a new Java API, toolkit, Web Services technology or Microsoft .NET competitor. It was basically all of Suns product offerings (Forte, IPlanet, Solaris and hardware) repackaged with a Web Services spin.
Sun's solution to Web Services was to buy the IPlanet J2EE server, develop with Forte and deploy on a Sun Solaris box. That's nice to know, but how will I be able to use J2EE to build Web Services?
Luckily, Sun's other half had a real plan for Web Services support with J2EE. Only 2 days later, Sun posted a draft proposal for JSR 101: Java API's for XML based RPC. This, combined with the recently submitted JSR: Java API for XML Registries, and the older JSR 67: Java API for XML Messaging were the first steps in defining complete J2EE Web Services integration.
The Java API for XML registries (JAXR) would define standard Java APIs for interacting with existing industry initiatives such as UDDI and the ebXML registry. This would solve the same problmes as JNDI. That is, JAXR will allow java programmers to programatically find business services in remote registries, get their address and discover how to invoke them.
The Java API for XML Messaging (JAXM) defines standard Java APIs for interacting with ebXML, the XML replacement for EDI messaging. JAXM would be used like JMS on steroids, allowing automatic sending and receiving of XML messages (like an ebXML document) over HTTP. Using JAXR to find services and JAXM to invoke them asychronously, these two APIs would allow J2EE programmers to write traditional message-oriented-middleware (MOM) style applications using Web Services.
The Java API for XML RPC will allow standard java interoperability with SOAP and emerging W3C XP protocol. Similar to EJB, JAX-RPC will allow a computer to synchronously invoke a procedure/method on another computer over the internet by transmitting an XML document over HTTP. Using JAX-RPC, J2EE programmers will have the hooks they need to expose stateless session bean methods as sychronous remote procedures, invokable by any client (VB, Perl, C#, etc). Similary, any other distributed platform exposing a web service will findable by JAX-R and invokable by JAX-RPC.
It will be some time before Web Services development becomes real. Consortiums such as UDDI, OASIS and W3C are often slowed down by internal politics between members, and the speed at which JAX APIs mature will be limited by the speed at which these external consortiums can finalize their specifications. The good news is that Java developers won't be left in the dust. The JAX JSRs are the right first steps for making J2EE the defacto platform for Web Services implementations. Portability and interoperability between java vendors will be assured, despite the confusion created by proprietary Web Services platform campaigns such as Sun One Open Net and HP Net Action.
Back to Top
ENTERPRISE JAVA EDUCATION STRATEGIES
How to get your J2EE project started on the right foot
If you like the content of this newsletter, then you should know that the people who put all of this together are available to come on-site and help companies just like yours start their J2EE projects on the right foot.
In the past, The Middleware Company has helped companies by coming on-site and providing customized training in Java, XML, J2EE, EJB, and EJB Architectural Issues. Our courses are 5 days long, seminar-style courses combined with lab exercises (50/50). The seminars are interactive discussions, where students will have the opportunity to ask development questions (as well as engage in roundtable discussions) with one of the world's leading experts in middleware. Lab exercises are hands-on guerilla training, designed to get you up-to-speed with the technology as quickly as possible.
After training on-site, we can also stay and help your developers with architecting and first-pass implementation of your system, so that when we leave, your team will be well prepared to continue development or design and implement their own J2EE systems.
Visit The Middleware Company for more information.
ARCHITECTS CORNER
An Approach For Building Scalable, Available and Recoverable Applications
by Billy Newport, EJB Consultant
This article is intended to provide approaches on building a scalable application. The application could be a web application, an e-trading system or any OLTP application that requires good availability and scalability. The basic idea is to split your application in to two portions. One that is not OLTP and can be replicated across boxes. The second piece is the OLTP portion and this must usually work on a single machine for consistency reasons. We're basically looking for a 'break' in that we expect the majority of operations to be sent to the replicated portion. The 'patterns' articulated here show how to make each of these scale well and operate in the presence of failures. There is no rocket science here and it's all old fashioned stuff. But, it applies to EJB application just as it applied to previous technologies.
Read the rest of the article here.
Back to Top
CONFERENCE WATCH
International Conference for Java Development
Feb 28 - March 2, New York City
![]()
The International Conference for Java Development (Feb 26 - March 2) is hitting New York in 2 weeks. This conference is the first technical Java show to hit New York (most are usually held in California) and features the Java University and the most extensive J2EE/EJB technical track I have seen at any conference.
Check out the conference schedule.
Some of the awesome talk titles presented:
Architecting a Content Delivery System using Java, XML, and WAP (Alex Chaffee)
Real-World Solutions Using EJB (Dave Young)
Enterprise Jini and Design Patterns for Adaptive Distributed Systems Architecture (Daniel Gill)
Automating Workflows with Enterprise Java: A Case Study (Derek Ferguson)
EJB Design Patterns and Optimizations (Ed Roman)
EJB Security (Larry Koved)
Advanced EJB Design Strategies (Floyd Marinescu)
Extreme Programming with EJB! (Jason Westra)
Using Java Reflection to Improve Enterprise Application Design (Michael Portwood)
How JMX Enables Flexible Administration of Java Systems (Tyler Jewell)
Check out the Conference Home Page.
Back to Top
ADVANCED TECHNIQUES IN EJB PROGRAMMING
Observer Pattern - An Enterprise Java Bean Implementation
By Greg Comeau, Senior Software Engineer at Webb Interactive Services, Inc.I recently needed an infrastructure that would allow an arbitrary number of Enterprise JavaBeans to observe changes to a collection of central business entities. The application environment in which I am developing consists of a number of EJB applications running on more than one host. All of the applications are designed to work together as a single, integrated suite. The database environment is distributed. A central store of data is shared by the entire suite while each application maintains a separate store of data that is specific to that application.
One part of the suite is responsible for accepting transactions from the outside world. Each transaction arrives in the form of an XML document. A typical transaction might require changes to the central data store as well as one or more application data stores. All changes must be done within the scope of a single transaction, i.e. if one application aborts the transaction then all participants must abort the transaction.
Also, there are some data constraints that cross application boundaries. It is possible for one application to abort a transaction because a change made to the central repository is unacceptable within the context of some application specific data. e.g. Application X may require that a customer has a fax number. If a transaction attempts to grant Customer A permission to use Application X and Customer A does not have a fax number then Application X must abort the transaction.It was the enforcement of these distributed data constraints that motivated my use of the observer pattern. Each application needs to observe changes in the shared repository as they occur -- and within the transaction in which they occur. If a proposed change to the shared data is unacceptable to any given application then the transaction must be aborted before the change is made permanent.
Click here to read the rest of this pattern.
Message-Driven Beans and Encapsulated Business Rules
By Cristina Belderrain, Software Architect, Organic, Inc.The use of generic, encapsulated business rules has already been recognized as a fundamental need in corporate application development. In response to such a need, some AI-oriented products have been morphing into Java rule engines, and some application server products have already shifted their development focus to declarative rules. So it seems appropriate to discuss a design pattern that may foster a broader use of encapsulated business rules.
For this to be true, the pattern must not be dependent on specific and often proprietary implementations. It must be simple but still leave room for further refinement. It must also adapt to distributed environments: the fact that corporate applications are becoming truly distributed can't be ignored anymore. Particularly, it should be easy to implement on the J2EE platform as this is becoming the preferred choice for developing distributed corporate applications.
Being so, this article starts by discussing a proto-pattern called Encapsulated Business Rules. For the sake of simplicity, the pattern will be described in terms of plain Java classes and interfaces. Then, in the Consequences and Related Ideas section a possible implementation using message-driven Enterprise JavaBeans (MDBs) will be discussed.
Click here to read the rest of this pattern.
HIGH/LOW Singleton+Session Bean Universal Object ID Generator
By Emmanuel SciaraUniversal Object ID Generator is a stateless session bean with a singleton java class accessor implementation of the HIGH/LOW primary key generation pattern. It is an Enterprise-ready, simple, performant, scalable, platform-independant EJB Primary Key Generator.
Click here to read the rest of this pattern.
Back to Top
NEW APPLICATION SERVER REVIEWS
IBM has posted a response on TheServerSide.com to various issues developers have raised regarding the Websphere and Visual Age enterprise development platform.
In the past, TheServerSide.com's review forums have seen official representation from many vendors such as Sybase, JBoss, Gemstone, SilverStream, Pramati, and BEA. I am glad that IBM is participating in the community and is listening to developers concerns here on TheServerSide.com.
From "IBM discusses VisualAge for Java 3.5 and WebSphere 3.5 review ":
I am the product marketing manager for VisualAge for Java and I, on behalf of the extended team, welcome the opportunity to discuss a recent review of VisualAge for Java 3.5 and WebSphere 3.5, located at http://theserverside.com/reviews/thread.tss?thread_id=2974
The subject review makes many valid points about the ease of developing applications using the combination of WebSphere 3.5.2 and VisualAge for Java 3.5.
We value the developer community input and we understand these issues. We are working very hard to ensure that the WebSphere runtime and VisualAge for Java tooling combination provides a world-class solution that is the number one choice for many customers.
Read the rest of the response here.
Back to Top
LATEST NEWS IN THE MIDDLEWARE INDUSTRY
9% of CIO's have adopted EJB as a development platform
According to a recent survey of 150 CIOs, only 9% of them have adopted EJB as a solution, with 14% using EJB partially and 16% still evaluating it. This supports my theory that EJB is still in a fast growing market and that the true large-scale adoption of EJB is at the tail-end of the Geoffrey Moore's scale, to which we are slowly but surely moving towards.
Click here to read more.
Borland announces Enterprise Studio Java Edition
Borland has announced an e-business development package, the Enterprise Studio Java Edition, a suite that includes Borland JBuilder, Application Server, Rational Rose Modeler and the Macromedia Dream Weaver Ultradev IDE.
Click here to read more.
International Conference for Java Development in 2 weeks
The International Conference for Java Development (Feb 26 - March 2) is hitting New York in 2 weeks. This conference is the first technical Java show to hit New York (most are usually held in California) and features the Java University and the most extensive J2EE/EJB technical track I have seen at any conference.
Click here to read more.
IONA to offer complete Web Services support with iPortal XMLBus
Iona has announced that development is underway on its Web Services product called iPortal XMLBus. The new product will feature WSDL to describe Web services, UDDI integration for service registry, SOAP for invoking Web services, implemented as J2EE applications on the IONA iPortal Application Server.
Click here to read more.
HP to launch NetAction Web Services Suite
On teusday, HP will launch its Web Services strategy and offering called Net Action. This new offering from HP will spun as a competitor to IBM's Webservices, Microsoft's .Net and Sun's Open Net, and like Sun Open Net, will simply be a repackaging of HP's existing assets, including HP's Bluestone J2EE Total-e-Business product.
Click here to read more.
JDO Specification 0.92 and reference implementation available
The Java Data Objects (JDO) 0.92 specification has been released, with a limited functionality file-based reference implementation. JDO is an object-oriented interface to data stores such as relational or object databases. JDO allows truly transparent object persistence, and may one day be used as a replacement to EJB entity beans.
Click here to read more.
Back to Top
ABOUT THESERVERSIDE / UNSUBSCRIBE
If you are receiving this newsletter it is because you signed up as a member of TheServerSide.com and elected to receive our newsletters. To unsubscribe from TheServerSide.com's monthly newsletter, log on to TheServerSide and edit your user profile. Email webmaster@theserverside.com if you are having problems editing your profile.
About TheServerSide.com
TheServerSide.com J2EE community is brought to you by The Middleware Company. The Middleware Company is an advanced training and consulting company dedicated to server-side Java. The Middleware Company offers onsite training courses in Java 2, Enterprise JavaBeans (EJB), the Java 2 Platform, Enterprise Edition (J2EE), and the Extensible Markup Language (XML). They also aid in the design, development, and deployment of middleware solutions.
Visit The Middleware Company.
This newsletter and contents are Copyright © 2001 The Middleware Company LLC