Presentation is loading. Please wait.

Presentation is loading. Please wait.

® IBM Software Group © 2008 IBM Corporation RBD/EGL for System z RBD V7.5.1 Technical Training Mark Evans IBM EGL Ecosystem Team.

Similar presentations


Presentation on theme: "® IBM Software Group © 2008 IBM Corporation RBD/EGL for System z RBD V7.5.1 Technical Training Mark Evans IBM EGL Ecosystem Team."— Presentation transcript:

1 ® IBM Software Group © 2008 IBM Corporation RBD/EGL for System z RBD V7.5.1 Technical Training Mark Evans (evansm@us.ibm.com) IBM EGL Ecosystem Team

2 IBM Software Group | Rational software 2  © Copyright IBM Corporation 2008. All rights reserved.  The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates.  This information is based on current IBM product plans and strategy, which are subject to change by IBM without notice. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way.  IBM, the IBM logo, the on-demand business logo, Rational, the Rational logo, and other IBM Rational products and services are trademarks or registered trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.

3 IBM Software Group | Rational software 3 Agenda  RBD/EGL for System z Overview  EGL COBOL Generation  EGL Integration with COBOL Web Services  Miscellaneous Topics  Deployment Consideration  debugging Considerations  Development Environment Infrastructure  IMS and VSE architectures

4 IBM Software Group | Rational software 4 IBM Rational Business Developer – EGL Technology addressing the challenges of construction of Services and Applications  Decouple application specification from runtimes.  Immediately useable by developers of any background.  Hide technical complexity.  Support emerging standards and technologies.  Guarantee optimal (native) deployment to any platform  New and traditional.  Ensure easy inter-operability with legacy.  Ensure productivity without compromising flexibility:  Language simplicity.  Language robustness.  Provide agile, iterative development.  Programming for System z with EGL is the same as any other Platform

5 IBM Software Group | Rational software 5 iSeries EGL program/library/service To be shipped in RBD 7.5.1.1 With the RBD Generation Extension for z/VSE V7.5.1 EGL and System z – Platform and Data Support COBOL COBOL   WebSphere  Unix System Services  z/Linux*  Z/OS Batch  Z/OS CICS  IMS  Online  IMS Batch  VSE CICS*  VSE Batch* Execution Targets  DB2  IMS/DB (or DL/I)  VSAM  Indexed  Relative  Serial  MQ Queues  Serial  QSAM  GSAM (IMS)  Transient Data (CICS)  Temp Storage (CICS)  JES SPOOL Data with COBOL   DB2  Serial files  MQ Queues Data with Java Java Java

6 IBM Software Group | Rational software 6 EGL and System z – Application Styles EGL Library Non-EGL Program EGL Program CICS/IMS/VSE* Resources Batch Jobs Text UI/3270 EGL Services EGL Web RUI Handler Native Java EGLJava Wrapper EGL Program Non-EGL Program z/OS/VSE Batch MQ Series * Services not available on IMS and VSE EGL Web JSF EGL VG Web Transactions Web Service (EGL or native)

7 IBM Software Group | Rational software 7 EGL Business Logic Example – Server program package pot.programs; import pot.records.*; // basic called program program TE01A type basicProgram (awork TE01W01) // Received record arecord TE01R01; // SQL Record Data declaration function main() move awork.id to arecord.id; // Move from work to record TE01_READ(); // read DB2 table if ( arecord is noRecordFound) /* if not found*/ awork.MESSAGE = "Record does not exist"; else awork.MESSAGE = " "; move arecord to awork byName; /* move from DB2 record to work*/ end function TE01_READ(); // function to read DB2 table try get arecord usingKeys arecord.ID ; end

8 IBM Software Group | Rational software 8 Agenda  RBD/EGL for System z Overview  EGL COBOL Generation  EGL Integration with COBOL Web Services  Miscellaneous Topics  Deployment Consideration  debugging Considerations  Development Environment Infrastructure  IMS and VSE architectures

