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