32
1 © 2015 IBM Corporation © 2017 IBM Corporation Z Creating and managing APIs with API Connect z API Roadshow Eric Phan z Systems IT Specialist [email protected]

Creating and managing APIs with API Connect - IBM€¦ · •12:15 Creating and managing APIs with API Connect •13:15 LUNCH •14:00 Securing APIs from End-to-End •15:00 Architecture

  • Upload
    lynhu

  • View
    238

  • Download
    4

Embed Size (px)

Citation preview

1 © 2015 IBM Corporation© 2017 IBM Corporation

Z

Creating and managing APIs with API Connectz API Roadshow

Eric Phanz Systems IT [email protected]

2 ©2016IBMCorporation2 © 2017 IBM Corporation

Agenda• 09:30Registration&Coffee• 10:00Welcome&TrendsintheAPIEconomy:theBusinessOpportunity• 10:30CreatingAPIsfrommainframeapplicationswithz/OSConnect• 11:30BREAK• 12:15CreatingandmanagingAPIswithAPIConnect• 13:15LUNCH• 14:00SecuringAPIsfromEnd-to-End• 15:00ArchitectureOptionsforAPIEnablingzSystems• 15:45 IBMEngagementOfferings&ClosingComments• 15:00CLOSE

3 ©2016IBMCorporation3 © 2017 IBM Corporation

Session Agenda• SoE exampleAppconsumingAPIs

• APIConnect:Overview

• Demonstration– ManageAPIs

• InteractionAPI

• Summary

4 ©2016IBMCorporation4 © 2017 IBM Corporation4 ©2016IBMCorporation4 © 2017 IBM Corporation

z/OS

CICS

z/OSConnectEEV2.0

https/json

GET/items?startItemIDGET/items/{itemID}POST/orders

Services

API

inquireCataloginquireSingleplaceOrder

GET /items?startItemID=<value>

GET /items/{itemID}

POST /orders + (JSONwithitemreferenceandquantity)

HTTPVerbconveysthemethodagainsttheresources;i.e.,POSTisforcreateorder,GETisforretrievinginformationabout

itemsinthecatalog

URIconveystheresourcetobeactedupon;i.e.,

itemreference

TheJSONbodycarriesthespecificdatafortheaction(verb)againsttheresource

(URI)

InquireItem

PlaceOrder

DFH0XCMN

InquireCatalog

VSAM

SampleAPIresponse

CatalogManagerAPIwithCICS

5 ©2016IBMCorporation5 © 2017 IBM Corporation

CICS

MobileApp

zSystems

OverallArchitecture– PhoneBookMobileApp

API Gateway

Interaction API

-𝜇Service

App

z/OS

GoogleMaps

6 ©2016IBMCorporation6 © 2017 IBM Corporation6 ©2016IBMCorporation6 © 2017 IBM Corporation

On-premise

OpenAPI(swagger2.0)SecureGateway

z/OSCo

nnect

APITraffic

SoE exampleAppconsumingAPIs

API

Con

nect

Bluemix

7 ©2016IBMCorporation7 © 2017 IBM Corporation7 ©2016IBMCorporation7 © 2017 IBM Corporation

APIEconomyValueChain

Existing Enterprise IT Investments

Exposed as APIs

Self Service Consumed by

Developers

To Develop Innovative Apps

Delivering Differentiated

B2C, B2B, B2E Experiences

Consumer Provider

{}

8 ©2016IBMCorporation8 © 2017 IBM Corporation8 ©2016IBMCorporation8 © 2017 IBM Corporation

APIEconomyActors

API Developer• How do I create APIs?• How do I manage security?• How do I test my APIs?

App Developer• Where do I access APIs?• How do I understand the APIs?• How do I measure success?

API Product Manager• How can I rapidly release & update my APIs?• How do I publicize my API?• How do I measure success?

9 ©2016IBMCorporation9 © 2017 IBM Corporation9 ©2016IBMCorporation9 © 2017 IBM Corporation

APIEconomyValueChain

Existing Enterprise IT Investments

Exposed as APIs

Self Service Consumed by

Developers

To Develop Innovative Apps

Delivering Differentiated

B2C, B2B, B2E Experiences

Consumer Provider

{}

App Developer

APIProduct Mgr

APIDeveloper

10 ©2016IBMCorporation10 © 2017 IBM Corporation10 ©2016IBMCorporation10 © 2017 IBM Corporation

What is API Connect?An integrated creation, runtime, management, and security foundation for enterprise grade API’s and Microservices to power modern digital applications

What does API Connect provide?• Automated, visual and coding options for creating APIs• Node.js and Java support for creating Microservices• Integrated enterprise grade clustering, management and security for