9 IBM Software Group | Rational software 9 Generation  Generate all the complex code needed to access middleware  DB’s, App Servers, Transaction Managers, …  No necessity to keep up with complex and disparate APIs and implementations  Deploy services to any platform/runtime  Not just application servers…inclusive of CICS, System i, IMS  Build server to automatically upload, compile and create load modules on the System z or System i  Customizable Procedure libraries to handle different compile and link scenarios for System z deployable code  Deploy applications optimally to all key platforms  COBOL for System z – for CICS, IMS or Batch, VSE CICS/Batch  COBOL for System i  Java for WAS or distributed platforms ( either J2EE or non-J2EE) The Power of Generation

10 IBM Software Group | Rational software 10 EGL Generation Process - Overview Code EGL Parts Logic Data I/O Build parts Datasets/Files containing COBOL code, link & bind info Executables and auxiliary files Compile, link, bind TCP/IP Generation EGL Project EGL Source Parts Build Descriptors Other build parts Java Project containing Java code (compiled automatically) Generate Java Directories containing COBOL code, link & bind info Generate COBOL Save w/Validation

11 IBM Software Group | Rational software 11 EGL COBOL Generation Process Detail – System z EGL COBOL Runtime files EGL Projects Preprocessor Workstationz/OS EGL Build Server EGL JCL Build Scripts Load Modules DBRMs TCP/IP CICS IMS Batch EGL Build Files 1 EGL Source Files (Programs, etc) COBOL Generator COBOL Source Other Files Results Files Listings IDE Build Job Generation Result Build Client ccublds 2 3 6 7 8 10 11 5 12 4 13 8.Build server pulls up buildplan.xml and retrieves/parses correct EGL JCL Build Script 9.Build server starts job to build (compile,etc) the generated code 10.Build job runs and pulls files from workstation and uses files from the EGL COBOL runtime (copybooks) and then creates executables 11.Build Job sends results back to the workstation 12.Build client is notified of job completion and if successful or failure and it then notifies COBOL generator 13.COBOL Generator updates Generation Results view with success or not and if failure….location of results file 1.You have source ready to generate !!!! 2.Generate requested using source files and build files as input 3.EGL Preprocessor is run to validate EGL source for the target system (CICS, IMS, Batch) 4.The EGL COBOL generator creates COBOL and other source files including “buildplan.xml” file in local file system 5.EGL Build client code (ccubldc) is invoked 6.Build client starts up security process to encrypt passwords 7.From info in buildplan.xml, conversation with running build server is started 9

12 IBM Software Group | Rational software 12 EGL COBOL Generation – Basic Steps 1.Get Required EGL Components on z/OS 2.Setup/Customize/Start Build Server 3.Setup Build Files 4.Write Code !! (obviously) 5.Generate the code 6.Look at Results 7.Test/Run Done ONCE at beginning by Administrator !!

13 IBM Software Group | Rational software 13  Build files  Contain Build Parts.eglbld  Have a.eglbld file extension  Build parts include:  Build descriptor  Resource Associations  Linkage options  Link Edit (COBOL only)  Bind Control (DB2 COBOL only)  Editing build parts  Build parts use specialized build part editors EGL Build Files (.eglbld)

14 IBM Software Group | Rational software 14 Build Parts – Build Descriptors  A Build Descriptor is required  Specifies how to generate the code  Specifies runtime options associated with the code  Composed of sets of options  Some options identify other build parts to utilize  Some identify other EGL parts to generate if referenced  Same EGL source may be associated with multiple build descriptors  Target system generation & runtime options  Required to generate/build code  Debug runtime options  If running the code in the EGL debugger

15 IBM Software Group | Rational software 15 Build Parts – Build Descriptors  The set of applicable options varies:  By language being generated (Java vs. COBOL)  By target system (iSeries, CICS, IMS, Batch, etc..)  By intended use of the build descriptor  Target System  Debug  Setting up your build descriptors  Easier if you avoid setting it up from scratch  Good to have one as a starting point  The “Create EGL Project” wizard can generate one for you  Some people prefer use a common build descriptor for all projects

