enterprise server and direct cobol web services · • cics and ims transactions • packages such...

26
Enterprise Server and Direct COBOL Web Services

Upload: voanh

Post on 01-Jul-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Enterprise Server

and Direct COBOL Web Services

Abstract

This paper is aimed at architects and IT managers who are grappling with the

complexity of diverse technologies including COBOL, Java, .NET and Web services.

The ideas expressed in this paper have given rise to the notion of COBOL – The

Platform and to a new product called Micro Focus Enterprise Server. Enterprise

Server elevates COBOL from a programming language to an application services

platform. With Enterprise Server, COBOL is now a key part of contemporary,

composite enterprise application platforms. Because of this, COBOL applications can

be easily reused to provide key elements to new composite applications.

COBOL has a long history. The language and applications benefit from the stability

and maturity that a long history brings. Java and .NET provide greater flexibility and

reach. However, it is very difficult for IT organizations to define an architectural

approach to solving new business requirements, integration and ‘modernization’

initiatives. Some simplification is required.

This paper describes how the notion of ‘services’ helps us to combine old and new

technologies. We will discuss how Micro Focus can enable COBOL applications to

become first class citizens in a broad application platform that embraces COBOL,

J2EE, .NET and Web services. The combination is a powerful mix that can orchestrate

the old and the new to deliver cost effective business systems.

We will explain how Enterprise Server provides a transaction-processing platform for

COBOL applications that can integrate seamlessly with the Java platform and make

clear the benefits of COBOL applications in Web service-based architectures.

Finally, we will explain how Enterprise Server puts COBOL squarely alongside Java

and .NET platforms, so that you have the option to leverage the value of existing

enterprise systems and the people who maintain them well into the future.

Enterprise Server allows COBOL developers to leverage legacy application services in

new composite applications.

Contents

Introduction............................................................................................................. 1

Bringing COBOL systems up to date ..................................................................... 2

What is a Service-based Architecture?.................................................................. 3

Direct COBOL Web services.................................................................................... 6

Enterprise Server ..................................................................................................... 8

Unified COBOL Service Execution Architecture ........................................ 9

Enterprise Application Programming Interface...................................... 10

Flexible Interface Management Tools...................................................... 10

Client Application Programming Interface ............................................. 12

Conclusion.............................................................................................................. 14

Glossary .................................................................................................................. 15

1

Introduction

"The future of COBOL is a moving spectrum: in the short-term, its about managingyour COBOL assets more effectively. Medium-term, it’s about how you take thoseCOBOL assets to the Web and long-term, it’s about strategy and how those COBOLassets could fit within a Web services framework. Whatever the future of COBOLmeans to you, that’s what Micro Focus is about."1

Since the arrival of the Internet we all demand instant access to more information thanever before. To remain competitive in the information age, enterprises are forced toprovide highly integrated information services to their customers and partners in ‘realtime’. This need has given rise to the notion of the ‘Agile Enterprise’. Agile enterprisesare installing processes and systems that allow them to respond quickly to theircustomer’s immediate needs, and to adjust to new business opportunities quicker thantheir less-agile competitors.

At the same time, we have entered a period of economic slowdown, where budgetsfor new IT spending are under scrutiny. On average, IT budgets have dropped 7percent and are essentially fixed 2. It is no longer possible for most organizations toallocate budgets for new IT infrastructure. Many legacy system replacement projects,which attempted to simplify IT infrastructure, have failed with astronomical costs.Acquisitions and mergers have added to architectural diversity and complexity. It hasbecome clear that investment in new technology for core business systems carriessignificant risks as well as high costs. In short, the business imperative for 2003 is “Domore with less”.

The source of the information required by new on-line users is most often held withinexisting applications and databases. These applications have been developed foremployees of the business to support manual and often time-consuming processes.They are not designed for new clients and the immediacy and breadth of their needs.These systems do, however, provide the core data and rules essential to run thebusiness. They have also been implemented with rigorous procedures and systems tosafeguard data and to provide transaction volumes required.

In a recent survey conducted by Micro Focus, we discovered a number of projects tomake business systems accessible from the Internet. These organizations also havesignificant Java platform projects underway. Many of these projects now focus onunderstanding how to use Java as a platform for integrating legacy data and processesfor new web-based client applications.

1 Tony Hill, Chairman and CEO, Micro Focus.2 “Gartner 2002 IT Spending and Staffing Survey Results”, Gartner, Oct. 2002, R-18-6281.

2

Bringing COBOL systems up to date

Following on from year 2000 projects, Roy Schulte of Gartner3 likened applications andplatforms to buildings in a city. This analogy is very useful because it throws thecost/benefit equation into sharp relief. A city is as heterogeneous as the applicationsportfolio of a Global 2000 company. We intuitively know that decommissioning abuilding and replacing it is very disruptive and costly. We also know that we cannotexpect to rebuild a city to conform to a new architecture with a simple replacementproject. In many instances, the problem is not with the buildings, but in the way newinfrastructure services are provided to users of those buildings. In the same way, theproblems with our applications often have more to do with integration infrastructurethan with the applications themselves.

