Next-Gen Web Services

 
 
By Timothy Dyck  |  Posted 2003-03-31
 
 
 

Next-Gen Web Services


Web services technology has become the universal glue for keeping the pieces of large distributed systems together. Theres been tremendous progress on this front, and two cutting-edge tools from Systinet Corp. and BEA Systems Inc. push SOAP 1.1 just about as far as it can go.

Systinets WASP (Web Applications and Services Platform) Server for Java 4.5 and the complementary WASP Developer 4.5 began shipping earlier this month, providing the most comprehensive set of tools for developing, securing and managing Web services that eWeek Labs has seen. We were impressed enough with Version 4.0 to award it our Analysts Choice designation, and the same goes for the updated Version 4.5.

Meanwhile, the BEA WebLogic Workshop 2.0 beta (available for free trial download from www.bea.com) takes Web services development—and, in fact, Java Web application development—in a whole new direction.

BEA WebLogic Workshops visual programming model, XML-based parameter lists and from-the-ground-up Web services integration make it extremely easy to write sophisticated Web service-based applications, including those with message queuing and asynchronous communication.

However, Workshops applications run only on BEAs WebLogic application server. In addition, its high-level approach will probably frustrate experienced Java developers who are now writing WebLogic applications as much as it delights Web page design and Web scripting developers who have had little exposure to Java application server coding.

Developers who are using a Java IDE (integrated development environment) will like Systinets Java- centric data model and its familiar stubs generation/deployment/test cycle. Developers using products such as Macromedia Inc.s Studio MX or writing in higher-level languages such as Visual Basic will find Workshops focus on immediate productivity, as well as its almost complete lack of repetitive boilerplate code, refreshing.

While the creators of development tools and languages were the early adopters of Web services technology, data providers are riding the next big wave of Web services adoption.

All the major databases already support SOAP-based queries through add-on packs; by next year, this support will be deeply integrated into products through adoption of XML-based query languages, the natural counterparts to the XML-based SOAP.

The same is happening with packaged applications, which are gratefully planning the deprecation of proprietary, language-specific APIs in favor of Web services.

Even with some growing pains still ahead, SOAP and XML are already the leading technologies for one-to-many data integration projects, particularly with smaller or newer companies that havent invested in EDI (electronic data interchange) or when the scale of the integration project precludes EDIs heavy hand.

The T-Mobile International AG case study outlines how the telecommunications company uses Web services to aggregate content services for its mobile phone users and to integrate related billing and localization information with content providers.

In another example thats almost business-to-consumer in scope, Amazon.com Inc. uses Systinets C++-based Web services server to provide access to its catalog and order- processing APIs for the host of Amazon.com associates selling Amazon products from their Web sites.

Lightweight, simple, ubiquitous, Web-friendly and well-tested, SOAP is—if not quite a mature adult yet—certainly old enough to be trusted with the family car. And both WASP and WebLogic Workshop show just how far the current version of SOAP can go.

WASP Server, Developer


WASP Server, Developer

The first thing eWeek labs noticed about the WASP Server for Java and WASP Developer products was their interoperability—both in terms of the tools and servers they work with and their ability to exchange Web services information with other servers.

This is the package to get for mixed Microsoft Corp. .Net and Java shops or as an embedded component of a cross-platform software application. The Systinet WASP platform offers excellent .Net interoperability, allowing us in tests to transfer complex types such as collection classes HashSet and ArrayList.

New in this release of the WASP platform is integration with Active Directory (and thus access control list integration) and support for the Direct Internet Message Encapsulation protocol used by .Net applications to attach binary objects to SOAP (Simple Object Access Protocol) messages.

WASP can also authenticate using an LDAP directory or its own internal directory. Users can be authenticated by password or X.509 certificate and by Simple Public Key Mechanism, HTTP basic authentication, HTTP digest authentication, Secure Sockets Layer authentication, Kerberos and SOAP digital signatures (used by Web Services-Security).

The WASP platform supports HTTP and HTTP Secure transport protocols, but it also can use e-mail, file transfer and message queuing as ways to transmit and receive SOAP messages.

WASP also offers advanced Java features, including a new option for instantiating and transparently accessing remote objects using SOAP (rather than doing explicit remote procedure calls to a Web service). "Remoting" automatically adds session headers to SOAP exchanges to ensure that a stateful connection between the client and server object is transparently maintained. Until now, eWeek Labs has seen this kind of automatic state handling only with BEA WebLogic Workshop.

The WASP platform is priced very attractively—but then, it needs to be, because most application servers now provide built-in Web services features. WASP Server for Java is free for single- CPU boxes and costs $2,000 per CPU after that. WASP Developer is free, period. Given the monitoring; performance measuring; and declarative, highly granular security features the server provides (features that are substantially better than what Java vendors or Microsoft provide in their servers), we think the purchase price is fully justified.

The server product runs on every major Java application server and some minor ones as well and can also run in stand-alone mode.

Our biggest wish is that the server wasnt Java-only, as wed love to deploy .Net-based Web services to it. (Systinet also sells WASP Server for C++.)