16 IBM Software Group | Rational software 16 Build Parts – Build Descriptor Editor  Visible options can be filtered  By target system  By intended use of descriptor  Basic vs. All options  Optionally, the EGL Build Parts Editor then uses that database connection to automatically set values for the SQL- related build descriptor options.  Show only options with values Filter to show only options with values Optionally, you can click this list to select a database connection Options Values Filter based on target system, intended use of descriptor and all vs. basic options

17 IBM Software Group | Rational software 17 Build Parts – Build Descriptor – System Option System Options..  The system build descriptor option specifies the target platform for generation.  This option is required. There is no default value AIX - Indicates that generation produces a Java program that can run on AIX HPUX - Indicates that generation produces a Java program that can run on HP-UX. IMSBMP - Indicates that generation produces a COBOL program that can run in an IMS batch message processing (BMP) region. IMSVS - Indicates that generation produces a COBOL program that can run as an IMS message processing program (MPP). ISERIESC - Indicates that generation produces a COBOL program that can run on iSeries ISERIESJ - Indicates that generation produces a Java program that can run on iSeries LINUX - Indicates that generation produces a Java program that can run on Linux (with an Intel processor) SOLARIS™ - Indicates that generation produces a Java program that can run on Solaris. USS - Indicates that generation produces a Java program that can run on z/OS UNIX ® System Services WIN - Indicates that generation produces a Java program that can run on Windows 2000/NT/XP ZOSBATCH - Indicates that generation produces a COBOL program that can run on z/OS under the control of JCL ZOSCICS - Indicates that generation produces a COBOL program that can run on CICS for z/OS

18 IBM Software Group | Rational software 18 Build Parts – Linkage Options  There are linkage option elements  callLink  Linkage information used for a given call to another program  asynchLink  Information used for asynchronous transfers (sysLib.startTransaction)  transferLink  Information used for program transfers (transfer EGL statement)  fileLink  Information for accessing VSAM file or transient data queue  Each linkage option element has several properties  Build descriptor option: “linkage”  Identifies the Linkage Options part to use  Use is optional and no default if not specified 1 2

19 IBM Software Group | Rational software 19 Build Parts – Bind Control  Bind Control parts are only applicable to:  COBOL code built for z/OS  Code accesses DB2  Provides information to create a bind control file  Same as bind control file you would create for native COBOL code  SQL used to create database request modules (DBRMs) to put in plan

20 IBM Software Group | Rational software 20 Generation – Default Build Descriptors There are two generate menu items  Generate with wizard…  Wizard leads you though a sequence of dialogs  Generate  Only enabled if there is a default build descriptor configured  Default build descriptors  Can be associated with a project, a folder and a file  Are configured using the Properties dialogs  A default build descriptor can be set up in Preferences dialog 1 2

21 IBM Software Group | Rational software 21 Generation – Default Build Descriptor Dialog  Properties dialog sets up specification of defaults for:  Target system (used when generating Java or COBOL code)  Debug (used when debugging EGL code) Used during EGL debug Used when using the Generation default.

22 IBM Software Group | Rational software 22 Agenda  RBD/EGL Overview  EGL COBOL Generation  EGL Integration with COBOL Web Services  Miscellaneous Topics  Deployment Consideration  debugging Considerations  Development Environment Infrastructure  IMS and VSE architectures

23 IBM Software Group | Rational software 23 EGL Services - Create enterprise services…  Web services provide standardized access to assets for different software applications residing on disparate platforms  Web service definitions provide abstract interfaces which allow for loose coupling between business components – implementation can vary without affecting consumers  You can reuse applications exposed as Web services in a variety of service-oriented architecture frameworks, such as a process choreographer or an enterprise service bus.