This recognition has resulted in a growth in Enterprise Application Integration (EAI)and Business Process Management (BPM) software. Software vendors have createdproprietary integration servers that provide connectivity through ‘connectors’(sometimes called ‘adapters’) to a central ‘process automation’ engine. While theintegration ‘hub’ was proprietary, it did provide a good model for ‘modernizing’ and‘reusing’ back-end services such as:

• Legacy applications

• CICS and IMS transactions

• Packages such as SAP, PeopleSoft, etc

• MQ Series

• COM, CORBA and EJB interfaces

The diagram in Figure 1 is taken from an article written by Mikhail Genkin and Jin Li atIBM4. It shows a client insurance broker application that invokes a Web service throughthe provider’s firewall. The web server passes the request through to a Java applicationserver. The Java application server in turn passes the request to the legacy applicationusing a J2EE resource adapter. Please see the glossary at the end of this paper if theseterms are unfamiliar.

3 “Application Integration Scenario: How the war is being won”, Roy Schulte in Application Integration – Making e-Business Work, Gartner conference proceedings - September 2000.4 “Web services and J2EE connectors for B2B integration” at the web site

http://www-106.ibm.com/developerworks/java/library/j-conn/?l=devnews,t=nl.

3

This is typical of integration architectures being developed to provide an applicationintegration platform based on Java. While the article addresses B2B issues, thearchitecture is equally applicable for internal application integration. In fact, analystsagree that we must first solve the integration problems internally before we can beginto address the firewall, trust, negotiation, security and transactional issues that occuracross business boundaries.

What we see is a simple ‘service-based’ back-end architecture. It is this ‘service-based’back-end architecture that is proving durable while debates rage about theintegration technology to be used on the mid-tier. This indicates that by modernizingour COBOL applications to be service-based, we can hedge our bets about theintegration platform changes over time.

Note that writers often refer to ‘mid-tier’ and ‘back-end’ almost as synonyms forhardware platforms; we might expect a Windows or UNIX-based mid-tier platform anda zSeries or similar mainframe for the back-end platform. However, these are logicaltiers that define different platform characteristics (see below). These logical tiers mayboth reside on the same hardware platform (UNIX or zSeries) or there may even beseveral mid-tier platforms connected to several back-end platforms in a highlystructured network of many different hardware platforms.

What is a Service-based Architecture?

A ‘service-based’ architecture describes the integration relationship between arequestor and a provider of core ‘services’. A service is isolated from the servicerequestor (the client). Because of this, the server (the platform that binds and executesservice requests) can optimize service execution to provide a highly scalable, reliableand available service response. IBM CICS and other transaction processing (TP) systemsprovide scalable ‘services’ both to terminal operators and to other applications. For thisreason, TP systems are ideal for delivering services to a Java application server.

Figure 1 – Architecture of a company’s application (from an IBM article)

4

This is very different from a ‘component-based’ architecture such as COM, CORBA andJava (J2EE). In a component-based architecture each component lives within a networkof complex component inter-relationships. Object modeling provides a way to defineand understand the complexity of a distributed object model. However, the executionplatform for a distributed object model must keep track of many concurrent, long-running sessions and the state of each ‘thread of execution’ as it passes around thisweb of distributed components.

A component-based architecture is well suited to managing complex client threadsthat originate from web clients through a web server. This is the same whether theseare browser clients (people) or program clients (applications). Component-basedarchitectures provide the long-running workflow required to orchestrate multipleactivities to complete a business service being offered. What we mean by long-runningin this context is the duration of a sequence of interactions driven by the client duringa ‘session’.

A service-based architecture is well suited to managing a very high volume of simplerequest/response interactions. Each interaction is isolated from all others and isessentially ‘stateless’. This is a fundamental principle of TP systems like IBM’s CICS,Microsoft’s COM+, and BEA’s Tuxedo. Programmers familiar with TP systemsunderstand how to create an application from many transactional units of work(services). In traditional applications, the operator controls the flow based on thebusiness process he or she is following. A well defined, ‘large grained’ serviceencapsulates all the logic it requires to deliver a ‘business service’ directly to a clientrequest. The service-based platform can ensure that the entire service is executed tocompletion or rolled back for system integrity. A service execution is ‘short-duration’ toprovide the scalability, reliability and availability characteristics necessary to protect anIT organization’s operational data. What we mean by short-duration in this context, isthe time during which it is ‘reasonable’ to hold locks on the resources being updated.

The simplification we seek can be seen to arise from combining the strength of acomponent-based platform (such as J2EE or .NET) for mid-tier integration, with thestrength of a service-based platform (such as CICS or COM+) for back-end services. Thisis illustrated in Figure 2.

The services become the end-points of the integration scheme and do not propagatefurther ‘session-specific’ activity to other integration nodes. There are many ways tobuild the connection between a component-based platform such as Java and a service-based platform for COBOL. The following are some examples:

• The J2EE Connector Architecture specification defines a service-based contractbetween a Java application server and an Enterprise Information System (EIS) suchas a COBOL application.

