Mobile Application and
Mobile Application and
Mainframe Integration
Russell Bonner
IBM
04/11/2015
Session MH
Agenda
Business drivers for the API Economy
• Mobile, Cloud and Improving consumability and
• Mobile, Cloud and Improving consumability and
governance
• Leveraging z Assets as APIs
End-to-end Architecture and Roles
• z/OS Connect and REST enablement
Demonstration
Discovery of z based Services
Session feedback – Do it online at http://conferences.gse.org.uk/feedback
Discovery of z based Services
Integrate mobile across the Enterprise
• Mobile technology leaders
know they must
integrate
know they must
integrate
mobile applications with
back-end systems such as IMS
& CICS
74% of CIOs
say mobile solutions
say mobile solutions
are part of their vision
for increasing
competitiveness
APIs represent a new,
fast-growing channel
opportunity
Business models
are evolving
Branch
Toll-free
Website
Web APIs
APIs are a path to new business
opportunities
By 2018,
68%
of all mobile apps will be powered by API’s
By 2016,
50%
of
B2B collaboration
will take
Session feedback – Do it online at http://conferences.gse.org.uk/feedback
will take
place through
Web APIs
Sources: Gartner, Predicts 2012: Application Development, 4Q, 2011; Gartner, Govern Your Services and Manage Your APIs with Application Services Governance, 4Q 2012; Gartner, Open for Business: Learn to Profit by Open Data, 1Q 2012
77% of the Top 50 apps connect to a
backend service
Business Drivers for API Management for
z Systems
A.
Mobilizing mainframe assets
• Mobile app requires access to backend services
•
IBM z Systems clients have made a
significant investment
over a
long period of
time
in developing many valuable application assets.
•
Irrespective of the starting point, the same APIs will be effective for all scenarios
• Mobile app requires access to backend services
•
Business requires the
ability to publishthese services to mobile app developers
• Business requires the ability to monitor and manage usage of backend services by new mobile applications
B.
Cloudifying new applications
• Cloud app requires access to backend services
• Business requires the ability to publish these services to (internal and external) app developers
• Business requires the ability to monitor and manage usage of backend services by new cloud applications
C.
Improving consumability and access control to existing assets
controlling workload gaining visibility for chargeback and accountability
• Business requires controlling workloadand gaining visibility for chargeback and accountability
• Business requires agility in modifying existing assets without having to “regression test” the entire set of applications
• Quick access to data trapped in mainframe assets
D.
Participating in the API Economy
• Mobile app requires access to backend services
Businesses are transforming themselves to
participate in the API economy
Expose business services
securely as APIs to developer
IBM API Management
How do you rapidly and
securely expose your
business to this
developer ecosystem?
Provide self-service API
portals to external/internal
app developers
securely as APIs to developer
communities, and analyze API
usage
Session feedback – Do it online at http://conferences.gse.org.uk/feedback
Manage & monitor the entire
API platform
On-premise private Off-premise SaaS Off-premise private HybridWhy API Management?
Business challenges addressed with APIM in exposing z based services/assets
E n t e r p ri On-Premise Enterprise APIs Mobile Applications Cloud-based Services ri s e S e r v i c e s
CICS
IMS
WAS
TPF
Cloud APIsMobile, Cloud and Third-party Applications invoking z Services using APIs
1.
Consumability of the APIs is Key:
1.
Consumability of the APIs is Key:
Easier creation and assembly of API from existing assets/services
Visibility of APIs to internal and external developers
Easier registration (by consuming applications) and set up including managing entitlement
2.
Retaining business control (e.g., enforcing entitlement, accountability/chargeback) and gaining
business insight in API invocation
Securing APIs using a secure GW from unwanted external invocations (mapping to application level security) and enforcing workload entitlement
Business Monitoring of API access in gaining business insight on the use of APIs by external applications, and for accountability/chargeback
Exposing Enterprise Services as APIs
SOA efforts have been driven by achieving developers’ productivity
gain and enabling reuse of functions, i.e., focused on development of
services.
•
Improving consumability includes listing APIs in a
browsable/searchable catalog, and making it easy to register
applications with the right entitlement level
API Management, on the other hand, is driven by consumption of
these services, i.e., improving consumability of these services for both
external and internal developers of applications accessing these APIs,
while also retaining control by the providers of these APIs
Session feedback – Do it online at http://conferences.gse.org.uk/feedback
applications with the right entitlement level
•
Retaining control includes not only enforcing entitlements and
managing workloads, but also providing insight based on access
history and accountability for chargeback.
Roles in Three-tier Architecture for API
Creation and Consumption
1.
Bob: Development of Enterprise services from existing z assets,
making it easy to invoke these applications
making it easy to invoke these applications
•
z application environments (CICS, IMS, WAS) provides tools and runtimes to develop and invoke
Web and REST based services from applications based on COBOL and PL/I
•
IT role (Bob) is knowledgeable about this SW stack
2.
Sharon: Development and management of Enterprise APIs for
exposing existing enterprise services
•
Addressing consumption and governance of APIs
•
Create an API, discover a suitable existing service, and assemble this API from this service
3.
Jane: Development of Mobile, Cloud or Third-party Applications
3.
Jane: Development of Mobile, Cloud or Third-party Applications
consuming APIs
•
Browse catalog and identify APIs to consume
•
Register an application that will consume a specific API at a specified entitlement level
•
Use of developer portal to test APIs
End-to-End Architecture for Mobile, Cloud
and Third-party Applications accessing z
Assets/Services using APIs
On-Premise API Management
Mobile Applications Cloud-based Services E n t e r p ri Access to systems of
records and enterprise data via APIs
Create, Publish, Manage & Socialize APIs
(IBM API Management)
1. Develop Services
(Web or REST)
Cloud APIs Enterprise Transaction Processing ri s e S e r v i c e sCICS
IMS
WAS
TPF
2. Develop
Enterprise API s
3. Mobile/Cloud
App Enablement
Enterprise APIs
Security & Integration API Gateway
(IBM DataPower Appliance)
(IBM API Management)
APIM Communication with GW
Session feedback – Do it online at http://conferences.gse.org.uk/feedback
Processing
Jane -
Mobile app developerUses APIs to access Back-End services
Bob –
developer of z based ServicesDevelops services from CICS, IMS and other z applications
Service Enablement
•Enables invocation of z applications by remote applications using standard protocols (WSDL, REST)
•Converts SOAP or JSON into application specific (e.g., COBOL, PL/I) data and invokes applications
API Management
•Consumability by internal and external developers (creation and look up)
•Entitlement Management (securing, workload enforcement)
•Usage monitoring & Analytics
Mobile/Cloud/Third-party
Application Development
•Invokes APIs for accessing SOR
Sharon –
API developerLife-cycle of APIs and Services
Identify
API Life-cycle
Service Life-cycle
Identify business need for an API Define, Discover assets & Assemble an API Consume & Provide feedback by communities Identify a Service Implement a Service Consume & provide new requirements
Asset
Discovery
New asset
requirements
Manage as a product
Test & Publish an API Publish to Catalogs/ Developer communitiesManage as an asset
Test, Deploy and Publish a service Integrate with Business ProcessesDiscovery
Invocation of z Systems based Services
CICS
API
Invocation
Create, Publish, Manage & Socialize APIs
(IBM API Management)
Web
Services
E n t e r pz/OS
Connect
JSON
WAS Liberty
Security & Integration API Gateway
IBM DataPower Appliance
On Premise
API Management
REST
Services
WOLA based servicesWeb
Services
IM S S O A P G a te w a y p r i s e S e r v i c e sSession feedback – Do it online at http://conferences.gse.org.uk/feedback
z Systems
Service Development Tool and Enablement Runtimes
Web Services
CICS and IMS provides separate tools and runtimes; TPF provides runtime libraries
REST/JSON
CICS and IMS use common z/OS Connect runtime z/OS Connect can be stand alone or embedded
Very High Level View of z/OS Connect
It provides a REST/JSON interface handler on z/OS, based on Liberty Profile z/OS
z/OS Logical Partition (LPAR)
1. Liberty Profile z/OS
Mobile Access
Backend
Systems
REST(JSON)
3. z/OS
Connect
2. WOLASession feedback – Do it online at http://conferences.gse.org.uk/feedback
17
z/OS Connect – More Detail
It’s 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:
CICS
Where z/OS
Connect fits
Mobile
Ecosystem
IMS
Batch
Other
REST
– Representational State Transfer …
Connect fits
• Liberty Profile Server
• Function IBM wrote to run in Liberty Profile
z/OS
Connect
Session feedback – Do it online at http://conferences.gse.org.uk/feedback
Other
REST
– Representational State Transfer …
the use of HTTP URLs that map to a ‘service’,
such as ‘query account’ or ‘update data’
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
• No charge function provided with license entitlement to WAS z/OS, CICS or IMS
DB2*
z/OS Connect – Summary in One Picture
Liberty Profile for z/OS
z/OS
CICS
IMS
Data Transform
1 4 3 6 8z/OS
Connect
Servlet
IMS
DB2
Interceptors
Service Providers
RESTful
JSON
3 5 7z/OS Connect is software function that
server.xml
2
One part of z/OS Connect is ‘Interceptors’ are callout points
1
4
7
Batch
z/OS Connect is software function that runs in Liberty Profile for z/OS.
z/OS Connect is described and configured in the Liberty
server.xml file
z/OS Connect is designed to accept RESTful URIs with JSON data payloads
A ‘Service Provider’ is software that provides the connectivity to the backend system
One part of z/OS Connect is a servlet that runs in Liberty Profile z/OS.
z/OS Connect provides the ability to transform JSON to the layout required by backend
‘Interceptors’ are callout points where software can be invoked to do things such as SAF
authorization and SMF activity recording
Backend systems supported are CICS, IMS, Batch, and DB2 (in-plan)
1
2
3
4
5
6
7
8
What is Service Discovery?
Identifying an existing service for performing a specific
intended business function, and getting detailed
definition of the service
definition of the service
1.
Identifying: Searching, browsing, understanding and eventually,
selecting a service from a set of services
Querying to retrieve a list of matching services
Browsing information on retrieved services
Getting additional details as necessary in understanding a service
Selecting a service when a service is deemed a good match
2.
Getting detailed service definition: Retrieving various details
of a selected service
Session feedback – Do it online at http://conferences.gse.org.uk/feedback
of a selected service
Service schema and description (e.g., WSDL or JSON) for API definition
Getting additional technical details for API assembly including details on
runtime invocation and security protocols
Why is Discovering a Matching Service
Challenging?
Identifying a service or code for reuse
Need to ensure that the code performs the intended functions for
the consuming application
A good service documentation needs to include
•
not just the technical details on the interface,
•
but also the semantics of the terms, constraints on use,
•
and description of business functions it performs
Even for code reuse by the same development organization, needs
to look back at the associated business requirements, unless key
information is codified as associated business metadata, e.g.,
business classification of transactions, such as Payment, credit,
etc.
Session feedback – Do it online at http://conferences.gse.org.uk/feedback
Discovery and Invocation of z Systems
based Services
CICS
API
Invocation
Create, Publish, Manage & Socialize APIs
(IBM API Management)
Web
Services
E n t e rz/OS
Connect
JSON
WAS Liberty
Security & Integration API Gateway
IBM DataPower Appliance
On Premise
API Management
Discovery
services
Services
REST
Services
WOLA based servicesWeb
Services
IM S S O A P G a te w a y r p r i s e S e r v i c e s NEW NEWz System
API Management
Services
IMS S O A P G a te w a y
CICS
Discovery of z Services for API Development
1. Get a list of deployed services (Service Identification)
-Filter based on technical and business service attributes
2. Get schema for a specific service (API Definition)
3. Get additional deployment details for a service (API Assembly)
-E.g., security protocol support, invocation uri
Service Development Tool and
Enablement Runtimes
Web Services
CICS and IMS provides separate tools and runtimes; TPF provides runtime libraries
REST/JSON
APIM and z Systems Service Discovery
z/OS Connect (IMS, etc..)
API Management
System z
1. Discover z SOR SOAP Service
IMS
ES IMS SOAP Gatewayetc…
SOAP ServiceSOAP Service REST ServiceREST ServiceREST Service 2. Create API Cloud / Bluemix appsDevelopment Time
Run Time
APISession feedback – Do it online at http://conferences.gse.org.uk/feedback Mobile apps API API Web apps apps Others… :
Step 1: Define Service Registry in APIM
Add SOAP Gateway as a custom
registry in APIM
Specify host, port and the
context root of the SOAP
Gateway service registry
Step 2: Discover, search and add API for z
System services
2a. Specify text to search for specific service or leave blank for
With the SOAP Gateway registry selected, discover services by clicking
the search icon
2b. A list of service containing the search text “IMS” is returned 2c. Select the desired
service to create API
specific service or leave blank for
all services Click icon to Search
Session feedback – Do it online at http://conferences.gse.org.uk/feedback
the search icon
You can specify a text string to search for specific service. Or leave the
search field blank to retrieve all services.
Once the list of matching services returned, select check box for the
desired service to create API.
Step 3: API for z Service is created
A new API is created for the IMS SOAP service. It is added to the list of APIs managed by
APIM
Summary
• The "API economy” has changed how developers think
about building apps, and how organizations deploy software
in the cloud:
in the cloud:
– Mobile technology leaders know they must
integrate
mobile applications
with back-end systems
– By 2018,
68%
of all mobile apps will be powered by API’s
• Managing APIs is essential for:
– Enabling z Systems assets for mobile
Session feedback – Do it online at http://conferences.gse.org.uk/feedback
– Enabling z Systems assets for mobile
– Improving consumability and access control to existing assets
– Participating in the API Economy
Related YouTube Videos
z Systems Mobile Overview:
https://www.youtube.com/watch?v=wYgAfj6Mkf8
CICS Transaction Gateway:
https://www.youtube.com/watch?v=VxGNak61YCs&list=PLJxIWNrnCsg-trgtkb97rr_4qt89yWaJX
CICS Mobile Feature Pack:
https://www.youtube.com/watch?v=Sqtlm1jxpBI
z/OS Connect:
https://www.youtube.com/watch?v=YIOo1iUVcDc
IBM Integration Bus:
https://www.youtube.com/watch?v=OsupggMxm18&list=PLOba5cuqhfmSCRPnQQWmW
yMvLbTAyh-Zu
Thank You
Session feedback
• Please submit your feedback at
http://conferences.gse.org.uk/feedback
This is the last slide in the deck