24 IBM Software Group | Rational software 24 EGL Services – Flexibility and Productivity EGL Service EGL Service EGL Service EGL Service EGL Records EGL Records EGL Service EGL Service Non-EGL User of EGL Service At development time…  focus on the business logic  implement SOA design elements: Services & Interfaces  leverage existing COBOL or RPG developers for new SOA development  ignore deployment targets/technology while coding/testing Deploy EGL Services…  in Java to Java to WAS, Tomcat, Win, Linux, HP-UX, Solaris, iSeries  in COBOL to CICS, System i EGL Records EGL Records Existing Service WSDLWSDL WSDLWSDL EGL Interface EGL Interface EGL applications invoke operations in EGL Interface and send Records as parameters Create EGL Interface and EGL Records automatically based on existing WSDL Use existing non-EGL Web Service Build & expose EGL Web Service WSDLWSDL WSDLWSDL

25 IBM Software Group | Rational software 25 RBD/EGL SOA Integration with Enterprise Programs – Options Web Service Requester HFS WSDL WSBIND CICS TS 3.x CICS Web Service Runtime EGL COBOL Web Service Wrapper EGL COBOL Service SOAP Message ChannelCobol Call EGL Client EGL and non-EGL client CICSECI or CICS J2C Web Service Based Option 1 and 2 RDz Generated Handlers Callable COBOL Program Channel Call Statement Service Invocation WSDL Cobol Call Call Interface Based Option 3

26 IBM Software Group | Rational software 26 RBD/EGL SOA Integration – Option 1 Using EGL Web Services to create new logic or wrapper existing programs Web Service Requester HFS WSDL WSBIND CICS TS 3.x CICS Web Service Runtime EGL COBOL Web Service Wrapper EGL COBOL Service SOAP Message ChannelCobol Call EGL and non-EGL client Web Service Based Option 1 Callable COBOL Program WSDLCobol Call

27 IBM Software Group | Rational software 27 CICS as a service provider (Basic Web Services support) HFS WSDL WSBind WEBSERVICE pipeline config URIMAP CICS TS V3.1 TCPIPSERVICE CPIH/User Defined Xact CWXN Service Requester URIMAP matching CSOL Pipeline SOAP message data mapping Program dynamic install dynamic install PIPELINE

28 IBM Software Group | Rational software 28 EGL CICS Web Services – What is generated? HFS WSDL WSBind WEBSERVICE pipeline config URIMAP CICS TS V3.1 TCPIPSERVICE CPIH/User Defined Xact CWXN Service Requester URIMAP matching CSOL Pipeline SOAP message data mapping Wrapper Pgm dynamic install dynamic install PIPELINE Service Pgm Generated by EGL

29 IBM Software Group | Rational software 29 EGL Services Concepts built into the language  Service part  Remotable sets of behavior: behave the same whether invoked locally or remotely  EGL Service - accessed from EGL code using a local or TCP/IP connection  EGL Web service - accessed from any code using a HTTP connection SOA Service StockQuoteService Function getQuote (symbol String) returns (money) … end end  Interface part  Provides abstract definition of Service  Can be created directly from WSDL for use by Web Service clients  Access external services as EGL services Interface IStockQuoteService Function getQuote(symbol String) returns (money); end Service StockQuoteService implements IStockQuoteService Function getQuote(symbol String) returns (money) … end

30 IBM Software Group | Rational software 30 Service Part  A service is similar to a library, with the major exception that a service may be located remotely from its client.  The client – which can be a program, JSF handler, library, or other service - uses (invokes) the functions defined in the service.  Services have one or more public functions that contain business logic. Once you have written the business logic, you can deploy the service as one of the following:  an EGL Java™ service  a Web service  an EGL COBOL service  a CICS® Web Service  In general, you create a Service part when you want to make your business logic available to other programs, either locally or remotely, in an encapsulated way. Example of an EGL Service

31 IBM Software Group | Rational software 31 EGL Services – EGL Deployment Descriptor Files  EGL Deployment Descriptor files are used to describe how EGL service applications are bound to the clients that call them, and vice versa  Generates wrapper program for each service  Service Client Bindings  How to invoke the service  Services Deployment  How the service is invoked  Sharable Protocols  Common information for clients and services