• IBM’s MQ Series may be configured to provide end-to-end request/reply messagehandling between a mid-tier platform and server-based transactions. Thecorrelation-id feature of MQ Series may be used to correlate responses received torequests transmitted, thus maintaining session ‘threads’.

• Microsoft’s COM object model interacts seamlessly with Microsoft’s COM+transaction server. In addition, Microsoft’s Host Integration Server provides simpleconnectivity to mainframe CICS and IMS COBOL applications.

5

• Enterprise Application Integration products employ ‘adapters’ or ‘connectors’ topopular back-end services such as COBOL applications.

In all cases, these connections require that you have done the preparatory work todefine ‘services’ that can be easily invoked by an external agent. In the case of COBOL,this means that you must create transactions that do not use a screen. The data ispassed to these transactions via a linkage record and invoked through a remoteprocedure call.

If you have not found a way to extricate screen interface logic from the core ‘services’logic, don’t worry. There are many tools around to alleviate these problems. Theserange from non-intrusive terminal protocol ‘wrapping’ technology to code extractionor conversion techniques. This is not the subject of this paper, but please contact MicroFocus for help if you face this problem.

Many organizations have anticipated this architectural change – and have beenworking hard since fixing the year 2000 bug to re-organize their COBOL applicationsto provide service-level interfaces using API mechanisms appropriate to their platform.These interfaces are entirely appropriate for use as service-based interfaces from amid-tier integration platform.

In the next sections, we will describe the role of COBOL applications in Web service-based architectures. We will explain how Micro Focus Enterprise Server provides atransaction-processing platform for COBOL applications that can integrate seamlesslywith the Java platform and Web services.

Web server

Java Application Server

COBOL Server

Figure 2 – Illustrating the component-based architecture of Java and the service-based architecture of CICS

The components in the Java application server are related by the context of the client

The services in the transaction server execute independently of each other

Many clients have simultaneous connections

Currently active component

6

Direct COBOL Web services

Through its membership in WS-I5, Micro Focus is committed to the future of COBOLand having COBOL applications participate fully in the world of Web services. WS-I is ahighly visible consortium of more than 100 technology vendors who are developingWeb service ‘profiles’ that will ensure interoperability across platforms andprogramming languages.

COBOL applications embody rich and valuable business services that can be re-used in avariety of methods. Micro Focus will make Web services easy to create and use fromCOBOL applications and fully supports the efforts of WS-I to develop open standardsfor interoperability.

Web services are simply a new middleware protocol to define and invoke ‘services’ in aservice-based architecture. Web services are stateless and atomic, and thus provide ameans to extend the reach of a service-based architecture to clients over Intranets andthe Internet. The core Web service protocol called SOAP (Simple Object AccessProtocol) is based on XML documents transmitted over http. WSDL (Web ServiceDefinition Language) describes a service interface so that remote clients can ‘subscribe’and ‘bind’ to the service. UDDI (Universal Description, Discovery and Integration)provides a ‘Yellow Pages’ of services catalogued for easy lookup.

The emerging popularity of Web services owes much to the fact that they build onexisting web standards (TCP/IP, HTTP and XML) with new standards to bridge betweendifferent vendor’s platforms.

Web services are being used to accelerate and reduce the cost of integration, improvereuse and save on infrastructure deployment costs. Lack of security and relatedstandards are slowing adoption between businesses. Nevertheless, early adopters areusing Web services to and between trading partners within a supply chain.

This paper does not define Web services in detail, but we note that the Web serviceprotocols are providing a web-based, service-invocation mechanism that is asapplicable to COBOL services as it is to Java or .NET services. Micro Focus defines ‘directCOBOL Web services’ to enable COBOL programmers to build and use Web serviceswithout needing another programming language to interface to the Web.

5 See the press release at http://www.microfocus.com/press/releases

7

Direct COBOL Web services fulfill the needs of COBOL shops for large-scale integrationbased on reusing an existing COBOL applications portfolio. Enterprise Serverimplements direct COBOL Web services to provide the service-based ‘back-end’platform for COBOL. J2EE, .NET and other technologies provide component-based‘mid-tier’ integration platforms. In combination, users will be able to build highlyscalable and flexible integrated web applications. With direct COBOL Web services,programming teams will concentrate on defining the way business information flowsbetween and within these platforms. Java programmers will define new businessprocesses (workflows) using the session and security features of J2EE to manage thecontext of many simultaneous clients. COBOL programmers will develop and extendthe core services provided by the back-end using the familiar transaction-processingparadigm. Enterprise Server provides the infrastructure for COBOL services toparticipate fully in information flows and removes the need for programming teams tobuild the complex ‘plumbing’ between different platforms.

Many descriptions (including the IBM article mentioned earlier) of Web services assumethat a ‘back-end’ server provides the ‘raw’ service, and that J2EE (or .NET) provides thetechnology to ‘broker’ the service to the Internet. If we think about this for a moment,we realize that the J2EE (or .NET) platform is simply providing a service ‘gateway’ tothe CICS application. The Java gateway often adds no new logic or workflow, andsimply translates the service interface from COBOL to SOAP. A Java layer between theweb server and the back-end service is simply getting in the way. This additional Javalayer (unless it is performing an integration function) makes the composite platformmuch more complex to set up, administer, test and deploy. This kind of ‘platformcomposition’, where the ultimate integration is to be provided on the client side of theWeb service invocations, is very costly in comparison to the value it brings.

