New York University

Computer Science Department

Courant Institute of Mathematical Sciences

 

WebSphere by IBM

 

Course Title: Application Servers                                     Course Number: g22.3033-011

Instructor: Jean-Claude Franchitti                                              Session: 7

 

Summary

IBM markets two different application servers under the name “Websphere.”  The version we evaluated, called the Standard version, provides a servlet-based capability for integrating Web servers with a legacy environment.  Currently, it runs only on AIX and Windows NT.

The Standard server is a middle-tier “connection manager” that includes a “servlet engine.”  It is intended for use with third-party Web servers (Netscape Enterprise Server, Microsoft IIS).  Based on the HTTP request type from a Web server, it executes one or more Java servlets to satisfy the request. The Standard server maintains a pool of JDBC connections, so that a Web request does not incur the overhead of opening and closing database connections. 

The Standard server is reminiscent of a first generation of Web application server (circa 1994-1996) whose primary “value-add” was this intermediate connection management.  Its other main feature, the servlet engine, does not seem very useful anymore, because most commercial Web servers now either include servlet capability, or they can be extended to include servlets by using Livesoftware JRun or a similar product.

The second product, the Advanced server, includes all the Standard server features, as well as a full implementation of Enterprise Java Beans (EJB) 1.0.  The server implementation is based on the existing middleware framework and tool-set for the IBM CORBA product, Component Broker.  IBM’s strategy seems to be adding a “Java layer” to the core Component Broker product, thereby taking advantage of existing Component Broker features.  For example, Component Broker’s Object Transaction Service (OTS) implementation can be repackaged as a Java Transaction Service (JTS) implementation. 

In this architecture, a session bean is implemented as a Java layer on top of a Component Broker CORBA session.  Similarly, an entity bean is implemented on top of Component Broker mechanisms for DBMS access.  To quote the IBM literature:

“A C++ combination of a Business Object (BO) and Managed Object (MO)…implements the EJB’s remote interface.    A Java (TIE) object …acts as the liaison between the C++ MO and the Java Remote Method Invocation (RMI) bean implementation.    Each client request passes from the C++ BO/MO, to the TIE, to the [developer-provided] bean; responses flow similar from the bean, to the TIE, to the C++ BO/MO and back to the remote client.” [IBM whitepaper, “Deploying Enterprise JavaBeans in Component Broker”]

This approach carries over to the GUI development tools as well.  Object Builder, for example, is a tool for designing Component Broker objects and mapping them to RDBMS.  Apparently, it is being extended to allow design and mapping of EJB objects as well.

Conclusions

Webshere Standard version doesn’t have much to offer except as a passthru server to legacy applications.  However, the advanced server provides a valuable bridge between the Enterprise Java Beans and mainframe applications.

Platforms

AIX, Windows NT, Linux, Novel Netware Operating System, OS/390 release 5 and 6.

Pricing

Item

Cost & Basis

Notes

Advanced Server release 2.02

$6,000 per CPU

 

Evaluation Criteria

1.  Adherence to Standard

The Standard version uses a servlet engine to do DBMS connection management for HTTP access.  The relevant standards, therefore, are JDK 1.1 and JDBC 1.0.

The Advanced version aims at full EJB compliance.  Based on information provided by IBM, the product conforms to the following versions at present:

n             Java 1.1 (no committed date for Java 2.0)

n             JDBC 1.0 (no date for JDBC 2.0)

n             EJB 1.0  (no date for EJB 1.1)

The version of the Servlet Development Kit (SDK) used by Websphere also needs to be ascertained (the newest Sun standard is SDK 2.1).

Issues

 

Standard Version

Does it use the 2.1 SDK, with the new facilities for HTTP session management?

 

Does it use JDBC 2.0?

 

 

Advanced Version

What are the target dates for the following: Java 2.0-compliant JVM; EJB 1.1; JDBC 2.0; RMI; IIOP?

 

Will the Advanced version be able to use third-party JVMs?  IBM literature seems to recommend IDM-provided JVMs.  Are there compatibility issues with the Sun or Microsoft JVM?

 

 

Conclusion

Websphere seems to be behind some of the competition in terms of adherence to Java technology standards.  In the initial review meeting, IBM was not very forthcoming about the dates for compliance to Java 2.0 and the other important standards.  Unless we get a clearer picture here, the lack of commitment to 2.0 is a big disincentive to using the product, since we would have difficulty using the newest Java third-party tools and products on a Websphere platform.  Developers are likely to be unhappy about using Java 2.0 on the desktop, and Java 1.1 in the middle tier.

2.  Transaction Management

The Websphere standard version seems to include basic JDBC 1.0 capability.  It was not clear if IBM provided its own set of JDBC drivers for the popular RDBMS vendors.  (It does provide drivers for AIX DB2).  This is not a big issue, since typically one would use Type 4 (“native”) JDBC drivers, which are always provided by the vendor.