32 IBM Software Group | Rational software 32 EGL CICS Web Services – Generation Process Deployment Descriptor file (.egldd file) Services Source (.egl files) Build Descriptor file (.eglbld file) Generation Workstationz/OS EGL Build Server CICS WSBIND WSDL HFS PDS w/Load Modules z/OS  Deployment Descriptor File  WSBIND, WSDL, & Wrapper COBOL programs  Services  COBOL program

33 IBM Software Group | Rational software 33 EGL CICS Web Service Client Service Provider HFS WSDL BIND CICS TS 3.x CICS Web Service Runtime COBOL Web Service Proxy COBOL Program SOAP Message Channel Cobol Call  Need to:  Create an interface representing the external service  Create the client bindings (using the wizard)  Declare/invoke the interface  Generates to EXEC CICS INVOKE WEBSERVICE

34 IBM Software Group | Rational software 34 RBD/EGL SOA Integration – Option 2 EGL Services and Call Interface Web Service Requester HFS WSDL WSBIND CICS TS 3.x CICS Web Service Runtime EGL COBOL Web Service Wrapper EGL COBOL Service SOAP Message ChannelCobol Call EGL Client EGL and non-EGL client CICSECI or CICS J2C Callable COBOL Program Service Invocation WSDLCobol Call Call Interface Based Option 2a

35 IBM Software Group | Rational software 35 EGL Services for CICS  EGL also has the concept of an EGL service  Which is:  Accessing the generated service directly using –CICS ECI (remote invocation) –CICS JCA/J2C (remote invocation) –COBOL Calls  From EGL Web Service Client –EGL generated Java under WAS (libraries/services/jsfHandlers) –EGL generated Java running outside WAS –EGL generated COBOL running as 3270/CICS Batch programs in CICS  With remote invocation (CICS ECI or CICS J2C)  No XML parsing  No WSDL processing  Can utilize Channels and Containers –But data can be dynamic length (dynamic arrays, in and out types, etc)  EGL handles the data conversion  Should be better performance (less parsing)  Can use same generated EGL Service code as used through Web Services  i.e. no re-generation required

36 IBM Software Group | Rational software 36 EGL Services vs Web Services – Web Client Bindings  You can create multiple Web Client Bindings  Allows you to create multiple ways for the services to be invoked and  Allows service client to determine which protocol to use by  Referencing name in the service/interface declaration using “bindingKey”

37 IBM Software Group | Rational software 37 RBD/EGL SOA Integration – Option 2 EGL Services and Call Interface Web Service Requester HFS WSDL WSBIND CICS TS 3.x CICS Web Service Runtime EGL COBOL Web Service Wrapper EGL COBOL Service SOAP Message ChannelCobol Call EGL Client EGL and non-EGL client CICSECI or CICS J2C Callable COBOL Program Call Statement Service Invocation WSDLCobol Call Call Interface Based Option 2b

38 IBM Software Group | Rational software 38 RBD/EGL SOA Integration with COBOL – Call Interfaces WAS server EGL Generated Web Service code Call Programx DB2 z/OS Client WAS web Services J2C Config AIX/Linux/zOS CICS EGL Generated ProgramX Or Native COBOL Programx Tcpipservice port  Web Service is created using EGL wizard based on already created EGL Programx  No additional coding needed by programmers…just develop called program and generate needed artifact CTG Server

39 IBM Software Group | Rational software 39 EGL – Calling COBOL Programs (remote or local)  Standard EGL Call statement identifies the program  Call “myprog” (parm1, parm2,…);  Parameters:  Can be items and/or records (up to 30)  Passed as values across network  Converted to pointers on mainframe as needed  Data converted on Client side before sending to mainframe  All are treated as in/out parameters (sent both ways)  CICS and IMS…total record can only be 32K in length  Data received using normal “linkage” methods for target program  EGL communications layer  Provides the interface to various target specific communication protocols  Developer does not need to know anything about:  APIs to make the remote call  How the call is physically implemented  Anything about conversions The details of making the connection to the remote system are specified in an EGL “build file” through a linkage options part