Figure 3 – Architecture for aggregating services using SOAP (The web server has been omitted for clarity)

Java Application Server

.NET Services

Java Services

COBOL Services

SOAP HTTP

8

Net Express and Enterprise Server provide the infrastructure to publish Web servicesdirectly to a Web service client and to invoke Web services regardless of theirimplementation language. This is illustrated in Figure 3, which shows how back-endservices from a variety of sources such as COBOL, Java and .NET may be aggregatedwith a Java application server using SOAP.

Note that we have formalized the distinction between mid-tier integration and back-end services for Java and .NET as well as COBOL. While Java and .NET can service bothneeds to a certain degree, it is nevertheless good practice to define an architecturethat separates different platform execution and coupling requirements. By doing so,we can configure, administer and optimize those platforms according to differentperformance and security needs.

By adopting Web services for integrating enterprise applications, organizations arereporting significant reduction in IT infrastructure costs. These cost reductions mayoccur over a period of time as the organization removes its dependency on proprietaryand costly middleware solutions for point-to-point integrations. As platform vendors,software vendors and packaged application vendors adopt Web services standards;these cost savings can be realized across many heterogeneous systems andconnections.

Additional cost savings can be realized from direct COBOL Web services. Aconsequence of this implementation is the reuse of existing IT skills. In many ITdepartments, application stove-piping results in the need to staff ‘Proof-of-Concept’projects requiring complex programming paradigms with steep learning curves. Thesecan require retraining of staff at considerable additional costs. In turn, this creates skillshortages for maintaining the applications that run the business and keep the lightson. However with Micro Focus Net Express® and Enterprise Server, programmers candevelop contemporary composite applications and deploy them on a COBOL serverusing SOAP with little additional retraining.

Enterprise Server

In Figure 4a6 we show key elements of a services platform for building and publishingCOBOL services to a range of clients. This platform, called Enterprise Server, extendsthe rich language environment that COBOL provides for solving mission-criticalbusiness problems. Enterprise Server ensures that COBOL services can participate in thewider context of composite applications (EAI) and ultimately in applications that spanbusiness boundaries (B2B).

6 The graphic shown in figures 4a – 4e and the ideas behind this have been developed with permission from aconcept originated by OVUM, an analyst and consulting company. The original concept covers the broaderconcerns of services implemented in many technologies, and additional management infrastructure that willbe required for Web services. As the full requirements of a services platform for COBOL emerge, we willextend this description accordingly.

9

If you have a COBOL investment, Enterprise Server is a unifying platform that canprevent your investment from becoming ever harder and more costly to integrate intonew composite applications. Without a unifying COBOL service platform, the costeffective reuse strategy advocated in this paper becomes harder to justify andbusinesses will spend more money on creating proprietary platforms for reuse orreplacement.

Enterprise Server combines a unified services execution architecture for Windows,Linux (including z/OS) and UNIX platforms with flexible interface management tools.We will discuss the principle features of Enterprise Server in detail with reference toFigures 4b – 4e. If any of the terms used are unfamiliar, please see the glossary for adefinition.

Unified COBOL Service Execution Architecture

Our vision for many years has been to help our usersexploit COBOL technology in an evolutionary way. Ourgoal with Enterprise Server was to create a standardCOBOL platform. A COBOL platform is essential tosupport both direct Web services for COBOL, and tosupport the ‘composite’ component-based and service-based architecture described above. The J2EE Connectorfor COBOL requires that COBOL services comply withsession, transaction and security protocols imposed byJ2EE. As Web services protocols are developed toincorporate a richer interface contract (for examplesecurity), similar mechanisms will be required in theserver to be compliant. For example, a SOAP message anda proprietary MQ message using XML are very differentin detail, but the ‘service contracts’ between requestorand provider are logically the same.

Enterprise Server provides the service platform for NetExpress and Server Express COBOL applications. Featuressuch as XML and SOAP handling, a J2EE ResourceAdapter, audit, fail-over, security, transactions, logging,recovery, and administration are included in this architecture. Enterprise Serverelevates COBOL from a programming language to a platform in the same way thatJ2EE elevates Java from a programming language to a platform.

Service

Execution

Enterprise

API

Client API

Interface

Management Client

Access

Figure 4a – A Services Platform

Service Execution

Unix

COBOL services

Windows

COBOL services

Linux

COBOL services

Tran

saction

s / Secu

rity …

Figure 4b

1 0

Enterprise Application Programming Interface

The Enterprise Application Programming Interface (API) consists of the existingapplication interfaces and new application interfaces that will be used as the rawmaterial for creating externalized (client) API’s. The Enterprise API defines the set ofcommon services that an enterprise uses to create business systems.