The Advanced version apparently has full EJB 1.0 transaction management capability, including support of entity beans and the JTS interface.  This is made possible by integrating with existing Component Broker transactional facilities, including the OTS implementation.  It was not clear from the initial meeting, or the IBM Web-site literature, whether JTA (a higher-level interface on top of JTS) is presently available.

Transaction performance was discussed briefly in the first meeting.  IBM quoted a figure of 1000 transactions per minute for a single Websphere Advanced application server, which translates into 16 transactions per second.  Further research will be required to determine what this figure means--e.g., we will have to understand the transaction types they used, the hardware platform, etc. 

IBM made clear that they have no immediate plans to merge Component Broker with TX/Series, their high-throughput product for transaction services.  Apparently they started out planning to do this but abandoned the effort.  They announced a merger of the two technologies as a long-term objective, over a period of “years.”  This means that, for high-throughput situations, load balancing among Websphere servers becomes critically important.

Issues

 

Standard Version

Does IBM provide JDBC drivers for the standard RDBMS vendors?

 

Are there any issues with integrating vendor-provided drivers?

 

 

Advanced Version

Is the JTA API available?

 

What are the throughput figures for TPC and other industry benchmarks?  In particular, what are the transactional characteristics of the IBM benchmarks?

 

What is the long-term strategy for TX/Series integration?

 

Has the reliance on Component Broker OTS led to any compromises/tradeoffs in implementing the EJB transaction management?  If so, should we set a high priority on verifying performance, by analyzing their performance figures and running our own benchmarks?

 

 

Conclusion

The Advanced server is an “after-the-fact” extension to the Component Broker architecture.  There is obviously a concern that IBM may have compromised on the Advanced implementation, since it is extension to a “legacy” CORBA design.  Compromises are particularly likely to show up in the area of transaction management.  Therefore, we should set a high priority on verifying performance, by analyzing their performance figures and running our own benchmarks.

3.  Vendor Extensions

The Standard server has a number of proprietary IBM extensions in the areas of servlet session management and database connection management.  The Advanced server is a much more recent product, and at present provides only the basic EJB 1.0 framework.  IBM apparently has not had the time to add much in the way of “value-added” Java classes and other tools.  Two areas, however, are worth further investigation:

n       Messaging/Asynchronous Notification - IBM provides a Java API for MQSeries, their transactional message system.  The Java classes for the API, however, are proprietary.  They do not yet support a Java Message Service (JMS) interface, which would allow developers a greater degree of message-vendor independence because the same Java code could talk both to MQ and to other third-party message products.

n       Security – The Standard server supports SSL and other standard Web-access security facilities.  In addition, the Advanced server provides the basic EJB 1.0 facilities for roles-based authorization (access control lists).  Component Broker is likely to provide additional facilities for authentication and other security features.  These should be investigated in more detail.

Component Broker supports a number of CORBA Services, including OTS, and possibly others as well.  Except for OTS, it is not clear whether there are easy-to-use Java interfaces for invoking these services [CHECK THIS].

Issues

What are IBM’s plans, if any, to extend the basic EJB facilities?

 

What is the full list of security management features for Websphere Advanced server sites?

 

Does IBM have plans to provide a generic JMS API for MQ?

 

 

Conclusion

The lack of a JMS implementation for MQ has to be investigated further.  There may be implementation reasons for this, or it may be that IBM simply has not gotten to it yet.

We should also get a clear understanding of security management issues and guidelines for Websphere sites.

4.  Application Development

IBM provides WebSphere Studio, a suite of loosely related front-end tools for HTML and Java GUI development.  The WebSphere Studio components fall into two general categories:

n       NetObjects products:  NetObjects Fusion (for HTML development); NetObjects Application Server Suite (for Web development work-group management); NetObjects Script Builder (for script development--JavaScript, VBScript, etc.).

n       IBM products:  Visual Age (for Java GUI desktop development); WebSphere Studio Workbench (for servlet development and Web file management).

In the initial meeting with IBM, they stated that the Advanced Server could also be readily integrated with third-party tools such as JBuilder and Visual Cafe, since it supports a full-feature API for EJB client access.

Issues

Do the WebSphere Studio tools use any features specific to the WebSphere server---i.e., can Java/HTML code developed using these tools be ported to other platforms?

 

Does WebSphere Studio have any special facilities for integration with version control tools?

 

What are the facilities for distributed debugging?

 

Are there any compatibility issues using third-party development tools, especially in complex application-server configurations using load balancing and other Performance Pack facilities?

 

Does NetObjects or IBM have any plans for including support for JSP development in their tool set?

 

 

Conclusion

