why z/os is a great platform for developing and hosting apis

52
InterConnec t 2017 Why z/OS is a Great Platform for Developing and Hosting APIs Teodoro Cipresso, IBM z/OS Connect Developer [email protected] Bruce Armstrong, IBM z/OS Connect Offering Manager [email protected] Session# HAW-3223 1 04/24/2022

Upload: teodoro-cipresso

Post on 08-Apr-2017

23 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Why z/OS is a Great Platform for Developing and Hosting APIs

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

Page 2: Why z/OS is a Great Platform for Developing and Hosting APIs

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.

Page 3: Why z/OS is a Great Platform for Developing and Hosting APIs

The Belief

3

Page 4: Why z/OS is a Great Platform for Developing and Hosting APIs

The Reality

CICSIMS

WebSphereDB2z/OS Connect

API

APIAPI

MQ

44

Page 5: Why z/OS is a Great Platform for Developing and Hosting APIs

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

Page 6: Why z/OS is a Great Platform for Developing and Hosting APIs

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

Page 7: Why z/OS is a Great Platform for Developing and Hosting APIs

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.”

Page 8: Why z/OS is a Great Platform for Developing and Hosting APIs

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

Page 9: Why z/OS is a Great Platform for Developing and Hosting APIs

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.

Page 10: Why z/OS is a Great Platform for Developing and Hosting APIs

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

Page 11: Why z/OS is a Great Platform for Developing and Hosting APIs

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!

Page 12: Why z/OS is a Great Platform for Developing and Hosting APIs

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

Page 13: Why z/OS is a Great Platform for Developing and Hosting APIs

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.

Page 14: Why z/OS is a Great Platform for Developing and Hosting APIs

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

Page 15: Why z/OS is a Great Platform for Developing and Hosting APIs

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.

Page 16: Why z/OS is a Great Platform for Developing and Hosting APIs

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

Page 17: Why z/OS is a Great Platform for Developing and Hosting APIs

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

Page 18: Why z/OS is a Great Platform for Developing and Hosting APIs

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

Page 19: Why z/OS is a Great Platform for Developing and Hosting APIs

19 05/02/2023

The New Mainframe – Open API

http://openapis.org

Page 20: Why z/OS is a Great Platform for Developing and Hosting APIs

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.”

Page 21: Why z/OS is a Great Platform for Developing and Hosting APIs

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

Page 22: Why z/OS is a Great Platform for Developing and Hosting APIs

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

Page 23: Why z/OS is a Great Platform for Developing and Hosting APIs

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

Page 24: Why z/OS is a Great Platform for Developing and Hosting APIs

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

Page 25: Why z/OS is a Great Platform for Developing and Hosting APIs

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.”

Page 26: Why z/OS is a Great Platform for Developing and Hosting APIs

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.

Page 27: Why z/OS is a Great Platform for Developing and Hosting APIs

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

Page 28: Why z/OS is a Great Platform for Developing and Hosting APIs

28 05/02/2023

Creating a CICS WOLA service – Configure

Page 29: Why z/OS is a Great Platform for Developing and Hosting APIs

29 05/02/2023

Creating a CICS WOLA service – Generate

Page 30: Why z/OS is a Great Platform for Developing and Hosting APIs

30 05/02/2023

Creating a CICS WOLA service – Deploy

// PROGRAM DFH0XCMN

// SERVICE BASED ON DFH0XCMN

// SERVICE BASED ON DFH0XCMN

// SERVICE BASED ON DFH0XCMN

Page 31: Why z/OS is a Great Platform for Developing and Hosting APIs

31 05/02/2023

Creating a CICS WOLA Service – Test

Page 32: Why z/OS is a Great Platform for Developing and Hosting APIs

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

Page 33: Why z/OS is a Great Platform for Developing and Hosting APIs

33 05/02/2023

Creating a DB2 REST Service – Configure

Page 34: Why z/OS is a Great Platform for Developing and Hosting APIs

34 05/02/2023

Creating a DB2 REST Service – Create a Database (Optional)

Page 35: Why z/OS is a Great Platform for Developing and Hosting APIs

35 05/02/2023

Creating a DB2 REST Service – Deploy (DB2ServiceManager)

Page 36: Why z/OS is a Great Platform for Developing and Hosting APIs

36 05/02/2023

Creating a DB2 REST Service – Get Details

Page 37: Why z/OS is a Great Platform for Developing and Hosting APIs

37 05/02/2023

Creating DB2 REST Client Services – Configure

Page 38: Why z/OS is a Great Platform for Developing and Hosting APIs

38 05/02/2023

Creating DB2 REST Client Services – Deploy

Page 39: Why z/OS is a Great Platform for Developing and Hosting APIs

39 05/02/2023

Creating DB2 REST Client Services – Test

Page 40: Why z/OS is a Great Platform for Developing and Hosting APIs

40 05/02/2023

Creating DB2 REST Client Services – More Information

• DB2 REST services, http://ibm.co/2nB1vc7

Page 41: Why z/OS is a Great Platform for Developing and Hosting APIs

41 05/02/2023

Creating an IMS REST Service – IMS Explorer

Page 42: Why z/OS is a Great Platform for Developing and Hosting APIs

42 05/02/2023

Creating an IMS REST Service – More Information

• Using the IMS service provider, http://ibm.co/2nB2IjF

Page 43: Why z/OS is a Great Platform for Developing and Hosting APIs

43 05/02/2023

Creating a z/OS Connect EE API – Design

Page 44: Why z/OS is a Great Platform for Developing and Hosting APIs

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.

{

Page 45: Why z/OS is a Great Platform for Developing and Hosting APIs

45 05/02/2023

Creating a z/OS Connect EE API – Deploy

Page 46: Why z/OS is a Great Platform for Developing and Hosting APIs

46 05/02/2023

Creating a z/OS Connect EE API – Test

Page 47: Why z/OS is a Great Platform for Developing and Hosting APIs

47 05/02/2023

Creating a z/OS Connect EE API – Test (cont’d)

Page 48: Why z/OS is a Great Platform for Developing and Hosting APIs

48 05/02/2023

Generate a Node.js Client – Swagger Editor

Page 49: Why z/OS is a Great Platform for Developing and Hosting APIs

49 05/02/2023

Generate a Node.js Client – Documentation

Page 50: Why z/OS is a Great Platform for Developing and Hosting APIs

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.”

Page 51: Why z/OS is a Great Platform for Developing and Hosting APIs

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

Page 52: Why z/OS is a Great Platform for Developing and Hosting APIs

52 05/02/2023