ims mobile feature pack and z/os connect overview
TRANSCRIPT
Poonam ChitaleOffering Manager,
IBM IMS Application [email protected]
@poonamchitale
IMS Mobile Feature Pack and z/OS Connect
Agenda
• Brief level set on the API Economy • IMS Mobile Feature Pack• Overview of what’s new with z/OS Connect Enterprise Edition • Q&A
Industry Platforms / Marketplaces
Banking Platforms
InternalBanking Channels
Third partyapps
B2B
Third PartyFinancial Tools
APIs Standardization
Open Data
The New
Eco
system
4© 2016 IBM Corporation
Two Types of APIs Appearing - System & Interaction APIs
System APIs:APIs that pass through data from a system of record “unchanged”
Interaction APIs:Invoke one or more System API’s or data sources, and manipulate the returned data with new logic
Promote reuse across new applications
Interaction API
App
IOT
ESB
System API
WebService
System API
APIs are likely Deployed and Managed as a hierarchy
Java
/purchaseHistory/creditRisk API2
API1
App Blue
Node.js
API4
App Green• New business logic for System of Engagement app• Use /creditRisk & /geoLoc APIs as-is• Use /purchaseHistory with new bus logic to manipulate result
/promoDiscount
Digital Team
DB(s) CRM z Cloud Services
API3
ESB
/geoLoc
Central IT
What’s Happening:• API1 & API2 created to expose services from System of Record App Blue
• API3 created to expose service from ESB or direct to backend subsystems
• System of Engagement App Green created & running using new business logic & API1, API2, API3.
• New API4 created to expose service from App Green
• API policies managed against API1, API2, API3 & API4 to provide enterprise security
Managed
ManagedManaged
Managed
IMS TM
Interaction API
System API
6
IMS Mobile Strategy
§ The IMS mobile strategy gives our customers a mobile foundation they can depend on
§ Expand IMS ecosystem via delivery of mobile infrastructure § Offer an integrated platform for full discovery, modeling, deployment and execution of
transaction assets for mobile consumption
§ REST interface with JSON wire protocol 74% of CIOs say mobile solutions are part of their vision for increasing competitiveness
7
IMS Mobile Feature Pack• IMS Mobile Feature Pack has three major components:
– z/OS Connect – runs on a Liberty Profile on z/OS– IMS Mobile feature – runs as a feature of Liberty z/OS Connect – IMS Enterprise Suite Explorer for Development (IMS Explorer) – runs on Windows
• Eclipse based tooling for creating, deploying, testing IMS services
8
z/OS Connect• This is about getting REST and JSON into your mainframe environment in a way that
enables you to best take advantage of the assets that exist there:
MobileEcosystem
z/OSConnect
CICS
IMS
Batch
Other
REST –Representational State Transfer … the use of HTTP URLs that map to a ‘service’, such as ‘query account’ or ‘update data’: GET, PUT,POST, DELETE verbs
JSON – JavaScript Object Notation … a standard of representing data as a set of name/value pairs. This is passed back and forth along with REST request/responses
§ Liberty Profile Server
§ Function IBM wrote to run in Liberty Profile
§ z/OS Connect V1 No charge function provided with license entitlement to WAS z/OS, CICS or IMS
9
§ Provides a common and consistent entry point for mobile access to one or many backend systems
§ Java, so runs on specialty engines
§ Shields backend systems from requiring awareness of RESTful URIs and JSON data formatting
§ Provides point for authorization of user to invoke backend service
§ Provides point for capturing usage information using SMF
§ Simplifies front-‐end functions by allowing them to pass RESTful and JSON rather than be aware of or involved in data transformation
You could enable Mobile access without z/OS Connect
z/OS Connect simplifies and makes the environment more consistent and manageable
Why z/OS Connect?• This represents another component to configure and maintain in your environment. So what value does it bring
10
IMS transaction message metadata • z/OS Connect uses message metadata to convert from RESTful service input, which is in JSON to IMS
transaction input, which is an array of structured bytes, defined by the IMS application. Below is a graphic of JSON input and what the transformed IMS data would look like:
Importing your IMS application’s COBOL or PL/I copybook structures for the transaction’s input and output messages produces the necessary metadata for the IMS Mobile Feature Pack to perform this data transformation.
11
IMS transaction message metadata …• The IMS transaction (IVTNO) example using the following COBOL copybook source for it’s input and output message:
12
Transformed to Java Script Object Notation• The IMS transaction (IVTNO) output msg looks like this after transformation
13
Environment Set-up example
z/OS LPAR with TCP/IP Host name:xyz.host.comz/OS Connect with IMS Mobile Feature Pack (IMS Gateway)
IMS Connect IMS 13 – IMSD
MPP Regions where IVTNOxxTransactions execute
PORT 33617(HTTPS)
PORT 7002(TCP/IP)
XCF
IMS Gateway Connection to z/OS Connect on z/OS with Port 33617
WorkstationIMS Explorer for Development
IMS Mobile Feature Pack Ability to create RESTful mobile services in JSON format to access IMS transactions
Inbound RequestOutbound Request IMS Mobile Feature Pack
IBM WebSphere Liberty z/OS Connect
IMSMobileServiceProvider
Service Cache
(lookup and validation)
Request/Response Processing
JSON Processing
Transformation
IMSTMRA
IMSConnect
IMSTransactionManager
IMSApplications
ServiceDefinitions
MetadataDefinitions
InteractionProfiles
ConnectionProfiles
IMSExplorer for Development
MobileApplications
IMSDB
DB2
Request/response in JSON over HTTPS
IMS Mobile Service Registry
IBM z/OS Connect Enterprise Edition V2.0
15
Simplified Overview of REST/JSON
REST Client
REST Listener
POST /account/deposit
"account" : "12345""amount" : "100.00"
CICS, IMS, DB2, or wherever account data is maintained
Response
REST - “Representational State Transfer” ... which uses HTTP and HTTP verbs to allow a client to interact with a server over the TCP/IP network.
JSON - “JavaScript Object Notation” ... a name/value pair representation of data that is relatively lightweight and generally simpler to handle and parse than XML.
REST is increasingly popular as an integration pattern because it is stateless, relatively lightweight, is relatively easy to program
GET /account/balance
IBM z/OS Connect Enterprise Edition V2.0
16
z/OS Connect Structure
z/OS Connect
DataConversion
DiscoveryFunction
AuditFunction
LoggingFunction
GranularAuthorization
CICS
IMS
DB2
Task
RESTRESTClient
RESTJSON
1 2
3
4
1. z/OS Connect a Java servlet2. “Service Provider” = backend connectivity
3. “Interceptors” = configurable function4. Extensible interface = flexibility
Such as a WAS z/OS server hosting RESTA long-running task using WOLA APIs to host a service
CICSIMS
WebSphereDB2MobileFirst
Platform(cloud)
z/OS Connect Enterprise Edition V2.0
z/OS Connect EE
API
APIAPI
• Announced December 1st 2015, made available December 11th
Four categories of new capabilities beyond IMS Mobile Feature Pack and IMS Explorer
• Full REST support • Expanded tooling for API creation and data mapping
• Support for API description using OpenAPISpec (Swagger) 2.0
• API deployment support
IBM z/OS Connect Enterprise Edition V2.0
18
High-Level Overview of z/OS Connect EE V2.0Liberty z/OS
z/OS Connect EE V2.0 Server
Backend Systems(CICS, IMS, DB, etc.)
• IBM z/OS V2.1+ (V1R13 “known requirement”)
• IBM 64-bit SDK for z/OS, Java Technology Edition V7.1.0 or V8.0.0
Eclipse
z/OS Connect EE V2.0 Tooling
• IBM CICS Explorer V5.3• IBM IMS Explorer for Development V3.2• IBM Explorer for z/OS Aqua V3.0
Runtime Server• Hosts APIs you define to run• Connects with backend system• You may have multiple instances
Tooling Platform• Integrates with an Eclipse environment• Define APIs• Define data mapping• Deploy APIs to runtime server• Export API archive for other tools to deploy
1
2
IBM z/OS Connect Enterprise Edition V2.0
19
RESTful Supportz/OS Connect EE V2.0:POST /account?name=Fred + (JSON with Fred’s information)
GET /account?number=1234
PUT /account?number=1234 + (JSON with dollar amount of deposit)
HTTP Verb conveys the method against the resources;; i.e., POST is for create, GET is for balance, etc.
URI conveys the resource to be acted upon;; i.e., Fred’s account with number 1234
The JSON body carries the specific data for the action (verb) against the resource (URI)
IBM z/OS Connect Enterprise Edition V2.0
20
Eclipse-based Tooling for z/OS Connect EE V2.0Eclipse project view, which is familiar to developers who have used Eclipse-tooling for other development projects
API projects can be exported and imported for portability
between developers
Access query parameters from the URI
Assign API function based on HTTP verb
Provide data mapping definitions to the service
API definitions are created through the tool, which is consistent across backend systems (CICS, IMS, etc.)
IBM z/OS Connect Enterprise Edition V2.0
21
Request Mapping CapabilitiesThe API mapping model adds a powerful abstraction layer between the API consumer and the underlying z/OS assets.
• Mapping of HTTP headers, path parameters (URI templates), and query parameters to the fields in the request message JSON body.
• Pass-through, redaction, or defaulting of fields in the request or response message JSON body.• Mapping and defaulting of HTTP headers in the HTTP response message.
HTTP Request Fields
Backend Data Structure
Mapping Actions
IBM z/OS Connect Enterprise Edition V2.0
22
API Archive (AAR) -- API Packaging API Archive (AAR) File• ZIP-format file• Contains Swagger documentation of service• Contains JSON schema and API information• Produced by tooling• Exportable to server runtime | Consumable by tooling
Deploy
Consume
Provides a standardized method for defining, transporting
and deploying services
IBM z/OS Connect Enterprise Edition V2.0
23
Deployable Artifact and Automated Tools
Because the service definitions have been encapsulated into a deployable unit, it becomes eligible for deployment by automated tools. This further enhances productivity.
Eclipse
z/OS Connect EE 2.0 Tooling
z/OS Connect EE V2.0 Server Backend Systems
(CICS, IMS, DB, etc.)
Deploy
Export
Other Deployment
Tools
IBM z/OS Connect Enterprise Edition V2.0
24
Discoverable APIs with OpenAPI Spec (Swagger) 2.0
z/OS Connect EE V2.0 Server Instance
OpenAPI 2.0 Support
/API_one/API_two:
/API_99
Configured APIs
IBM API Connect Management
Any OpenAPI(Swagger)-compatible function or device
OpenAPI(Swagger) UI Function
OpenAPIdescription document
The inclusion of OpenAPI Spec 2.0 support in z/OS Connect EE V2.0 makes exchange of API information
standardized, which provides compatibility with a wider set of devices and functions
z/OS Connect EE V2.0 Tooling
Tooling also produces OpenAPI 2.0 for use by z/OS Connect EE 2
Runtime
Client developers
IBM z/OS Connect Enterprise Edition V2.0
25
Support for Concurrent Multiple Backend Systems
z/OS Connect EE V2.0Server Instance
CICSRegion A
CICSRegion B
IMSRegion X
API System--------------------/Banking CICS A/Mortgage CICS B/Cards CICS B/Commercial IMS X
API Consumers
z/OS Connect EE V2.0 becomes the REST API entry point to the LPAR for access to several backend systems where the data program resides
Duplicate the z/OS Connect EE V2.0 instance for greater availability and/or greater throughput
IBM z/OS Connect Enterprise Edition V2.0
26
Option of Multiple Server Instances for Different Lines of Business
z/OS Connect EE V2.0Server Instance
CICSRegion A
CICSRegion B
IMSRegion X
API Consumers
z/OS Connect EE V2.0Server Instance
API System--------------------/BankingCICS A/Mortgage CICS B/Cards CICS B
API System--------------------/Commercial IMS X
There are times where the business requires operational separation and isolation. In that case, multiple instances of z/OS Connect EE V2.0 applies.
CICSIMS
WebSphereDB2
MobileFirst Platform(cloud)
Why z/OS Connect EE if IMS Mobile Feature Pack in use:
z/OS Connect EE
API
APIAPI
Consider z/OS Connect EE as extension over the IMS Mobile Feature Pack: • IMS Mobile Feature Pack provides basic REST/JSON support (aka
JSON RPC service) • It will continue to be supported via standard support
process • EE provides full RESTful API support facilitated via the new API
Editor (new Eclipse tooling)• New tooling integrates with IMS Explorer
• Cross subsystem support (CICS, IMS, WAS for z/OS,…) • IMS Mobile Feature Pack focused on IMS REST service • EE is strategic area of investment across the z/OS
subsystems • EE supports OpenAPI Spec allowing easy consumption of defined
z/OS APIs by other environments
IBM z/OS Connect Enterprise Edition V2.0
28 © 2016, IBM Corporation
How to Order z/OS Connect EE V2.0Liberty z/OS
z/OS Connect EE V2.0 Runtime
Eclipse
z/OS Connect EE 2.0 Workstation Tooling
z/OS Connect EE V2.0 Runtime• Product Number: 5655-CEE• Service and Support: 5655-CES
z/OS Connect EE V2.0 Workstation Toolingz/OS Connect EE V2.0 workstation tooling is available for download: https://developer.ibm.com/mainframe/
Under the product offerings section, select "z/OS Connect".
Prerequisite information on the next page
Prerequisite information on the next page
IBM z/OS Connect Enterprise Edition V2.0
29 © 2016, IBM Corporation
Hardware and Software PrerequisitesLiberty z/OS
z/OS Connect EE V2.0 Server
Backend Systems
(CICS, IMS, DB, etc.)
• IBM z/OS 2.1 or higher
• IBM 64-bit SDK for z/OS, Java Technology Edition V7.1.0 or V8.0.0
Eclipse
z/OS Connect EE 2.0 Tooling
• IBM CICS Explorer V5.3• IBM IMS Explorer for Development V3.2
• IBM Explorer for z/OS Aqua V3.0
For connectivity to backend systems:• CICS -- CICS TS 4.1 or higher
This is based on the minimum level for the WebSphere Optimized Local Adapter (WOLA) support. For WOLA and Liberty, the minimum CICS TS level is 4.1.
• IMS -- IMS 12 and aboveSee IMS Mobile Feature Pack component of IBM IMS Enterprise Suite for z/OS, V3.1.1 announcement letter 214-220, which details the software requirements. The z/OS Connect EE V2.0 requirements for IMS are the same as are outlined in that announcement letter.
Preview potential capabilities plus the chance to give direct feedback
ibm.biz/zosconnectopenbeta
Resources for IMS Mobile Feature Pack
31
IMS Enterprise Suitehttp://www-01.ibm.com/software/data/ims/enterprise-suite/
IBM z/OS Connect Enterprise Edition V2.0
32 © 2016, IBM Corporation
Resources for Additional Learningz/OS Connect EE V2.0 announcement letterhttp://www.ibm.com/common/ssi/cgi-bin/ssialias?infotype=an&subtype=ca&supplier=897&letternum=ENUS215-493 z/OS Connect EE V2.0 web pagehttp://www-03.ibm.com/software/products/en/zos-connect-enterprise-edition
z/OS Connect EE V2.0 Knowledge Centerhttp://www-01.ibm.com/support/knowledgecenter/SS4SVW_2.0.0/com.ibm.zosconnect.base.doc/welcome/WelcomePage.htmlAPI Management web pagehttp://www-03.ibm.com/software/products/en/api-management-family
z/OS Connect EE V2.0 Techdoc Pagehttp://www.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/WP102604
THANK YOU
QUESTIONS?
BACK UP SCREEN SHOTS OF IMS MOBILE FEATURE PACK TOOLING
35
Explorer For Development - IMS Mobile Perspective
36
IMS Gateway Navigator
37
IMS Connection Profile
38
IMS Interaction Properties
39
IMS Transaction Navigator
40
From the IMS Gateway Navigator view, right click the Services folder and select “Create an IMS mobile transaction service”.
Create REST on mobile server
41
Give the service a name and click browse to select a transaction and the input and output message layouts you want.
Create REST on mobile server
42
Create REST on mobile server
43
Define the interface to the service by selecting the fields to include in the input and output messages (i.e. the mobile applications can only provide values for the included fields). provide any default values for either included or excluded fields. Excluded field default values cannot be overridden by the mobile applications.
Create REST on mobile server
44
On this page of the wizard you can type in remarks describing information about the service.
Create REST on mobile server
45
After clicking Finish you will see that the new service has been added to the IMS Gateway Navigator view.
Create REST on mobile server
46
From the “Run a Test Case” window you can double click an input message field to change its value and then click the “Run” button to test.
Test the REST service
47
Inspect the output message payload in the lower panel to ensure that the transaction was invoked and that it returned the expected output message.
Test the REST service
48
Text view, JSON payload.
Test the REST service