It seems unlikely that there is any genuine integration between NetObject and Visual Age.  Since software development will be done in two different environments, this could cause a significant increase in the learning curve for developers.  Testing could be more difficult, and there could also be an impact on code reuse across browsers and desktop applications.  Further investigation in this area is required.

We also need to examine the portability of the Java/HTML code generated by the WebSphere Studio tools.

5.  Administration

Most of the WebSphere administration tools are specific to Internet site management (see the section on “Internet Integration”).  This is not surprising, considering that the Standard server is basically a “servlet engine” and not much more.

Websphere Advanced server also includes an “Enterprise Java Services” component, for administration and configuration of the EJB middle tier, including server initialization and deployment of EJB classes.

Load balancing and other services are provided by the WebSphere Performance Pack.  The degree of integration of Performance Pack with the new EJB extensions is currently under investigation [CHECK THIS FURTHER].

Issues

What are IBM’s plans for development of EJB-specific administrative tools?

 

Does Performance Pack allow full load-balancing of EJB services across multiple application servers?  In the initial meeting, IBM indicated this was the case.  The details have to be investigated.

 

Does the Advanced server support “non-stop” operation--i.e., allowing the deployment of new Java components without rebooting the server?

 

 

Conclusion

We will need a further investigation of Advanced Server operations, and EJB integration with Performance Pack.

6.  Internet Integration

WebSphere Standard server shows a high degree of Internet integration.  In addition to the servlet engine provided by the application server, there is a rich set of tools and facilities for Internet-site management.  These include:

n       Web content management – This includes versioning and link maintenance of Web content.

n       Site usage monitoring and analysis

n       Site security management

 

Issues

Are these facilities fully compatible with all third-party Web servers?

 

When will equivalent tools be available for EJB versioning and usage monitoring?

 

 

Conclusion

We need to get a better understanding of EJB integration, especially in the areas of security site management.

7.  Mainframe Integration

The outstanding strength of the WebSphere product is, potentially, mainframe integration.  IBM offers Java/WebSphere APIs for accessing several mainframe “bridge” products:

n       MQ/Series:  MQ is a transactional queuing system for message delivery that runs on Windows, UNIX, and the mainframe.  It provides guaranteed delivery of messages across platforms.

n       CICS Gateway for Java:  This is a lightweight “bridge” for CICS ECI and EPI access.

n       TX/Series:  This is IBM’s TP monitor product;  the old name for this is Encina.  It may [CHECK THIS] allow full commit/rollback transactional access to CICS/mainframe environments, using the SynchPoint II protocol.  In theory, it could support two-phase commit between mainframe DB2 and client-server RDBMS such as Oracle.

n       Connection framework.  At the initial meeting, IBM mentioned that they had implemented a “Connection” framework [CHECK THIS NAME] for WebSphere access to mainframe facilities. 

 

Issues

Is the new Connection framework “container independent”--i.e. will it run on other EJB server products?  The initial feedback is “no, it will not.”

 

Will the TX/Series, MQ/Series and CICS gateway APIs run on other EJB server products?

 

Does CICS Gateway allow for full control of mainframe CICS regions?  What are the specific limitations?

 

What are the throughput rates for mainframe access supported by the various IBM products?

 

 

Conclusion

WebSphere has a number of drawbacks for “mainstream” EJB development, as noted elsewhere in this document.  Even if we decide to use other EJB products, however, the Advanced Server is still a candidate for the specialized role of an EJB "gateway” to the mainframe, given IBM’s strength in mainframe integration.  In this scenario, we should further investigate the new Connection framework, as well as MQ/Series and Java CICS Gateway--as “bridge” products to be used in conjunction with the Advanced server for mainframe access.

We should also get a better picture of the Java/MVS environment, including Java APIs to legacy systems such as IMS and CICS, and integration with Component Broker on the mainframe.

8.  Interoperability

Interoperability is an issue in the following three areas:

n       LDAP -  the WebSphere product includes the Persistence Name Service (PNS), a proprietary directory service for JNDI access.  The IBM literature states that it is possible to integrate other name services, and mention a set of “Java helper classes” that make it easier to integrate special extensions/facilities of these services.  LDAP, however, is not specifically mentioned.

n       CORBA – Since the Advanced server is an extension of CORBA Component Broker, integration of EJB applications via Java IDL is obviously possible.  It’s not clear, however, whether IBM takes advantage of the close integration of the two products to provide additional facilities in this area--e.g., RMI IIOP integration, or EJB-to-CORBA object mapping that avoids the need for IDL.

n       DCOM – the CORBA 2.0 standard supports sophisticated IDL-to-DCOM mapping.  It is probable that integration of DCOM via Java IDL is achievable on Windows NT platforms.

 

Issues

What are the procedures for integrating PNS and LDAP access under a common JNDI name space?

 

