Newsletter sign-up
View all newsletters

Enterprise Java Newsletter
Stay up to date on the latest tutorials and Java community news posted on JavaWorld

Sponsored Links

Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs

Web services creation made easy

BEA WebLogic Workshop 8.1 beta insulates developers from J2EE trials and tribulations

  • Print
  • Feedback

BEA WebLogic Workshop is a combination development/runtime environment, very much in the spirit of IBM's WebSphere Application Developer. But WebLogic Workshop exclusively generates J2EE (Java 2 Platform, Enterprise Edition) applications, and it operates at a dizzying level of abstraction compared with similar tools. Whereas J2EE was all about abstracting low-level entities such as database rows and message queues, WebLogic Workshop is all about abstracting J2EE.

The premise is sound. The density of J2EE APIs is daunting, so why not make a tool that allows the developer to concentrate on request/response conversation content, database access, and business logic, then let the tool worry about conversation structure and protocol, EJB (Enterprise JavaBeans) deployment descriptor syntax, the ocean of API method calls, and so on? Such is the aspiration of WebLogic Workshop.

It succeeds reasonably well. I found I could build a complete J2EE application without once making face-to-face contact with an EJB component or a servlet. Workshop allowed me to work on the inside—where everything important was happening—while it took care of the outside, the interfaces, and the connections. It was a relief to create a J2EE application without having to enter the maze of J2EE documentation.

Zeroing in on Web services

WebLogic Workshop focuses its capabilities on the creation of Web services and Web services clients. Workshop includes a development-server version of the WebLogic application server, so services and clients can be tested virtually the instant they're created. Workshop includes a kind of test-bed browser that allows you to exercise a service even before a client has been built.

Workshop's power derives from two bits of magic: one conjured in the development phase, the other at execution time. In the development phase, the magic is Javadoc annotations—formalized comments that season IDE-generated source code. These annotations are read by the runtime framework prior to application deployment and guide the instantiation of infrastructure plumbing in the form of EJB components (plus an incidental servlet) that support a Web service's nonbusiness-logic behavior. This instantiation occurs only when you're developing and testing from within Workshop. You must perform a separate, explicit compilation to create an EAR (Enterprise Archive) for deploying on a production server.

At execution, the magic is the Java Workshop's runtime framework, a container riding atop the WebLogic application server and hosting infrastructure EJB components. Each EJB component is responsible for a specific set of Web service support activities. These infrastructure beans are assisted by a servlet and a message-driven bean, the former accepting HTTP requests for Web services and the latter accepting requests on incoming JMS (Java Message Service) message queues. At all times, the developer is blissfully unaware of this engine running under the hood.

To be sure, the developer is blissfully unaware of nearly all J2EE low-level nuances. Discussion of transactions, transaction management, state, and session management are topics treated lightly—or not at all—in the Workshop documentation. The runtime includes its own internal transactions that guard the information passed among the runtime framework's EJB components. But it's all invisible. Similarly, stateful exchanges between a client and a Web service are handled by a stateful session EJB component—again instantiated and managed invisibly.


  • Print
  • Feedback

Resources