Date post: | 08-Apr-2017 |
Category: |
Software |
Upload: | teodoro-cipresso |
View: | 24 times |
Download: | 2 times |
1 05/02/2023
InterConnect2017
Why z/OS is a Great Platform for Developing and Hosting APIs
Teodoro Cipresso, IBM z/OS Connect [email protected]
Bruce Armstrong, IBM z/OS Connect Offering Manager [email protected]
Session# HAW-3223
2 05/02/2023
Please noteIBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion.
Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision.
The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract.
The development, release, and timing of any future features or functionality described for our products remains at our sole discretion.
Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming inthe user’s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
The Belief
3
The Reality
CICSIMS
WebSphereDB2z/OS Connect
API
APIAPI
MQ
44
Why z Systems?
• Mainframe applications are integral to business• Their transactions and data access can be published as
fully RESTful APIs • Modern z/OS is built with hybrid cloud and mobile
development in mind • You can drive a CICS/IMS/DB2/MQ or other transactions
from a mobile or Cloud app… without even knowing it
5
Connected Appliances
Partners
Websites
APIs
Trillions 2018+
Tablets
Internet TVs
Smartphones
Game Consoles
Connected Cars
• Provides sub-second response time, even under extreme loads
SecureResponsive
Scalable
• Enables in-transaction analytics
• Scalability – best vertical scalability on the market to support millions of online users
• Security – has earned the highest level of security certification
• Availability – 24x7x365
• Reliability – 99.999% uptime
The mainframe can take on this challenge
6
7 05/02/2023
The New Mainframe: Home of RAS, Security, Scalability, Mobility, and Open API.
“The New Mainframe has an unrivaled ability to serve end users by the tens of thousands, manage petabytes of data, and reconfigure hardware and software resources to accommodate changes in workload—all from a single point of control.”
8 05/02/2023
The New Mainframe – Today and Tomorrow
• The mainframe’s popularity and longevity are owed to its inherent reliability and stability.
• No other computing platform can claim as much continuous improvement while maintaining backwards compatibility.
• Mainframes are ideal for the [hybrid] cloud, or wherever the future takes us, as they are designed to support:
• Large numbers of users and applications that need concurrent and efficient access to shared data.
• Very high-bandwidth communication to storage devices, other mainframes, and the network.
• Reconfiguring of hardware and software without requiring a scheduled outage in many cases.
Image credit: illumin.usc.edu
9 05/02/2023
The New Mainframe – Reliability Availability Serviceability
• A system is said to exhibit “RAS characteristics” if:• Hardware is self-checking and issues alerts when failure is
imminent or has already occurred.
• Failed hardware is automatically replaced by redundant hardware without impacting the rest of the system.
• Software is extensively tested before being deployed.
• Software can be quickly updated when problems are detected despite extensive testing.
• The overall system can recover from severe errors in software, preventing an unplanned outage.
• The system can determine why a hardware or software failure occurred, informing corrective next steps.
10 05/02/2023
The New Mainframe – Reliability Availability Serviceability
• The mainframe and its associated software have evolved such that months or even years can pass between outages.
• When the system is unavailable because of planned or unplanned outages, the interruption is typically very brief.
• The remarkable availability of the mainframe, and ease with which problems can be resolved, makes for a quite reliable and serviceable system.
“IBM spent $1 billion developing a new refrigerator-sized mainframe. It makes sense. For companies that require
100% uptime, public clouds simply aren't feasible.”
Timothy Green, The Motley Foolhttps://www.fool.com/investing/general/2015/01/24/heres-why-ibm-is-still-building-mainframes.aspx
11 05/02/2023
The New Mainframe – Security
• A secure system is protected through special hardware and software, policies, and practices against data corruption, destruction, interception, loss, or unauthorized access.
• Services provided by a secure system:
1. Authentication: are you who you say you are?
2. Authorization: are you allowed to do that?
3. Integrity: has the data been tampered with?
4. Privacy: is sensitive data encrypted?
5. Non-repudiation: we’re sure you did it!
12 05/02/2023
The New Mainframe – Security
• The mainframe and its associated software provide comprehensive security services that far exceed the basic requirements of a secure system.
Authentication
Authorization
Integrity
Privacy
Non-repudiation
z/OS Cryptographic Services
z/OS Network Security Services
z/OS Security Server (RACF)
z/OS System Logger
13 05/02/2023
The New Mainframe – Scalability
• The ease with which one can add capacity without disruption to normal business processes or without incurring excessive overhead is largely determined by the scalability of a system.
• In a scalable system, hardware and software continues to function and remain performant as processors, memory, and storage are added to handle an increased workload or removed in response to a decreased workload.
14 05/02/2023
The New Mainframe – Scalability
• Mainframes can significantly reduce TCO due to advanced virtualization capabilities that allow many operating system instances to run on a single mainframe.
• Up to 85 independent z/OS operating system instances can be run simultaneously on a z13 through logical partitioning (LPARs).
• Linux on an IBM z13 mainframe system can support up to 8000 virtual machines which is ideal for large scale consolidation.
“…one modern mainframe can not only run its own environment, but also virtualize hundreds or even thousands of more pedestrian servers — all at the same time. Think about that for a second. Have an explosive growth in user activity? Which feels more scalable to you — adding another thousand individual boxes, or one more mainframe?”
“..mainframes have many, many more CPUs running simultaneously than do smaller boxes, as well as much more available memory. What this means in scalability terms is that the mainframe has power where it needs it, when it needs it, with much fewer complications than trying to move workloads around thousands of smaller servers.”
Caitlin Hughes, Advanced Software Products Grouphttp://aspg.com/reasons-why-mainframes-still-matter/#.WMMe72_ytEY
15 05/02/2023
The New Mainframe – Mobility and Flexibility• Developers like to take their work around with them, be it to the
cafeteria, to a coffee shop, on a plane…
• Like other makers, developers prefer to setup a workbench where all the tools they need to do their job properly are organized to their taste.
• Developers expect environments they create using their workbench to be destructible, so that mistakes can be made, recovered from, and learned from.
• Within their own workbench developers prefer to have full authority over all the tools and their configuration, so they can make progress without bothering other busy people.
16 05/02/2023
The New Mainframe – Mobility and Flexibility
https://www.techvalidate.com/tvid/C99-3E2-1ED
“zD&T improved our development and testing timeline and provided stability and quality” Developer, Large Enterprise Computer Services Company
17 05/02/2023
zD&T: Add Mainframe Development and Test Capacitywithout increasing your MIPS
Note: This Program is licensed only for development and test of applications that run on IBM z/OS. The Program may not be used to run production workloads of any kind, nor more robust development workloads including without limitation production module builds, pre-production testing, stress testing, or performance testing.
Affordable off host development
and test environment
z/OS
COBOL, PL/I, C++, Java,
EGL, Batch, Assembler,
X86 PC or HX5 Blade
running Linux
IBM SoftLayer Infrastructure
zD&T
z Systems
Development and Test
Environment (zD&T)
WAS
MQ
DB2
DT
CICS
IMS
RIT
UCD
RTC
IDz
zD&T helps address the following challenges:
• Insufficient mainframe Dev & Test LPAR availability leads to defects and missed schedules
• Tightly controlled mainframe environment prevents agile experimentation and prototyping
• High cost of mainframe development and test hardware and software
• Skill gaps due to off shoring, outsourcing or the majority of skills being near retirement
• Slow response time for off shore teams needing development access
ZCON
“zD&T improved our development and testing timeline and provided stability and quality” Developer, Large Enterprise Computer Services Company
18 05/02/2023
The New Mainframe – Open API• To programmers, consuming APIs is a daily practice as most
products document APIs that can be called from applications.
• What we’re interested in here are REST APIs, which are agnostic of hardware, OS, and programming languages.
• Why are REST APIs good for your business?
• Your developers can compose apps more quickly by incorporating tested APIs instead of reinventing functionality which will then need to be tested.
• Other businesses can compose apps that incorporate APIs you’ve chosen to make public which can bring new customers and increased revenue.
• The Open API specification (openapis.org), makes it easy for people and machines to understand the capabilities of an API without access to source code, online help,…,etc.
http://openapis.org
20 05/02/2023
Introduction to the Open API Specification & Tools
“When an API is properly defined via Open API, a consumer can understand and interact with the remote service with a minimal amount of implementation logic. Similar to what interfaces have done for lower-level programming, Swagger removes the guesswork in calling the service.”
Open API (Swagger) Spec and Tools (openapis.org)Swagger EditorAn editor for designing Swagger specifications from scratch, using a simple YAML structure.
Swagger UIUse a Swagger specification to drive your API documentation.
SDK GeneratorsTurn an API spec into client SDKs or server-side code with Swagger Codegen.
21
Swagger Editor – Develop an API SpecificationSwagger EditorAn editor for designing Swagger specifications from scratch, using a simple YAML structure.
Swagger UIUse a Swagger specification to drive your API documentation.
SDK GeneratorsTurn an API spec into client SDKs or server-side code with Swagger Codegen.
22
Swagger UI – “Try out” an APISwagger EditorAn editor for designing Swagger specifications from scratch, using a simple YAML structure.
Swagger UIUse a Swagger specification to drive your API documentation.
SDK GeneratorsTurn an API spec into client SDKs or server-side code with Swagger Codegen.
23
SDK Generators – Integrate or Implement an APISwagger EditorAn editor for designing Swagger specifications from scratch, using a simple YAML structure.
Swagger UIUse a Swagger specification to drive your API documentation.
SDK GeneratorsTurn an API spec into client SDKs or server-side code with Swagger Codegen.
24
25 05/02/2023
Compose APIs from Multiple z Subsystems and Harness their Unique Strengths.
“z/OS Connect Enterprise Edition makes it possible to create new value by enabling the creation of APIs that bring together multiple, disparate, z subsystem assets.”
26 05/02/2023
Scenario
• A business analyst at the OfficeMix company determines that an API which allows consumers to browse for and order office supplies is required to expedite development of client-facing mobile and Web applications.
• Due to several mergers and acquisitions, the OfficeMix company already has the required application logic and databases, but they are spread across multiple z subsystems.
27 05/02/2023
Catalog ManagerIVP application
Phonebook IVP application
ORDERSNew Table
OfficeMix API Multi-Subsystem Demo
Swagger UI
Swagger Codegen
TestGenerate
Swagger Client
1 service
3 services
3 se
rvice
s1 API
28 05/02/2023
Creating a CICS WOLA service – Configure
29 05/02/2023
Creating a CICS WOLA service – Generate
30 05/02/2023
Creating a CICS WOLA service – Deploy
// PROGRAM DFH0XCMN
// SERVICE BASED ON DFH0XCMN
// SERVICE BASED ON DFH0XCMN
// SERVICE BASED ON DFH0XCMN
31 05/02/2023
Creating a CICS WOLA Service – Test
32 05/02/2023
Creating a CICS WOLA Service – More Information
• z/OS Connect Enterprise Edition V2.0 Getting Started Guide, http://ibm.co/2nB50zl
• Develop an API to invoke a CICS service via WOLA, http://ibm.co/2nB8Qsl
33 05/02/2023
Creating a DB2 REST Service – Configure
34 05/02/2023
Creating a DB2 REST Service – Create a Database (Optional)
35 05/02/2023
Creating a DB2 REST Service – Deploy (DB2ServiceManager)
36 05/02/2023
Creating a DB2 REST Service – Get Details
37 05/02/2023
Creating DB2 REST Client Services – Configure
38 05/02/2023
Creating DB2 REST Client Services – Deploy
39 05/02/2023
Creating DB2 REST Client Services – Test
40 05/02/2023
Creating DB2 REST Client Services – More Information
• DB2 REST services, http://ibm.co/2nB1vc7
41 05/02/2023
Creating an IMS REST Service – IMS Explorer
42 05/02/2023
Creating an IMS REST Service – More Information
• Using the IMS service provider, http://ibm.co/2nB2IjF
43 05/02/2023
Creating a z/OS Connect EE API – Design
44 05/02/2023
Swagger Client
/officemix/v1/customers/{lastName}
add|get|update|deleteCustomer()/catalog/items
getItems()/catalog/items/{itemID}
getItem()/catalog/order
placeOrder()/orders
getOrders()/orders/{orderID}
get|deleteOrder()
If you customize the Operation IDs when defining your API using the z/OS Connect EE API Editor, Swagger Codegen will produce helpful method names in the generated client code.
{
45 05/02/2023
Creating a z/OS Connect EE API – Deploy
46 05/02/2023
Creating a z/OS Connect EE API – Test
47 05/02/2023
Creating a z/OS Connect EE API – Test (cont’d)
48 05/02/2023
Generate a Node.js Client – Swagger Editor
49 05/02/2023
Generate a Node.js Client – Documentation
50 05/02/2023
How to Handle the Impact of Change in z Subsystem Assets on z/OS Connect APIs.
“The z/OS Connect EE API Editor helps you deal with change in z subsystem assets by providing impact analysis and automatically integrating changes with error feedback.”
51 05/02/2023
Catalog ManagerIVP application
Phonebook IVP application
ORDERSNew Table
OfficeMix API Impact Analysis Demo
Swagger UI
Swagger Codegen
TestGenerate
1 service
3 services
3 se
rvice
s1 API
Deal with change in services
Swagger Client
52 05/02/2023