Any organization with a large portfolio of applications already has many existinginterfaces. Some of these are more suitable as raw material than others. COBOLprograms have well-defined interfaces either in the form of COBOL program entrypoints and linkage parameters or in the form of CICS COMMAREA definitions or IMSmessage definitions. Even screen interfaces can be easily converted to a form moreeasily classified and accessed as an API.

Micro Focus Revolve®7 and Revolve EnterpriseEdition provide the means to locate,understand and catalog these raw interfaces.Revolve incorporates full support for allCOBOL syntax and dialects, and includes aunique ability to cross reference assets acrossan enterprise application portfolio. In thisway, Revolve builds a comprehensive pictureof the entire enterprise architecture.

Using this information, users can documenttheir application portfolio and build a catalogof raw ‘services’ that can be used to createclient API’s to access key business services. Forapplications that are not well structured, itmay be necessary to modify or extractprogram logic to act as new Enterprise API’s.Revolve helps identify the code sectionsnecessary to create a complete service.

Flexible Interface Management Tools

Raw service-based interfaces take many forms. These may be COBOL copy filescontaining program linkage records, CICS COMMAREA records or screen definitions.These ‘raw’ interfaces have been derived from an existing program’s data model andassumptions about control flow. An example of this ‘raw’ interface is a parameter thatdefines among other fields, a one-character input field used to control the function ofthe program invoked. Another example may be a response that includes dates in theinternal format of the COBOL application. There are many reasons why you may wantto transform the physical program interface into a logical service definition using anew data model more appropriate to the integration platform. By doing so, you

7 Please see our website at http://www.microfocus.com/products/ for a description of products referenced.

Service Execution

En

terprise A

PI

Pro

gram

Un

derstan

din

g

Tran

saction

s / Secu

rity …

Figure 4c

Unix

COBOL services

Windows

COBOL services

Linux

COBOL services

1 1

isolate and abstract new service interfaces based on the data models and flowassumptions of the raw services.

The Interface mapping Toolkit in Net Express6 allows you to derive new logical ‘service’interfaces based on existing COBOL programs. This provides a simple data model at theservice interface based on the type-system of the client environment. The InterfaceMapping Toolkit provides service interface definition and automatic deployment forCOBOL applications running on Enterprise Server.

For mainframe applications, Micro Focus Component Generator6 provides a mechanismto control a workflow of program invocations to navigate several screens (transactions)to provide a single business operation. From these logical ‘service’ interfaces,Component Generator generates the code necessary to deploy those services on acomposite platform that is based on a Java application server using MQ Series or ECIand CICS.

Service Execution

En

terprise A

PI

Pro

gram

Un

derstan

din

g

Interface Management

Interface Mapping

Code Generation

Process Workflow

Unix

COBOL services

Windows

COBOL services

Linux

COBOL services

Tran

saction

s / Secu

rity …

Figure 4d

1 2

Client Application Programming Interface

A key feature of the Interface Mapping Toolkit is the ability to publish services over arange of middleware technologies. You may choose to publish services for integrationwith Java application servers using the J2EE Connector in Enterprise Server.Alternatively, you can choose to use direct COBOL Web services support in EnterpriseServer. Services may also be published for access through Microsoft’s ComponentObject Model (COM).

Enterprise Server also provides a feature for customizing the format and protocolsused for message delivery. In this way, COBOL services may participate in compositeapplications that use any client technology through common middleware layers. Themapping and code generation features of the Interface Mapping Toolkit provide theability to create client API’s for Java, COM and many other clients through thestandards defined for J2EE and Web services.

Service Execution

En

terprise A

PI

Pro

gram

Un

derstan

din

g

Clien

t AP

I

J2EE

Web

services O

ther …

Interface Management

Interface Mapping

Code Generation

Process Workflow

Unix

COBOL services

Windows

COBOL services

Linux

COBOL services

Java Client

.NET Client

Browser Client

Legacy Client

MQ Client

Tran

saction

s / Secu

rity …

Figure 4e – The COBOL Services Platform

1 3

Micro Focus Enterprise Server and Application Server8 provide the technology requiredto deploy COBOL applications developed using Micro Focus Net Express and ServerExpress™. However, Micro Focus Application Server provides core COBOL services forsingle-tier applications, while Enterprise Server adds transaction, session and securityservices for 2-tier client/server and 3-tier composite applications. Enterprise Serverincorporates support for direct COBOL Web services and a COBOL resource adapter forJ2EE Connections.

Enterprise Server is available with Net Express and Server Express. These two productsincorporate the Interface Mapping Toolkit that is used by developers to define anddeploy COBOL services to Enterprise Server.

Using Micro Focus Application Server or Enterprise Server, COBOL programs can alsoinvoke Web services provided by COBOL or other Web service platforms such as Javaand .NET. COBOL programs may also parse, consume and generate XML documentsusing syntax that is natural and fully integrated with the COBOL language. For moreinformation about Net Express and Server Express, please refer to the Micro Focus website at http://www.microfocus.com.

8 In this context Application Server refers to the Micro Focus product called Application Server for Net Expresswhich provides the COBOL execution environment. Please see the glossary for a summary of the termApplication Server.

1 4

Conclusion