40 IBM Software Group | Rational software 40 Linkage Options Build Part Editor – Specifying the linkage option EGL Build File Properties vary by type Program callLink applies to Type of callLink 1 1.Build Descriptor must associate the linkage options to use (this does not happen by default!) So can be different ones for debugging vs deployment if you have different build descriptors

41 IBM Software Group | Rational software 41 RBD/EGL SOA Integration – Option 3 EGL Integration with non-EGL Web Service Web Service Requester HFS WSDL WSBIND CICS TS 3.x CICS Web Service Runtime EGL COBOL Web Service Wrapper EGL COBOL Service SOAP Message ChannelCobol Call EGL Client EGL and non-EGL client CICSECI or CICS J2C Web Service Based Option 3 RDz Generated Handlers Callable COBOL Program Channel Call Statement Service Invocation WSDL Cobol Call

42 IBM Software Group | Rational software 42 RBD/EGL SOA Integration with non-EGL Web Service Getting Started: You have/get a WSDL file for a COBOL program/copybook Could be done using Rational Developer for System z tooling (more on this tomorrow) In EGL: 1.Create/Update an EGL Web/RUI Project 2.Create a Deployment Descriptor file in the project (if not already there) 3.Copy the generated WSDL (from RDz) into the project 4.Using this WSDL, use tools to create an interface part and Web Client Bindings Interface part defines the APIs/signatures the client project needs to invoke the created service Web Services Client Binding in Services Descriptor file defines interface/how-to invoke the generated Web Service 5.Update the Web Services Client Binding entry with the URL to invoke the Web Service 6.Code a RUI/Handler/JSF Handler/library/etc to invoke the Web Service (sample) 7.Generate the: JSF handler, library, etc part invoking the service Client deployment descriptor file

43 IBM Software Group | Rational software 43 Create web services for zOS runtimes – RDz* Tooling  Build, Deploy, and Test Web services from existing applications  Create source code skeletons from web service definitions  Map web service definitions to existing application modules  Supports traditional languages  COBOL  PL/I  Supports zOS specific runtimes  CICS  IMS  Batch *RDz = Rational Developer for zSeries

44 IBM Software Group | Rational software 44 Consuming EGL Web Services – Create Interface and Client bindings  Copy the WSDL from RDz into the EGL project  Select the WSDL file and choose: 1.“Create EGL Client Interface” 2.Choose which web service you want to interface with (Next) 3.Choose (filled in for you based on WSDL)  Location of source  Which functions to interface with 4.Click “Next ” to specify client bindings

45 IBM Software Group | Rational software 45 Consuming EGL Web Services – Create Interface and Client bindings  Choose the EGL deployment descriptor file to hold the EGL Client Bindings (how to invoke the service)

46 IBM Software Group | Rational software 46 Consuming non-EGL Web Services – Resulting Definitions  Need to fill in URI with URL used to invoke the web service – http:// : /

47 IBM Software Group | Rational software 47 Consuming non-EGL Web Services – Write the code to invoke the service  Code normal EGL logic  Declare input/output variables  Declare the interface Invoke service (using interface)

48 IBM Software Group | Rational software 48 Consuming non-EGL Web Services – Generation  Add Client Project Deployment Descriptor File to build descriptors  Generate the:  Deployment Descriptor File in Client Project  Libraries, services, etc that are not automatically generated NOTE: JSF Handlers will be automatically generated  Service client is ready to run

49 IBM Software Group | Rational software 49 EGL Services – Conceptual View  To do Web Service, you may want to architect a separate project for your Web Services. You can think of this as a “service” project – and you can think of calls to the web services as coming from “client” projects Service Project Service Project Web Service Web Service EGL Code EGL Code Generated Java Generated Java EGL Deployment Descriptor EGL Deployment Descriptor WSDL WSDL Client Project Client Project Client process Client process Service Variable Service Variable Call to the Web service Call to the Web service EGL Deployment Descriptor EGL Deployment Descriptor WSDL (copy) WSDL (copy) EGL Interface EGL Interface Common EAR File (Optional)

