FAQs: IBM’s Connector “Generations”
The list is by no means exhaustive, so please feel free to mail us questions about any topics we fail to cover here.
Here are some of the topics covered in our FAQ.
- How does HostBridge fit in with IBM's connector "generations"?
- What is an "API-based connection"?
- What is "CWS with 3270 Bridge and Templates" and why is it a first generation connector?
- Would anything that relies upon 3270 Bridge be considered a first generation connector?
- Using IBM's definitions, is HostBridge a first, second or third generation connector?
How does HostBridge fit in with IBM's connector "generations"?
IBM has recently republished the document OS/390 Guide to eBusiness Connectors: Third Edition (October 2000). In this document, IBM uses a generational paradigm to classify connectors to applications running in an OS/390 environment. To some IBM customers, this document has been quite confusing. Here’s the paradigm introduced by this document (verbatim):
First Generation (API) connectors, which have been available for some time, are characterized as being very quick to implement with existing programming skills. These include the API-based connections using CICS Web Support (CWS), IMS TCP/IP OTMA Connection (IMS TOC), Net.Data, and CWS with 3270 Bridge and Templates. API connectors tend to have less standard tooling, less portability and typically better performance than server-side Java connectors. They are less focused on application re-engineering or technology upgrade and more on optimizing Web enablement to their existing application and data.
Second Generation (Java) connectors are characterized by the use of Java and tooling. For relational databases, JDBC and SQLJ are provided. CICS, IMS and SAP have developed respectively the CICS Transaction Gateway (CTG), the IMS Connector for Java and the VisualAge for Java Connector for SAP R/3 based on the IBM developed Common Connector Framework (CCF). This framework is supported by the Java application development tools of WebSphere, specifically VisualAge for Java. Host-on-Demand is another solution for 3270-based applications. These connectors are generally available now. Second Generation connectors are more focused on standards, tooling, portability and beginning the process of application re-engineering. Performance/scalability is currently below that of corresponding First Generation counterparts (e.g. CTG versus CWS, IMS TOC versus IMS Connector for Java, JDBC versus Net.Data).
Third Generation Enterprise Java connectors introduces Enterprise JavaBeans (EJBs) and the “Java 2” family of protocols (e.g. JDBC 2.0,). The third generation connectors are an evolution of second generation with enhanced transactional and security context at the thread level, and data persistence built into the application programming model. Even more of the S/390 platform’s QoS (Qualities of Service) are provided to the application transparently. Examples of these key QoS advantages are Workload Management for Address Space management, RRS (Recoverable Resource Services ) for distributed transactions and Parallel Sysplex clustering for data sharing.
Since HostBridge does rely upon 3270 Bridge, these definitions seem to raise numerous questions.
What is an "API-based connection"?
IBM’s definition of a first generation connector has to do with “API-based connections”. What is an “API-based connection”? IBM does not really say. Does “API-based connector” mean screen scraping? It can’t. IMS TCP/IP OTMA is mentioned as a first generation connector and it has nothing to do with screen scraping. Host-On-Demand is mentioned as a second generation connector, and it does implement screen scrapping. CICS Transaction Gateway is also mentioned as a second generation connector, and it also supports screen scrapping via the CICS EPI interface.
So what is a first generation API-based connector? Given the definitions used for the second and third generation connectors, the most apparent definition for a first generation API-based connector is anything that does not use Java. This would make sense, as IBM would certainly like customers to implement Java-based technologies instead of the competing Microsoft technologies.
What is "CWS with 3270 Bridge and Templates" and why is it a first generation connector?
3270 Bridge is a feature of CICS that makes it possible to intercept the flow of data into, and out of, a CICS transaction before a 3270 data stream is generated as output or expected as input. 3270 Bridge works by intercepting the flow of control between the user transaction and BMS (or Terminal Control), thereby allowing another software component, such as HostBridge, to handle input/output operations for the transaction. Thus, 3270 Bridge, in and of itself, is not a connector – it’s just a feature of CICS that can be used to create a connector. That’s why IBM’s definition specifically mentions “Templates”.
So what are “templates”? Templates are HTML forms that reside on the host. These templates can be created manually, or they can automatically generated by a facility provided with CICS 1.2, and later. An automatically generated HTML template is generated from an existing BMS form and is roughly equivalent in layout and content. To complement these capabilities, IBM also provided a 3270 Bridge application that allows a web user to interact with a 3270 transaction using these templates. It is this capability that is referred to “CWS and 3270 Bridge with Templates.” Essentially, the use of templates exchanges the use of 3270 data streams for HTML data streams. Nothing else.
Note that it is not the use of 3270 Bridge that makes “CWS with 3270 Bridge and Templates” a first generation connector. Rather, it’s the use of templates that exposes a non-Java interface to the outside world.
Would anything that relies upon 3270 Bridge be considered a first generation connector?
Absolutely not. 3270 Bridge simply creates the possibility of eliminating the use of 3270 data streams while leveraging the business logic embodied in the transaction. And, as mentioned above, 3270 Bridge, in and of itself, is not a connector – it’s just a feature of CICS that can be used to create a connector.
Page 232 of CICS Transaction Server for OS/390 Version 1 Release 3: Web Support and 3270 Bridge reinforces this view: “The purpose of the 3270 Bridge is to allow you to run CICS transactions written for 3270 terminals using non-3270 input and output and still use the business logic embodied in these transactions without having to rewrite the code to separate out the presentation logic from the rest, and without having to create the illusion of the 3270 interface.”
Using IBM's definitions, is HostBridge a first, second or third generation connector?
Unfortunately, this is a very difficult question because of the way IBM defines these terms. IBM’s definition of first, second or third generation connectors is based on the language used by the connector to expose/invoke its interface – not the underlying techniques it uses. To IBM, first generation connectors are non-Java; second generation are Java-based; third generation are based on EJB.
HostBridge is language neutral. The only interfaces it exposes are HTTP and XML. Thus, HostBridge can be invoked via Java, EJBs, Java Server Pages (JSPs) or Active Server Pages (ASPs). As a result, with reference to IBM’s “connector generations”, it is apparent that HostBridge is “none of the above!” In the future we will be providing a Java or Java Connector Architecture (JCA) interface to HostBridge. Once this is released, we presume that HostBridge would qualify as a “third generation” connector.