As noted earlier, Enterprise Server elevates COBOL from a programming language to aplatform in the same way that J2EE elevates Java from a programming language to aplatform. We call this the COBOL platform. Enterprise Server will have a direct impacton the extent to which COBOL developers can leverage legacy application services innew composite applications.

With Enterprise Server, you can ensure that COBOL applications will operate seamlesslyon new composite platforms and continue to contribute significant value to yourbusiness well into the future. COBOL is still the most widely used language for large-scale business applications. Like the buildings we work in, COBOL applications willcontinue to provide cost effective business value and thus will contribute to economicrecovery.

By leveraging existing business applications and the combined power of COBOL andnewer technologies, you will be able to create integrated, real-time informationsystems for new business needs. This evolutionary approach to systems integration willminimize risk and is significantly less costly than major replacement projects.

Further, once you have invested the effort to create new systems from old using asound service-oriented architecture, then you will have the building blocks to createnew integrated systems to respond to new business imperatives much more quicklythan before. In this way, you can increase your business agility to remain trulycompetitive.

- Written by Dr. M. H. Gilbert, Product Director, Micro Focus

1 5

Glossary

Application Server

The term application server is used to describe an environment capable of runningseveral applications simultaneously in response to messages received from a variety ofclient sources. The term is most often used to refer to a Java application server such asIBM WebSphere Application Server or BEA WebLogic Application Server. These serversprovide highly scalable J2EE services to run Java applications on behalf of Web-basedor other client sessions. Typically, a Java application server responds to internet-basedclients via a web server.

CICS and IMS are also application servers as they provide the execution environmentfor large numbers of 3270 terminal clients. Microsoft Windows provides applicationserver functions via COM and the .NET framework. Micro Focus Application Serverprovides the execution environment for COBOL applications on Windows, UNIX andLinux platforms.

API

An Application Programming Interface is a well-defined software module interfacethat can be called by another program. API’s define the raw services that are providedby a platform (such as Microsoft Windows). The same concept can be used to define anEnterprise API – the common services that are required by an enterprise to buildbusiness systems.

Availability

Availability is one of three RAS (Reliability, Availability and Serviceability) “Quality ofService” properties associated with an application server. A high availability systemensures that services are always available promptly when the operator requires aresponse.

Back-end

Back-end refers to the 3rd tier in a 3-tier architecture. The back-end providestransactional or data access services to a mid-tier (middle or 2nd tier). Back-end servicesmay execute on traditional transactional platforms. The change brought about by 3-tier architectures is to replace the terminal (3270) access to application services withmid-tier access through middleware such as MQ Series.

B2B

An acronym for business-to-business electronic interactions performed through anetwork connection such as EDI (Electronic Data Interchange) or over the Web. Thisacronym is used to distinguish such interactions from B2C (business-to-consumer – via aweb browser) and EAI (Enterprise Application Integration – internal) interactions.

1 6

BPM

Business Process Management is a relatively new term that describes a high levelabstraction for orchestrating business services using a workflow. BPM tools provide themeans to define and execute high-level business processes that use human andelectronic actions in an overall flow of activities. These actions may be queued andscheduled according to business rules. A workflow engine orchestrates manyconcurrent ‘instances’ of several ‘types’ of business processes, each of which may takehours, days or weeks to complete.

CICS

IBM’s Customer Information Control System was developed to provide a scalable, on-line transaction-processing environment for mainframe applications. CICS is nowimplemented on the mainframe as Transaction Server (current release level 2.2) and onthe mid-tier as TX Series (part of WebSphere Application Server).

COM

COM is Microsoft’s Component Object Model. COM provides the componentframework within which Microsoft applications can create and share applicationfunctions and data. COM components may be invoked across language, process andmachine boundaries to build distributed component-based applications. COM+extends COM with transaction services.

COMMAREA

The COMMAREA (short for Communications Area) provides a standard and efficientway to pass application data between CICS transactions during a long runningoperator session. Each transaction invoked by the operator may hand-off data to thefollowing transaction in the COMMAREA. A CICS transaction may use the COMMAREAas the sole source of input data if there is no terminal attached. A remote client mayinvoke such a program to provide an application service.

Component

A component is an application service that may be shared by several clientssimultaneously. Component interfaces are generally object-oriented in nature (acomponent is defined as a class and methods that define the services that the classprovides). Each client may attach to an existing component instance for accessingshared context, or it may invoke a new instance. The Microsoft component model isCOM. CORBA is a more general component model available on a range of platforms.

Composite Platform

A composite platform consists of a mix of hardware and software platforms to create a3-tier or n-tier architecture. An example of a composite platform is a Windows NTserver running a web server and a Java application server, connected through MQSeries to an IBM mainframe running OS/390, CICS and DB2.

1 7

CORBA

CORBA is the Common Object Request Broker Architecture defined by the ObjectManagement Group (OMG). CORBA is a language-independent, open standardspecification that is implement by a number of vendors to provide a distributedplatform for component-based applications.

EAI

Enterprise Application Integration is a term coined by the analysts to describe thegeneral activity of combining many applications to provide a ‘super’ application.Integration is frequently required when web-enabling to provide a comprehensiveclient experience. Many applications have been built to interact only with operators(through screens or windows) and files, and so are difficult to integrate.