50 IBM Software Group | Rational software 50 Agenda  Rational Business Developer and EGL Introduction  Capabilities at a Glance  How is SOA based development supported?  EGL Integration with CICS COBOL Web Services  EGL COBOL Generation  Miscellaneous Topics  Deployment Consideration  debugging Considerations  Development Environment Infrastructure  IMS and VSE architectures

51 IBM Software Group | Rational software 51 EGL – Java Deployment Considerations  Just like other Java applications once generated  J2EE Applications  Export EAR (Enterprise Archive File) –Includes WAR (Web Archive)  Install EAR on Application Server  Setup any required datasource definitions for SQL access  Non-J2EE Java Applications  Export the compiled class files into a Jar file  Copy/Send Jar files to execution machine –Exported application code –EGL Java Runtime Jar files

52 IBM Software Group | Rational software 52 EGL – COBOL Deployment Considerations  Just like other COBOL applications once generated  System z applications  Load Modules are in System z datasets  Load Module datasets need to be added to JCL  CICS program/transaction definitions as needed  EGL COBOL Runtime dataset must also be in JCL  IMS PSBs, PCBs, etc must be created

53 IBM Software Group | Rational software 53 EGL CICS Web Services – Deploying Service on CICS  For resulting load modules:  In CICS DFHRPL;  Add PDS with load modules for service and service wrapper  Add EGL COBOL Runtime library  In CICS CSD  Add CICS Program entries (unless dynamically created)  Add any required DB2 related entries if program accesses DB2  Install CICS groups/entries as necessary  Perform CICS NEWCOPY if replacing existing load modules  For Web Services Infrastructure:  Add CICS Pipeline Entry to specify target HFS directories that generation writes to (one time if you want to always generate to same HFS directory)  Perform a CEMT P PIPELINE SCAN to:  Enable the Pipeline  Create WebService entry based on information in generated WSBIND file  Create URIMAP entry based on information in generated WSBIND file NOTE: CICS Userid must have permission to write to HFS directories specified in Pipeline definition  If using Transaction other than CPIH in Web Service Entry  Recommended if using EGL generated Web Service  Still must be associated with same program example as CPIH  Can be done by CEDA COPY command: –CEDA COPY TRANSACTION(CPIH) GROUP(DFHPIPE) AS( ) TO( )  Install CICS group/entries as necessary

54 IBM Software Group | Rational software 54 EGL for System z – EGL COBOL Runtime  To Generate and Execute EGL Generated COBOL, the EGL COBOL Runtime is REQUIRED.  Rational COBOL Runtime for zSeries V6.0.1  PID # 5655-R29  MLC based (i.e. NOT Passport Advantage)  Includes –EGL Build Server –EGL COBOL Runtime modules –For IMS, ZOSBATCH, ZOSCICS –Supports EGL, VAGen, and CSP generated applications  Rational COBOL Runtime for z/VSE V7.5  PID # 5648-F66  MLC Based (i.e. not Passport Advantage)  Includes –EGL COBOL Runtime Modules –For VSECICS, VSEBATCH –Support EGL, VAGen, and CSP Generated applications  ALWAYS GET LATEST PTFs, these upgrade it to be equivalent to each generation release

55 IBM Software Group | Rational software 55 EGL Deployment – Why Runtime Code ?  Smaller Modules  Common functions DO NOT have to be REPEATEDLY compiled with each program.  E.g. Error Handling, Mapping Services, some I/O services  Similar to compiler requirements (COBOL/RPG and LE/ILE)  Easier Maintenance  Product Maintenance/enhancements may not require regeneration/compilation to get changes  More Language Functionality can be delivered than available in native languages  E.g - “String” handling in COBOL, libraries, backward scans on files, dynamic allocations of files, etc  Shield programmer from mundane tasks and specific platform complexities  Conversions to EBCDIC on calls to mainframe systems  Conversational State Management (Java and in COBOL)  TUI UI programming specifics (5250/3270)  Etc.