WASP Developer plugs into the top three Java development tools: Borland Software Corp.s JBuilder, IBMs WebSphere Studio Application Builder and Eclipse, and Sun Microsystems Inc.s Sun ONE Studio and NetBeans.

We used Sun ONE Studio 4 Enterprise Edition for our tests. WASP Developer adds right-click menus and its own objects directly into Sun ONE Studios object tree (see screen). Generating a Web services wrapper for our own classes was a matter of just a few clicks and selection of the methods we wanted to publish.

Developers can also generate client-side stubs from a WSDL (Web Services Description Language) file with a choice of how returned data should be accessed—with getters and setters or as Java structures. There is full UDDI (Universal Description, Discovery and Integration) support as well.

WebLogic Workshop


WebLogic Workshop

The BEA WebLogic Workshop 2.0 beta shows that BEA is serious about competing with IBM, Sun and Microsoft, all of which have full development tools to match the features of their application servers. The BEA beta was released in early March, with final code expected to ship in the second quarter.

The only way to get Workshop is to subscribe to BEAs developer tools subscription plan: either $599 or $4,659 annually for developer copies of all BEAs tools and servers. The higher-end plan also includes Borlands JBuilder WebLogic Edition, a tacit sign that Workshop will not be able to provide all the functionality that WebLogic developers might need.

Although it creates numerous EJBs (Enterprise JavaBeans) behind the scenes, Workshop doesnt support the direct developer creation of session or entity EJBs—Workshop operates at a higher abstraction layer and doesnt expose the inner workings of Java 2 Platform, Enterprise Edition.

As with WASP Developer, Workshop supports .Net complex data type interoperability (such as with collection classes).

Workshop is an ideal tool for rapid Web service development. It uses clear graphical visualizations to show what parameters are being passed in and out of a Web service and what variables are declared locally (see screen). It uses Javadoc comments extensively as metadata for its precompiler, a system that saves enormous numbers of lines of boilerplate code.

We had to write almost nothing but pure business logic in our methods (although variables still need to be declared). Queuing or asynchronous behavior is a matter of setting method attributes; parameter XML naming and order is controlled through an XML-based template created for each method based on its Java parameters.

In the code editor, background Java compilation automatically highlights syntax errors with red squiggly underlines—a nice touch.

This release adds the ability to create JSP (JavaServer Pages)-based Web front ends for back-end data. Workshop takes extensive advantage of JSP tag libraries to create data-bound controls that dynamically generate matching HTML at run-time. Generated applications use a model-view-controller architecture that, deep under the covers, is using The Apache Software Foundations Struts application framework.

BEAs portal and data integration servers have special support as a target application type and back-end data source, respectively.

West Coast Technical Director Timothy Dyck can be reached at timothy_dyck@ziffdavis.com.

Most Recent eWEEK Labs Reviews:

Search for more stories by Timothy Dyck.

Executive Summary


: Systinet WASP Server for Java 4.5">

Executive Summary: Systinet WASP Server for Java 4.5

Usability Good
Capability Excellent
Performance Good
Interoperability Excellent
Manageability Excellent
Scalability Good
Security Excellent

WASP Server and its matching development tools provide a top-notch Java-based Web services package that works with all major Java application servers. It is cutting edge in its Web services support and is easy to integrate into existing Java projects. This version adds extensive interoperability features that .Net/Java shops should check out.

COST ANALYSIS

Systinet WASP Server is reasonably priced: free for single-CPU machines and $2,000 per CPU after that. Development tools are free as well.

(+) Supports all the popular Java application servers and Java development tools; supports HTTP, e-mail, file transfer and message queuing transports; strong security; Active Directory authentication and complex object transfer with .Net Web services; object remoting using SOAP.

(-) Works only with Java and requires solid Java skills (a C++ version is sold separately).

EVALUATION SHORT LIST

  • The built-in Web services tools found in leading Java IDEs from Borland, IBM and Sun
  • www.systinet.com/products/wasp_jserver/overview

    Executive Summary


    : BEA WebLogic Workshop 2.0 Beta">

    Executive Summary: BEA WebLogic Workshop 2.0 Beta

    BEA WebLogic Workshop provides an easy-to-use and well-integrated Web services development platform for Java developers. This version significantly broadens the focus of the tool to include Web forms design and business logic development, although it does not address the demands of EJB developers. Those using BEA WebLogic Server will find it a big productivity booster.

    COST ANALYSIS

    The WebLogic Workshop tool (licensed on a subscription basis) is quite inexpensive. However, the required WebLogic Server definitely does not come cheap—expect to spend tens of thousands of dollars. Unless WebLogic Server is already in place or on the road map, Workshop is not compelling.

    (+) Highly integrated development environment for Web service and Web form development (the latter is new in this release); support for both synchronous and asynchronous Web services.

    (-) Requires BEA WebLogic Server to run generated applications; doesnt support the direct creation of session or entity EJBs.

    EVALUATION SHORT LIST

  • Mainline Java development tools
  • Macromedias Studio MX
  • Microsofts Visual Studio .Net
  • www.bea.com/framework.jsp?CNT=index.htm&FP=/content/products/workshop

  • Rocket Fuel