Node.js and Java• Lifecycle and governance for APIs, Products and Plans• Access control over API’s, API Plans and API Products• Advanced API usage analytics • Customizable, self service developer portal for publishing APIs • Policy enforcement, security and control

Create Run

ManageSecure

Simplified&ComprehensiveAPIfoundation

11 ©2016IBMCorporation11 © 2017 IBM Corporation11 ©2016IBMCorporation11 © 2017 IBM Corporation

API ManagerDeveloper Portal DeveloperToolkit

API Gateway Interaction API𝞵 Service

App Developer

Create&Run(Node/JAVA)

WheredoesAPIConnectfit?

z System / Legacy Apps

Cloud Service

Application Server

ESB / Middleware

Data Store

Provider (Systems of Record)

Consumer (Systems of Engagement)

• Checks(security/message)• Transformation• TrafficControl• Monitoring- Analytics

Manage

Secure

Deployment Options:

Bluemix Public, Bluemix Dedicated

On Premise or Customer Cloud

12 ©2016IBMCorporation12 © 2017 IBM Corporation12 ©2016IBMCorporation12 © 2017 IBM Corporation

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

App

ESB

System API

WebService

System API

TH GSINwww

Interaction API

System&InteractionAPIs

13 ©2016IBMCorporation13 © 2017 IBM Corporation13 ©2016IBMCorporation13 © 2017 IBM Corporation

API Gateway Description RecommendationMicro Gateway Node.js in Liberty

CollectiveInternal consumption of APICollocation with runtimesInherit of platform cryptographyaccelerations

IBM DataPower Gateway –Virtual Appliance

Virtual image running on a hypervisor

Enterprise API gateway

IBM DataPower Gateway –Physical Appliance

Physical box API for consumption by external (e.g. mobile, web, IoT, 3rd party) or business partner apps in the DMZ

APIGatewaychoices

14 ©2016IBMCorporation14 © 2017 IBM Corporation14 ©2016IBMCorporation14 © 2017 IBM Corporation

MicroGateway

APIGatewayPolicies

DataPower

Samelogic functions

Differentpoliciesfunctions

15 ©2016IBMCorporation15 © 2017 IBM Corporation15 ©2016IBMCorporation15 © 2017 IBM Corporation

API Connect Essentials (Free) Professional EnterpriseBuilt For Developer Department;

Single projectDepartments &

Cross-enterpriseGateways included

MicroGateway MicroGatewayDataPower Virtual

MicroGatewayUpgrades available DataPower Virtual

DataPower PhysicalDataPower Virtual

DataPower Physical DataPower Physical

• All editions of API Connect provide integration with DataPower as the API Gateway• API Connect Enterprise includes DataPower Gateway Virtual Edition to provide comprehensive

API Gateway security, traffic management, mediation & optimization functionality for enterprise deployments

• Is the upgrade path for existing IBM API Management v4 clients• API Connect Essentials and Professional are powered by a programmable MicroGateway that

empowers developers and supports single departmental/small projects starting their API journey• Option to utilize DataPower Gateway to meet advanced, enterprise-grade API Gateway

needs

APIConnectofferings

16 ©2016IBMCorporation16 © 2017 IBM Corporation16 ©2016IBMCorporation16 © 2017 IBM Corporation

IMS

CICS

Systems of RecordSystems of Engagement

Management +

Runtime gateway enforcement

• Discover z/OS Connect REST APIs• Secure access to z/OS Connect REST APIs • Provide self-service & social experience to API consumers on a built-in developer portal• Enforce runtime rate limits, and throttle impact to z/OS systems• Manage API subscribers with API lifecycle & Analyze API usage

Developer portal API analytics

Serviceson

Serviceson

APIConnectwithz/OSConnect

17 ©2016IBMCorporation17 © 2017 IBM Corporation

Demonstration-

Manage APIs

18 ©2016IBMCorporation18 © 2017 IBM Corporation18 ©2016IBMCorporation18 © 2017 IBM Corporation

z/OSConnectresponse APIConnectresponse

ChangeJSONobjectnamesinrequestmessage

ChangeJSONstructureofresponsemessage

ModifyAPIinterface(Part1of2)The Assemble Flow allows us to modify the API interface. For example the JSON structureand names of JSON objects can be changed in JSON request and response messages.

APIConnectrequest z/OSConnectrequest

19 ©2016IBMCorporation19 © 2017 IBM Corporation19 ©2016IBMCorporation19 © 2017 IBM Corporation

ModifyAPIinterface(Part2of2)

1

If“Order” operationthenMapJSON;otherwiseproceedtonextstep.

2