EJB

Enterprise JavaBeans are a form of JavaBean that can be invoked from a remote client(Java) application. EJB’s come in a variety of flavors representing different data andtransaction semantics. Session beans maintain a client-specific session state, whereasEntity beans provide shared data representing database records.

Firewall

A firewall provides security to protect internal systems and data from external access. Itis a gateway for all inbound and outbound Internet traffic that monitors source anddestination addresses to allow only permitted traffic to flow.

HTML

HyperText Markup Language is a language used to create web pages that aredisplayed in browsers. HTML is transmitted over the Internet using http such that anystandard web browser can render it.

HTTP

HyperText Transfer Protocol is the network protocol used to transmit HTML, XML andother data over the Internet and Intranets.

IMS

IBM’s Information Management System (IMS) is used by many large organizations tosupport very high transaction-rate applications (such as banking). IMS consists of twomajor components that can be used independently or together. IMS/TM is a veryefficient transaction scheduler. IMS/DB is a complex hierarchical database system.

1 8

Interface Mapping

Interface mapping is a technique to define the relationship between one interface andanother such that the code to move data between them can be automaticallygenerated. Interface mapping is used to define how an internal COBOL programinterface (such as a COMMAREA or Linkage Section) should be mapped to an externalinterface (such as a SOAP request).

J2EE

Java 2.0 Enterprise Edition provides a complete platform of application servicesincluding transaction, session and security management. J2EE extends Java to providean application server for Java applications. This is often referred to as the JavaPlatform.

J2EE Connector Architecture

The J2EE Connector Architecture is the specification of a general mechanism to accessnon-Java applications (also called Enterprise Information Systems or EIS) from a Javaapplication. By using a ‘managed’ connection, the Java client and the Java platformare protected from behavior in the EIS, which may violate the tight control imposed byJava.

Java

A programming language from Sun Microsystems that can run on almost any platformby using a byte code interpreter and a virtual machine (runtime) for each hardwareplatform. The Java language is standardized and controlled by the Java CommunityProcess (JCP) administered by SUN9.

JavaBean

A JavaBean is a Java class which provides an introspection interface. This allows anapplication to determine the class and method signatures for invoking the classwithout needing the source code. Java tools help a programmer to use the JavaBean inhis application using introspection.

Java Platform

The Java Platform is the Java-based application environment provided by the Javalanguage, J2EE services, a web server and a Java application server. The Java platformincludes transaction, session and security services required to build applications used bymany web users concurrently.

9 See http://www.jcp.org.

1 9

Mid-Tier

Mid-Tier refers to the middle tier of a 3-tier architecture. The mid-tier is often anamalgam of web servers and application servers running on a Windows or UNIXplatform. The mid-tier may be implemented on several computers (to providescalability) or it may be included in the mainframe (for example running under Linux)to provide what is often referred to as a 2-tier architecture.

MQ

MQ Series is IBM’s message queuing middleware that provides highly scalableguaranteed message delivery services between remote computers.

.NET

.NET is Microsoft’s latest revision of the Windows platform, which provides applicationserver functionality similar to the Java (J2EE) Platform. In addition, .NET incorporatesmany features to simplify the development and deployment of Web services. VisualStudio.NET provides the integrated development environment for building .NETapplications.

Reliability

Reliability is one of three RAS (Reliability, Availability and Serviceability) “Quality ofService” properties associated with an application server. Reliability defines thelikelihood that the system will fail for any reason, which may give rise to either anerroneous response to a client, or to data corruption.

Remote Procedure Call

A procedure is a sequence of instructions, normally embedded within an application,to perform a repeatable operation based on data passed to and returned from thatprocedure. A remote procedure call is a mechanism to invoke an operation on aremote computer using the same syntax that is used to invoke an operation within theapplication. The data is passed to and returned from the remote procedure usingcommunications software.

Resource Adapter

A resource adapter is a plug-in component for a Java application server to provideaccess to a vendor’s application from Java. This provides a bridge from the Javaapplication server to the vendor’s application, which may be written using any otherlanguage and run on a different platform. The resource adapter ensures that theapplication’s transaction, security and connection mechanisms interface properly withthe J2EE equivalents.

2 0

Service

A service defines a category (type) of request that a server may respond to. The serviceis typically defined by a service name (for example a Web service name in a UDDIregistry) and a service interface (for example the WSDL used to define the operationsand messages supported). When the server dispatches a request, a service ‘instance’ isexecuted. Many service instances may execute concurrently and are fully isolated fromeach other and other service types.

Service Broker

A service broker is middleware that receives an inbound service request and deliversthis to the service implementation in a form suitable for service execution. The brokerlocates and prepares the service instance ready for execution, and converts inboundrequest data to parameter data. On completion, the service broker converts theoutbound data that is returned to the client and the service instance is terminated.

Serviceability

Serviceability is one of three RAS (Reliability, Availability and Serviceability) “Quality ofService” properties associated with an application server. Serviceability defines thelevel to which system engineers can manage and modify system performance,integrity, auditing, etc.