When is the targeted date for implementation of RMI IIOP?

 

What are the exact procedures for CORBA and DCOM integration?

 

 

Conclusion

It’s likely that interoperability with LDAP and DCOM is achievable on a WebSphere platform.  The complexity of the procedures and the tool support for this need to be ascertained.  The nature of IIOP interoperability between EJB and CORBA also needs to be investigated.

9.  Third-Party Partnerships

It seems apparent that there is a close affiliation with NetObjects in the area of Web/HTML development.  The discussions of data management and JDBC integration in the IBM literature indicate a close relationship with Oracle (none of the other RDBMS vendors are mentioned).

Obviously, there is a complex partnership among a number of IBM units to produce the overall WebSphere environment.  The participants include:  the Component Broker developers; the Visual Age developers; various mainframe product groups; the Encina organization; the MQ group; the San Francisco group; the Tivoli group.

Issues

Is there a “WebSphere partnership program” for consultants and vendors?  If so, who are the members?

 

 

Conclusion

We should get a better sense of third-party vendors (if any) who have committed to building products and/or extensions to the WebSphere environment.

10.  Testing/Performance/Debugging

The Standard edition seems to have a rich set of facilities for debugging and resource monitoring of servlet applications.  Apparently, there are no equivalent facilities as yet for EJB applications.

Issues

Will IBM be adding trace/debug facilities for EBJ similar to those presently available for HTTP/servlet applications?

 

What facilities will be available for distributed debugging?

 

Will WebSphere Performance Pack contain full facilities for load balancing and performance monitoring of EJB applications?

 

Does IBM provide unit-test tools similar to Sun’s JavaStar?  Will these tools work for EJB server-side code as well as client-side code?

 

Does IBM provide profiling tools similar to Jprobe and other third-party products?  Will IBM’s profilers work for server-side code?

 

 

Conclusion

We should investigate (i) EJB debugging and monitoring facilities; and (ii) Performance Pack support for EJB applications.

11.  Documentation

In addition to marketing literature and a couple of white papers, there are two substantial “redbooks” for the WebSphere product:

WebSphere Application Servers: Standard and Advanced Edition.  This is a substantial document, albeit with a somewhat peculiar organization.  It contains the following, in no particular order:  an extended discussion of Standard edition administration; guidelines and examples for servlet and XML/HTML  development; a brief discussion of EJB administration, including installation and bean deployment; guidelines and examples for session and entity-bean development.  (The last topic is basically a rewrite of the EJB specification, and doesn’t much insight into the more complex areas of transaction management, such as entity-bean configuration).

WebSphere Performance Pack: this redbook discusses the Performance Pack product, which includes load balancing, AFS integration, and other performance facilities.

 

Issues

Is there additional information about using WebSphere Studio tools for EJB development?

 

Is there additional information about the details of entity-bean usage and transaction management in a WebSphere environment?

 

 

Conclusion

We need to get better information about the WebSphere Studio tools as they apply to EJB development.  We also need more documentation about transaction management, including OTS configuration, and about integration of third-party JDBC drivers into a WebSphere environment.

12.  Support

The WebSphere environment is complex, and its components are provided by a number of different organizations.  NetObjects, the Visual Age developers, the IBM Component Broker developers, the WebSphere application group, the mainframe connectivity group, could all be potentially involved in troubleshooting problems.  Presumably, there is a centralized “WebSphere support group,” but its role and responsibilities need to be clarified.

Issues

What are the procedures for working with IBM support engineers?

 

How is support coordinated among the organizations involved in WebSphere development?

 

What are the on-line facilities for bug-reporting, bug-tracking, patch integration?

 

 

Conclusion

Support of application servers is a relatively new business for IBM, as it is for everyone else.  It may be important to talk to IBM reference accounts to see if there are any issues with WebSphere support, IBM responsiveness, the front-end tools, etc.  No matter what the IBM marketing people may say, the number of groups involved in WebSphere development is a cause for concern.

13.  Training

Since the Advanced server was only introduced recently, it’s likely that courses may not yet be available.  This is OK for EJB development, since this training is available elsewhere, but may be a problem for WebSphere administration, which is a complex area.

Issues

When will IBM provide training for WebSphere administration?

 

Will there be training in WebSphere/mainframe integration?

 

How much training in CORBA Component Broker administration will be required to properly administer a WebSphere site.

 

 

Conclusion

We should get a briefing on present and future status of training courses.

14.  References

Because the Advanced Server product was recently introduced, it’s likely that there is not much in the way of reference.  This is a concern given the complexity of the Advanced Server environment and the uncertainty about performance.

Issues

What is the number of active WebSphere sites for the Standard and Advanced editions?

 

 

Conclusion

We should ask IBM if there are, in fact, any sites that it would be helpful to talk to.