56 IBM Software Group | Rational software 56 EGL Problem Determination - Java  Can use Java Debuggers (in RAD/RBD) against generated code  EGL Messages written to Application Server Console  EGL provides optional Java Runtime Trace  Traces logic flow  Gives details on items like SQL access, etc  Trace can be sent to files, console, or stdErr  Use EGL Function (writeStdOut) to “DISPLAY”/write messages to console/SYSOUT  Last resort !! but familiar method to many programmers

57 IBM Software Group | Rational software 57 EGL Problem Determination - COBOL  Can use standard COBOL Debuggers against generated code  System I and system z  EGL Messages written to error destinations:  EGL defined CICS Transient Data Queue  EGL defined DD card in Batch  System i Job Log  For Abends, failing address can be associated with failing EGL statement  EGL statements are comments in source/compile listings  Fixes would be made in EGL  Use EGL Function (writeStdOut) to “DISPLAY”/write messages to console/SYSOUT  Last resort !! but familiar method to most programmers  Use EGL Build Descriptor named statementTrace=Yes  Generates a DISPLAY for each EGL statement and for SQL I/O  Can be used to trace statement flow and find where errors occurred  Do not use in production

58 IBM Software Group | Rational software 58 Development Environment Overview Logical Components View – access to z z/OS CICS Transaction Server DB2 on z/OS Enterprise COBOL Rational COBOL Runtime w/ EGL Build Server Windows XP Rational Business Developer V7.5 CICS Transaction Gateway V7.0.1.2 DB2 Universal JDBC driver (with DB2 Connect license from DB2 connect Personal Edition V9.5) (CTG and DB2 included with RBD) In Debug, access to DB2 on z/OS CICS programs EGL Generation to z/OS Rational ClearCase Repository

59 IBM Software Group | Rational software 59 Development Environment Overview Detailed View – Access to system Z Rational Business Developer V7.5.1 z/OS v1.x Windows Workstation CICS Transaction Gateway v7.0.1.2 TCP/IP CICSTS Tcpipservice port 1436 DB2 Enterprise UDB v8 EGL Build Server Part of Rational COBOL runtime Port TCP/IP DB2 v8/v9 DB2 JDBC Driver w/DB2 Connect v9.5 license TCP/IP Generated Load Modules EGL Runtime Modules Native Programs

60 IBM Software Group | Rational software 60 RBD/EGL Integration with VSE WAS server EGL Generated Services DB2 z/VSE Non-EGL Client EGL JSF J2C Config AIX/Linux/zOS CICS EGL Generated ProgramX Or Native COBOL Programx Tcpipservice port  Use EGL Web Services or web development to “CALL” to a program running on VSE CICS CTG Server RUI Client EGL Library

61 IBM Software Group | Rational software 61 EGL and IMS – 10,000 feet Support for:  IMS TM  Formatted and un-formatted 3270 screens  Alternate IO-PCB  Called backend programs  IMS BMP  zOS – IMS Batch (DL/I programs)  DL/I Database  All databases and access methods supported  HDAM/HIDAM  Secondary Index  Logical Relationships  GSAM  Complete DL/I language support  Different levels of abstraction – use of consistent vocabulary  Ability to support custom/complex requirements through #dli{  Special records that provide abstracted and simplified coding – AND learning IMS

62 IBM Software Group | Rational software 62 RBD/EGL Integration with IMS WAS server EGL Generated Services DB2 z/OS Non-EGL Client EGL JSF J2C Config AIX/Linux/zOS IMS EGL Generated ProgramX Or Native COBOL Programx Message Queue  Use EGL Web Services or web development to “CALL” to a program running on IMS IMS Connectors RUI Client EGL Library TCPIP


Download ppt "® IBM Software Group © 2008 IBM Corporation RBD/EGL for System z RBD V7.5.1 Technical Training Mark Evans IBM EGL Ecosystem Team."

Similar presentations


Ads by Google