Sendmodifiedrequesttoz/OSConnectEEAPI

3

ChangeJSONstructure ofresponsemessage

20 ©2016IBMCorporation20 © 2017 IBM Corporation20 ©2016IBMCorporation20 © 2017 IBM Corporation

APIGateway:Assemblyflow

workflow

IncomingHTTPrequest

OutgoingHTTPresponse

ActionsTransforms inputwith thespecified action

Conditional processing(forspecific operation,path,inputvalues,etc.)

Proxy/Invoke actionsSends anHTTPrequest withtheinputandgives theHTTPresponse asoutput

21 ©2016IBMCorporation21 © 2017 IBM Corporation21 ©2016IBMCorporation21 © 2017 IBM Corporation

API ManagerDeveloper Portal

API Gateway

CreateAssembleFlowandPublish

1

2

RetrieveAPISwaggerdefinition

3

[Publish]ConfigureAPIGateway

4

[Publish]Make APIavailable

zCEE APIs

FromtheAPIManageranexistingAPIcanbediscovered,securedandmanaged.

CICS

App Developer

Steps:ManageanexistingSystemAPI

22 ©2016IBMCorporation22 © 2017 IBM Corporation22 ©2016IBMCorporation22 © 2017 IBM Corporation

SecureandmanageAPIThe API is designed with parameters at the API level and at the Product level.

APIDesignview

ProductDesignview

23 ©2016IBMCorporation23 © 2017 IBM Corporation

Interaction APIs

24 ©2016IBMCorporation24 © 2017 IBM Corporation24 ©2016IBMCorporation24 © 2017 IBM Corporation

InteractionAPI

{"ca_cost":"002.90","in_stock":91,"ca_description":"BallPens Black24pk","on_order":0,"ca_department":10,"ca_item_ref":20}

{"ca_cost":"002.90","in_stock":91,"ca_description":"BallPens Black24pk","on_order":0,"ca_department":10,"ca_item_ref":20,"image":"iVB0Rw0KGgoAAA…"}

{"reference":"20","image":"iVB0Rw0KGgoAAA…","id":"561cf1fa50c9085fb3…",}

Interaction API aggregates information from different System APIs

25 ©2016IBMCorporation25 © 2017 IBM Corporation25 ©2016IBMCorporation25 © 2017 IBM Corporation

LoopBack App

Components

Typesofconnectors

Models• Codetohandlerequests• DatastructureDatasources• Configurationtoaccess

datasourcesConnectors• Communicationwithdata

sources

26 ©2016IBMCorporation26 © 2017 IBM Corporation26 ©2016IBMCorporation26 © 2017 IBM Corporation

API Management Node

Collective Controller

Collective MemberNode.js

Web Router Interaction API

LibertyCollectiveLinuxonz

RESTConnectorz/OSConnectEEConnector

Cloudant Connector

CICS

Developer Toolkit

CreateaLoopBack appWritespecificcode

1

2

TestInteractionAPI

3

Deploy InteractionAPI

Steps:CreateanInteractionAPI

27 ©2016IBMCorporation27 © 2017 IBM Corporation27 ©2016IBMCorporation27 © 2017 IBM Corporation

API ManagerDeveloper Portal

API Gateway

CreateAssembleFlowandPublish

1

2

[Publish]ConfigureAPIGateway

3

[Publish]Make APIavailable

App Developer

Steps:ManageanInteractionAPI

Developer Toolkit

CICS

Interaction API

28 ©2016IBMCorporation28 © 2017 IBM Corporation28 ©2016IBMCorporation28 © 2017 IBM Corporation

Summary

API ManagerDeveloper Portal DeveloperToolkit

API Gateway Interaction API

CICS

App Developer

Create&Test

RunSecure

Publicize&ControlAccess

Manage&Configure

29 ©2016IBMCorporation29 © 2017 IBM Corporation29 ©2016IBMCorporation29 © 2017 IBM Corporation

ForresterWave:APIManagementSolutions,Q42016

30 ©2016IBMCorporation30 © 2017 IBM Corporation30 ©2016IBMCorporation30 © 2017 IBM Corporation

Moreinformation

IBMAPIConnect— http://www.ibm.com/software/products/en/api-connect

— http://www.ibm.com/support/knowledgecenter/SSMNED

— https://developer.ibm.com/apiconnect

IBMAPIConnectDevCenter

IBMAPIConnectKnowledgeCenter

31 ©2016IBMCorporation31 © 2017 IBM Corporation31 ©2016IBMCorporation31 © 2017 IBM Corporation

Moreinformation– APIConnectVideo

32 ©2016IBMCorporation32 © 2017 IBM Corporation

Thank you!

Any Questions?