Session

A session refers to a logical thread of control through various technology layers in a 3-tier (composite) platform. A session provides the context for a single client. Thiscontext may be long-lived if (for example) the client wishes to use data that wasaccessed in a prior interaction. Session management ensures continuity for the client,and also ensures that each session is fully isolated from other sessions that may beconcurrently executing in the same web server and application server.

SOAP

Simple Object Access Protocol (SOAP) is an XML-based protocol for exchanginginformation between computers. SOAP messages are normally delivered using httptransport (over the Internet or an Intranet) and can either invoke a remote procedureor deliver a document. SOAP messages are delivered in an envelope, which contains aheader and a body. The header provides information to help deliver the request, whilethe body contains the information required by the application to which it is beingsent.

2 1

Stateless Service

A stateless service is one in which execution history cannot affect the semanticbehavior of the service. An example of a stateless service is a simple query to adatabase (for example Get Customer by ID). Stateless services are important to allow aserver to re-use services between different clients for efficiency.

Tier

A tier is a logical platform element in a composite platform architecture. In a 3-tierarchitecture, tier-1 is the client (or web browser), tier-2 is the mid-tier, and tier-3 is theback-end. 3-tier architectures direct service requests from the front-end (client)through logical layers to a back-end (mainframe). N-tier refers to architectures thatemploy several computers of ‘equal standing’ in a composite platform for distributedcomputing.

TP

A TP (Transaction Processor) provides application services to ensure the integrity ofbusiness data and to optimize processing and resource usage for a system serving alarge number of simultaneous on-line users. Examples of TP systems are IBM’s CICSTransaction Server, TXSeries and BEA’s Tuxedo. TP systems ensure that multipledatabases constituting an Information System are maintained in a consistent state.Each unit of work (transaction) performed on by a user either completes fully or notat all. If the system fails during a transaction, recovery mechanisms restore alldatabases to a consistent state.

UDDI

UDDI (Universal Description, Discovery, and Integration) provides the mechanism for adeveloper or application to discover and locate a Web service. UDDI is sometimesreferred to as the Yellow Pages of Web services. Typically, developer tools access aUDDI registry to find the WSDL for a specific service. That WSDL is then used to createthe client application using tools that generate the complex code to interact with theremote computer. In some instances, the UDDI registry may be inspected by anapplication to direct a request to one of several alternative locations.

Unit of Work

A Unit of Work describes the program code that executes a complete (atomic)transaction. A Unit of Work may be committed or rolled back. A CICS transaction is aUnit of Work. A COBOL program may define a Unit of Work where program entrydefines the start, and program exit defines the end of the scope of the Unit of Work.

2 2

Web Service

A Web service is an application service (for example a program) made available overthe Internet to client programs that post a request over http to a Web server. Thisloose definition of a Web service is being replaced by a more specific definition (by theWeb Services Interoperability Organization10) using a standardized set of protocols -http, XML, SOAP, WSDL and UDDI (called a Web service interoperability profile).

Workflow

Defines how a set of activities is orchestrated to perform a complex business processsuch as order fulfillment. WSFL (Web Services Flow Language) is an example of aworkflow description language.

WSDL

The Web Services Description Language is an XML schema for specifying informationabout the interface to a Web service. The public interface defined by WSDL caninclude:

• Information on all publicly available operations

• Data type information for all messages

• Binding information about the specific transport protocol to be used

• Address information for locating the specified service

XML

E x tensible M ark-up L anguage is an evolution of previous mark-up languages such asHTML and SGML. XML provides a basis to define many standardized documentschemas. Many organizations are defining XML schemas for different industry verticalsand applications11.

10 See http://www.ws-i.org.1 1 See http://www.xml.org.

2 3

Micro Focus

Micro Focus is the fastest, most effectiveway to migrate, extend, develop and deployenterprise applications. As the industrystandard for COBOL, Micro Focus enablesorganizations to maximize ROI whilereducing development costs for acceleratedbusiness success. Founded in 1976, MicroFocus is a global company with principaloffices in the United Kingdom, UnitedStates and Japan. For more information,visit www.microfocus.com.

Micro Focus WorldwideAustria............................... 0800 293 535Australia............................ 1800 632 626Belgium............................... 0800 11 282Canada

Ontario ....................... 905 824 7397Quebec ....................... 800 280 9487

France................................ 0800 916 564Germany.......................... 0800 182 5443Ireland ............................ 353 1 469 3121Italy...................................... 800 784 420Japan .............................. 81 3 5793 8550Luxembourg .......................... 800 23743Netherlands .................... 0800 022 8562Norway............................ 47 22 91 07 20Switzerland....................... 0800 564 247Sweden........................ +46 8 545 13 390United Kingdom ........... 0800 328 4967United States .................... 877 772 4450Other Countries.............. 44 1635 32646

© 2003 Micro Focus. All Rights Reserved.Micro Focus, Net Express and Revolve areregistered trademarks, and Server Express is atrademark of Micro Focus. Other trademarks arethe property of their respective owners.

WPESDC0403-US