SlideShare a Scribd company logo
InterConnect
2017
BAS-2030
Design, Auto-Generate and
Expose RESTful Microservices
Using Open Source and
WebSphere
Tim deBoer,
Arthur De Magalhaes
WebSphere Development
1 3/17/17
Tim deBoer
WebSphere developer experience lead
deboer@ca.ibm.com
Arthur De Magalhaes
WebSphere REST API architect
arthurdm@ca.ibm.com
2 3/17/17
Who are we?
3 3/17/17
Agenda
• A brief intro to Swagger
• Designing RESTful API using Swagger
• Generating server-side code
• Generating client-side code
• Deployment Options
• Q/A
Swagger
4 3/17/17
5 3/17/17
What is Swagger?
The industry-leading specification for defining REST APIs
Defined via JSON or YAML files (a “Swagger doc”)
Swagger is:
• API documentation (or at least the metadata for it)
• The contract between producer and consumer
• The metadata needed to generate client code, server stubs, tests, ….
6 3/17/17
What is Swagger?
• Large open source community with various projects on GitHub:
• Client code generation (37 languages)
• Server code generation (23 languages)
• Online editor and GUI
• Over 2000 related open-source repository, with 15000 daily downloads
• Base specification for the OpenAPI Initiative (https://openapis.org/), under
Linux foundation
7 3/17/17
Why API-first?
Swagger can be used to document or expand existing services, but starting
with Swagger for new services has a number of benefits:
• Clean API (design what you want, not document what you’ve built)
• Usable/useful API (easier for consumers to provide input up front)
• Allows producer and consumers to begin work independently
• Lends itself to enforcing modeling and security standards
• Fits naturally with a central API catalog
Designing
RESTful API
8 3/17/17
9 3/17/17
Designing REST APIs
• Lots of options! We’ll look at:
• Swagger Online Editor
• SwaggerHub
• WebSphere Developer Tools
• API Connect
• Attributes to consider depend on design scenario
• Validation, code generation, lifecycle management, publishing, etc
10 3/17/17
Swagger Online Editor
http://editor.swagger.io/
11 3/17/17
SwaggerHub
https://app.swaggerhub.com
12 3/17/17
WebSphere Developer Tools
13 3/17/17
API Connect Editor
https://console.ng.bluemix.net/apis/apiconnect
14 3/17/17
API Connect Developer Toolkit
npm –g install apiconnect
• API Connect editor
• Developer portal
15 3/17/17
Demo
Generating
Services
From Swagger
16 3/17/17
There are many options for generating
server-side code from Swagger:
• Liberty App Accelerator
• Swagger Online Editor
• WebSphere Developer Tools
All of these are based on the same
open-source code generation
17 3/17/17
Server-side Code Generation
The apiDiscovery-1.0 feature
adds Swagger support to Liberty:
• Swagger auto-generated
from JAX-RS and/or picked
up from Swagger file in app
• Built-in API Explorer for
discovering & unit testing
API
18 3/17/17
Swagger in Liberty
The API Explorer can be used to
self-document a service
• Customize branding
• CSS from designers
19 3/17/17
The Self-Documenting Service
• Generate server-side code
• Add implementation
• Add apiDiscovery-1.0
• API Explorer unit testing
• Add branding
20 3/17/17
Demo
Generating
Clients
21 3/17/17
22 3/17/17
Client generation
• Two main use cases:
• Tests from Q/A team (multiple languages)
• Enhancing server-side code (same language)
• Advantages of using a generated client vs building your own:
• Collaborate with and benefit from open source community
• Test with code that your customers are using
• Standardize code across your company
23 3/17/17
Swagger Client Generator Jar
• https://github.com/swagger-api/swagger-codegen
• brew install swagger-codegen
24 3/17/17
Swagger Client Generator UI
https://generator.swagger.io/
25 3/17/17
WDT JAX-RS Client Generator
Available in the Eclipse marketplace
• Swagger online editor
26 3/17/17
Demo
Deploying
RESTful Microservices
27 3/17/17
Deployment Platforms
linux
windows
aix
solaris hp/ux
z/linux
z/os
ibm-i
mac/osx
WebSphere
Application
ServerICS
Cloud
Foundry
local
dedicated
public
Private IaaS
WAS Patterns
Pure App System
Public IaaS
IBM Softlayer
MS Azure
Amazon AWS
Other
PaaS
private
OpenShift
Cloud
Foundry
29
Let’s collaborate!
websphereconnect.slack.com
github.com/microservices-api
-- github.com/microservices-api/websphere-connect/wiki
Email for invitation (or drop off business card): arthurdm@ca.ibm.com
Upcoming sessions
• The Open API Initiative at Twelve Months and Counting
• Tuesday, 1:30 PM - 2:15 PM | South Pacific J | Session ID: 5968A
• Meet the Expert on Connecting to the IBM Cloud
• Wednesday, 1:00 PM - 1:45 PM | Meet the Experts Forum # 1 | Session ID: 7083A
• Connect Your WebSphere Environment to the Cloud with IBM WebSphere Connect
• Wednesday, 3:15 PM - 3:35 PM | Engagement Theater Booth #319 | Session ID: 7234A
• Learn How to Connect Microservices Using the Open API Initiative
• Thursday, 11:30 AM - 12:15 PM | Surf D | Session ID: 2611A
31
Notices and disclaimers
Copyright © 2017 by International Business Machines Corporation (IBM).
No part of this document may be reproduced or transmitted in any form
without written permission from IBM.
U.S. Government Users Restricted Rights — use, duplication or
disclosure restricted by GSA ADP Schedule Contract with IBM.
Information in these presentations (including information relating to
products that have not yet been announced by IBM) has been reviewed
for accuracy as of the date of initial publication and could include
unintentional technical or typographical errors. IBM shall have no
responsibility to update this information. This document is distributed
“as is” without any warranty, either express or implied. In no event
shall IBM be liable for any damage arising from the use of this
information, including but not limited to, loss of data, business
interruption, loss of profit or loss of opportunity. IBM products and
services are warranted according to the terms and conditions of the
agreements under which they are provided.
IBM products are manufactured from new parts or new and used parts.
In some cases, a product may not be new and may have been previously
installed. Regardless, our warranty terms apply.”
Any statements regarding IBM's future direction, intent or product
plans are subject to change or withdrawal without notice.
Performance data contained herein was generally obtained in a
controlled, isolated environments. Customer examples are presented
as illustrations of how those customers have used IBM products and
the results they may have achieved. Actual performance, cost, savings or
other results in other operating environments may vary.
References in this document to IBM products, programs, or services
does not imply that IBM intends to make such products, programs or
services available in all countries in which IBM operates or does
business.
Workshops, sessions and associated materials may have been prepared
by independent session speakers, and do not necessarily reflect the
views of IBM. All materials and discussions are provided for informational
purposes only, and are neither intended to, nor shall constitute legal or
other guidance or advice to any individual participant or their specific
situation.
It is the customer’s responsibility to insure its own compliance with legal
requirements and to obtain advice of competent legal counsel as to
the identification and interpretation of any relevant laws and regulatory
requirements that may affect the customer’s business and any actions
the customer may need to take to comply with such laws. IBM does not
provide legal advice or represent or warrant that its services or products
will ensure that the customer is in compliance with any law.
32
Notices and disclaimers
continued
Information concerning non-IBM products was obtained from the
suppliers of those products, their published announcements or other
publicly available sources. IBM has not tested those products in
connection with this publication and cannot confirm the accuracy of
performance, compatibility or any other claims related to non-IBM
products. Questions on the capabilities of non-IBM products should be
addressed to the suppliers of those products. IBM does not warrant the
quality of any third-party products, or the ability of any such third-party
products to interoperate with IBM’s products. IBM expressly disclaims
all warranties, expressed or implied, including but not limited to, the
implied warranties of merchantability and fitness for a particular,
purpose.
The provision of the information contained herein is not intended to, and
does not, grant any right or license under any IBM patents, copyrights,
trademarks or other intellectual property right.
IBM, the IBM logo, ibm.com, Aspera®, Bluemix, Blueworks Live, CICS,
Clearcase, Cognos®, DOORS®, Emptoris®, Enterprise Document
Management System™, FASP®, FileNet®, Global Business Services®,
Global Technology Services®, IBM ExperienceOne™, IBM SmartCloud®,
IBM Social Business®, Information on Demand, ILOG, Maximo®,
MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower,
PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®,
PureData®, PureExperience®, PureFlex®, pureQuery®, pureScale®,
PureSystems®, QRadar®, Rational®, Rhapsody®, Smarter Commerce®,
SoDA, SPSS, Sterling Commerce®, StoredIQ, Tealeaf®, Tivoli® Trusteer®,
Unica®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and
System z® Z/OS, are trademarks of International Business Machines
Corporation, registered in many jurisdictions worldwide. Other product
and service names might be trademarks of IBM or other companies. A
current list of IBM trademarks is available on the Web at "Copyright and
trademark information" at: www.ibm.com/legal/copytrade.shtml.
InterConnect
2017
33

More Related Content

What's hot

Best practices for cloud hosted api management
Best practices for cloud hosted api managementBest practices for cloud hosted api management
Best practices for cloud hosted api management
sflynn073
 
Security Is a Concern, Let’s Make It an Enabler
Security Is a Concern, Let’s Make It an EnablerSecurity Is a Concern, Let’s Make It an Enabler
Security Is a Concern, Let’s Make It an Enabler
Nordic APIs
 
Flavours of APIs
Flavours of APIs Flavours of APIs
Flavours of APIs
Chris Phillips
 
apidays LIVE Australia 2021 - API Horror Stories from an Unnamed Coworking Co...
apidays LIVE Australia 2021 - API Horror Stories from an Unnamed Coworking Co...apidays LIVE Australia 2021 - API Horror Stories from an Unnamed Coworking Co...
apidays LIVE Australia 2021 - API Horror Stories from an Unnamed Coworking Co...
apidays
 
IBM Collaboration Solutions Application Development - Frequently Asked Questions
IBM Collaboration Solutions Application Development - Frequently Asked QuestionsIBM Collaboration Solutions Application Development - Frequently Asked Questions
IBM Collaboration Solutions Application Development - Frequently Asked Questions
Niklas Heidloff
 
IBM API Connect Deployment `Good Practices - IBM Think 2018
IBM API Connect Deployment `Good Practices - IBM Think 2018IBM API Connect Deployment `Good Practices - IBM Think 2018
IBM API Connect Deployment `Good Practices - IBM Think 2018
Chris Phillips
 
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and MicroservicesScalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
David Currie
 
Testing APIs & Microservices
Testing APIs & MicroservicesTesting APIs & Microservices
Testing APIs & Microservices
OPEN KNOWLEDGE GmbH
 
Evolution of API Management in the BBC
Evolution of API Management in the BBCEvolution of API Management in the BBC
Evolution of API Management in the BBC
Nordic APIs
 
IBM Connect 2016 - Logging Wars: A Cross Product Tech Clash Between Experts -...
IBM Connect 2016 - Logging Wars: A Cross Product Tech Clash Between Experts -...IBM Connect 2016 - Logging Wars: A Cross Product Tech Clash Between Experts -...
IBM Connect 2016 - Logging Wars: A Cross Product Tech Clash Between Experts -...
Chris Miller
 
APIs: What’s in it for me – How can APIs bring value to our Business (Philipp...
APIs: What’s in it for me – How can APIs bring value to our Business (Philipp...APIs: What’s in it for me – How can APIs bring value to our Business (Philipp...
APIs: What’s in it for me – How can APIs bring value to our Business (Philipp...
Nordic APIs
 
IBM Connect 2014 - AD206 - Build Apps Rapidly by Leveraging Services from IBM...
IBM Connect 2014 - AD206 - Build Apps Rapidly by Leveraging Services from IBM...IBM Connect 2014 - AD206 - Build Apps Rapidly by Leveraging Services from IBM...
IBM Connect 2014 - AD206 - Build Apps Rapidly by Leveraging Services from IBM...
Niklas Heidloff
 
apidays LIVE Australia 2021 - From apps to APIs: how no-code is transforming ...
apidays LIVE Australia 2021 - From apps to APIs: how no-code is transforming ...apidays LIVE Australia 2021 - From apps to APIs: how no-code is transforming ...
apidays LIVE Australia 2021 - From apps to APIs: how no-code is transforming ...
apidays
 
APIdays Paris 2018 - Platform: How to Product? Jessica Ulyate, Product Owner,...
APIdays Paris 2018 - Platform: How to Product? Jessica Ulyate, Product Owner,...APIdays Paris 2018 - Platform: How to Product? Jessica Ulyate, Product Owner,...
APIdays Paris 2018 - Platform: How to Product? Jessica Ulyate, Product Owner,...
apidays
 
API Kompatibilität durch Consumer-Driven Contracts und CI/CD
API Kompatibilität durch Consumer-Driven Contracts und CI/CDAPI Kompatibilität durch Consumer-Driven Contracts und CI/CD
API Kompatibilität durch Consumer-Driven Contracts und CI/CD
OPEN KNOWLEDGE GmbH
 
Open Source And the Internet Of Things
Open Source And the Internet Of ThingsOpen Source And the Internet Of Things
Open Source And the Internet Of Things
ProgrammableWeb
 
API Design Collaboration
API Design CollaborationAPI Design Collaboration
API Design Collaboration
Uchit Vyas ☁
 
What It Takes to Build API Integrations
What It Takes to Build API IntegrationsWhat It Takes to Build API Integrations
What It Takes to Build API Integrations
Nordic APIs
 
apidays LIVE Paris 2021 - Privacy Engineering by Ian Oliver, Nokia Bell Labs
apidays LIVE Paris 2021 - Privacy Engineering by Ian Oliver, Nokia Bell Labsapidays LIVE Paris 2021 - Privacy Engineering by Ian Oliver, Nokia Bell Labs
apidays LIVE Paris 2021 - Privacy Engineering by Ian Oliver, Nokia Bell Labs
apidays
 
Onion Architecture
Onion ArchitectureOnion Architecture
Onion Architecturematthidinger
 

What's hot (20)

Best practices for cloud hosted api management
Best practices for cloud hosted api managementBest practices for cloud hosted api management
Best practices for cloud hosted api management
 
Security Is a Concern, Let’s Make It an Enabler
Security Is a Concern, Let’s Make It an EnablerSecurity Is a Concern, Let’s Make It an Enabler
Security Is a Concern, Let’s Make It an Enabler
 
Flavours of APIs
Flavours of APIs Flavours of APIs
Flavours of APIs
 
apidays LIVE Australia 2021 - API Horror Stories from an Unnamed Coworking Co...
apidays LIVE Australia 2021 - API Horror Stories from an Unnamed Coworking Co...apidays LIVE Australia 2021 - API Horror Stories from an Unnamed Coworking Co...
apidays LIVE Australia 2021 - API Horror Stories from an Unnamed Coworking Co...
 
IBM Collaboration Solutions Application Development - Frequently Asked Questions
IBM Collaboration Solutions Application Development - Frequently Asked QuestionsIBM Collaboration Solutions Application Development - Frequently Asked Questions
IBM Collaboration Solutions Application Development - Frequently Asked Questions
 
IBM API Connect Deployment `Good Practices - IBM Think 2018
IBM API Connect Deployment `Good Practices - IBM Think 2018IBM API Connect Deployment `Good Practices - IBM Think 2018
IBM API Connect Deployment `Good Practices - IBM Think 2018
 
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and MicroservicesScalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
 
Testing APIs & Microservices
Testing APIs & MicroservicesTesting APIs & Microservices
Testing APIs & Microservices
 
Evolution of API Management in the BBC
Evolution of API Management in the BBCEvolution of API Management in the BBC
Evolution of API Management in the BBC
 
IBM Connect 2016 - Logging Wars: A Cross Product Tech Clash Between Experts -...
IBM Connect 2016 - Logging Wars: A Cross Product Tech Clash Between Experts -...IBM Connect 2016 - Logging Wars: A Cross Product Tech Clash Between Experts -...
IBM Connect 2016 - Logging Wars: A Cross Product Tech Clash Between Experts -...
 
APIs: What’s in it for me – How can APIs bring value to our Business (Philipp...
APIs: What’s in it for me – How can APIs bring value to our Business (Philipp...APIs: What’s in it for me – How can APIs bring value to our Business (Philipp...
APIs: What’s in it for me – How can APIs bring value to our Business (Philipp...
 
IBM Connect 2014 - AD206 - Build Apps Rapidly by Leveraging Services from IBM...
IBM Connect 2014 - AD206 - Build Apps Rapidly by Leveraging Services from IBM...IBM Connect 2014 - AD206 - Build Apps Rapidly by Leveraging Services from IBM...
IBM Connect 2014 - AD206 - Build Apps Rapidly by Leveraging Services from IBM...
 
apidays LIVE Australia 2021 - From apps to APIs: how no-code is transforming ...
apidays LIVE Australia 2021 - From apps to APIs: how no-code is transforming ...apidays LIVE Australia 2021 - From apps to APIs: how no-code is transforming ...
apidays LIVE Australia 2021 - From apps to APIs: how no-code is transforming ...
 
APIdays Paris 2018 - Platform: How to Product? Jessica Ulyate, Product Owner,...
APIdays Paris 2018 - Platform: How to Product? Jessica Ulyate, Product Owner,...APIdays Paris 2018 - Platform: How to Product? Jessica Ulyate, Product Owner,...
APIdays Paris 2018 - Platform: How to Product? Jessica Ulyate, Product Owner,...
 
API Kompatibilität durch Consumer-Driven Contracts und CI/CD
API Kompatibilität durch Consumer-Driven Contracts und CI/CDAPI Kompatibilität durch Consumer-Driven Contracts und CI/CD
API Kompatibilität durch Consumer-Driven Contracts und CI/CD
 
Open Source And the Internet Of Things
Open Source And the Internet Of ThingsOpen Source And the Internet Of Things
Open Source And the Internet Of Things
 
API Design Collaboration
API Design CollaborationAPI Design Collaboration
API Design Collaboration
 
What It Takes to Build API Integrations
What It Takes to Build API IntegrationsWhat It Takes to Build API Integrations
What It Takes to Build API Integrations
 
apidays LIVE Paris 2021 - Privacy Engineering by Ian Oliver, Nokia Bell Labs
apidays LIVE Paris 2021 - Privacy Engineering by Ian Oliver, Nokia Bell Labsapidays LIVE Paris 2021 - Privacy Engineering by Ian Oliver, Nokia Bell Labs
apidays LIVE Paris 2021 - Privacy Engineering by Ian Oliver, Nokia Bell Labs
 
Onion Architecture
Onion ArchitectureOnion Architecture
Onion Architecture
 

Similar to Design, Auto-Generate and Expose RESTful Microservices Using Open Source and WebSphere

The Bluemix Quadruple Threat
The Bluemix Quadruple ThreatThe Bluemix Quadruple Threat
The Bluemix Quadruple Threat
Ram Vennam
 
2449 rapid prototyping of innovative io t solutions
2449   rapid prototyping of innovative io t solutions2449   rapid prototyping of innovative io t solutions
2449 rapid prototyping of innovative io t solutions
Eric Cattoir
 
IC6284A - The Art of Choosing the Best Cloud Solution
IC6284A - The Art of Choosing the Best Cloud SolutionIC6284A - The Art of Choosing the Best Cloud Solution
IC6284A - The Art of Choosing the Best Cloud Solution
Hendrik van Run
 
MQ Light in IBM MQ: IBM Interconnect 2015 session AME4182
MQ Light in IBM MQ:  IBM Interconnect 2015 session AME4182MQ Light in IBM MQ:  IBM Interconnect 2015 session AME4182
MQ Light in IBM MQ: IBM Interconnect 2015 session AME4182
Robert Nicholson
 
Docking DevOps 2015-03-01
Docking DevOps 2015-03-01Docking DevOps 2015-03-01
Docking DevOps 2015-03-01
Robbie Minshall
 
SHARE2016: DevOps - IIB Administration for Continuous Delivery and DevOps
SHARE2016:  DevOps - IIB Administration for Continuous Delivery and DevOpsSHARE2016:  DevOps - IIB Administration for Continuous Delivery and DevOps
SHARE2016: DevOps - IIB Administration for Continuous Delivery and DevOps
Rob Convery
 
Scaling Your Microservices With LoopBack
Scaling Your Microservices With LoopBackScaling Your Microservices With LoopBack
Scaling Your Microservices With LoopBack
Ritchie Martori
 
Evolving a monolithic Java EE application to microservices
Evolving a monolithic Java EE application to microservicesEvolving a monolithic Java EE application to microservices
Evolving a monolithic Java EE application to microservices
Erin Schnabel
 
Integrating IBM Internet of Things Platform and IBM Blockchain
Integrating IBM Internet of Things Platform and IBM BlockchainIntegrating IBM Internet of Things Platform and IBM Blockchain
Integrating IBM Internet of Things Platform and IBM Blockchain
Rahul Gupta
 
InterConnect 2017 : z/OS-as-a-Service: The Disposable LPAR
InterConnect 2017 : z/OS-as-a-Service: The Disposable LPARInterConnect 2017 : z/OS-as-a-Service: The Disposable LPAR
InterConnect 2017 : z/OS-as-a-Service: The Disposable LPAR
DevOps for Enterprise Systems
 
Introduction To The IBM IoT Foundation
Introduction To The IBM IoT FoundationIntroduction To The IBM IoT Foundation
Introduction To The IBM IoT Foundation
petecrocker
 
Codemotion Rome 2015 Bluemix Lab Tutorial
Codemotion Rome 2015 Bluemix Lab TutorialCodemotion Rome 2015 Bluemix Lab Tutorial
Codemotion Rome 2015 Bluemix Lab Tutorial
gjuljo
 
InterConnect 2017 : Git for COBOL and PL/I?—Yes, It Can Make Sense
InterConnect 2017 : Git for COBOL and PL/I?—Yes, It Can Make SenseInterConnect 2017 : Git for COBOL and PL/I?—Yes, It Can Make Sense
InterConnect 2017 : Git for COBOL and PL/I?—Yes, It Can Make Sense
DevOps for Enterprise Systems
 
WebSphere Liberty HTML5 Real-Time Features Lab
WebSphere Liberty HTML5 Real-Time Features LabWebSphere Liberty HTML5 Real-Time Features Lab
WebSphere Liberty HTML5 Real-Time Features Lab
Brian Pulito
 
IBM WebSphere Liberty and Docker Deep Dive
IBM WebSphere Liberty and Docker Deep DiveIBM WebSphere Liberty and Docker Deep Dive
IBM WebSphere Liberty and Docker Deep Dive
David Currie
 
Building out a Microservices Architecture with WebSphere Liberty Profile and ...
Building out a Microservices Architecture with WebSphere Liberty Profile and ...Building out a Microservices Architecture with WebSphere Liberty Profile and ...
Building out a Microservices Architecture with WebSphere Liberty Profile and ...
David Currie
 
Codemotion rome 2015 bluemix lab tutorial -- Codemotion Rome 2015
Codemotion rome 2015   bluemix lab tutorial -- Codemotion Rome 2015Codemotion rome 2015   bluemix lab tutorial -- Codemotion Rome 2015
Codemotion rome 2015 bluemix lab tutorial -- Codemotion Rome 2015Codemotion
 
Rational developer for z systems : DevOps benefits here and now
Rational developer for z systems : DevOps benefits here and nowRational developer for z systems : DevOps benefits here and now
Rational developer for z systems : DevOps benefits here and now
DevOps for Enterprise Systems
 
OpenWhisk Part 2 Research Day at Interconnect 2017
OpenWhisk Part 2 Research Day at Interconnect 2017OpenWhisk Part 2 Research Day at Interconnect 2017
OpenWhisk Part 2 Research Day at Interconnect 2017
Perry Cheng
 

Similar to Design, Auto-Generate and Expose RESTful Microservices Using Open Source and WebSphere (20)

The Bluemix Quadruple Threat
The Bluemix Quadruple ThreatThe Bluemix Quadruple Threat
The Bluemix Quadruple Threat
 
2449 rapid prototyping of innovative io t solutions
2449   rapid prototyping of innovative io t solutions2449   rapid prototyping of innovative io t solutions
2449 rapid prototyping of innovative io t solutions
 
IC6284A - The Art of Choosing the Best Cloud Solution
IC6284A - The Art of Choosing the Best Cloud SolutionIC6284A - The Art of Choosing the Best Cloud Solution
IC6284A - The Art of Choosing the Best Cloud Solution
 
MQ Light in IBM MQ: IBM Interconnect 2015 session AME4182
MQ Light in IBM MQ:  IBM Interconnect 2015 session AME4182MQ Light in IBM MQ:  IBM Interconnect 2015 session AME4182
MQ Light in IBM MQ: IBM Interconnect 2015 session AME4182
 
Docking DevOps 2015-03-01
Docking DevOps 2015-03-01Docking DevOps 2015-03-01
Docking DevOps 2015-03-01
 
SHARE2016: DevOps - IIB Administration for Continuous Delivery and DevOps
SHARE2016:  DevOps - IIB Administration for Continuous Delivery and DevOpsSHARE2016:  DevOps - IIB Administration for Continuous Delivery and DevOps
SHARE2016: DevOps - IIB Administration for Continuous Delivery and DevOps
 
Scaling Your Microservices With LoopBack
Scaling Your Microservices With LoopBackScaling Your Microservices With LoopBack
Scaling Your Microservices With LoopBack
 
Evolving a monolithic Java EE application to microservices
Evolving a monolithic Java EE application to microservicesEvolving a monolithic Java EE application to microservices
Evolving a monolithic Java EE application to microservices
 
Integrating IBM Internet of Things Platform and IBM Blockchain
Integrating IBM Internet of Things Platform and IBM BlockchainIntegrating IBM Internet of Things Platform and IBM Blockchain
Integrating IBM Internet of Things Platform and IBM Blockchain
 
InterConnect 2017 : z/OS-as-a-Service: The Disposable LPAR
InterConnect 2017 : z/OS-as-a-Service: The Disposable LPARInterConnect 2017 : z/OS-as-a-Service: The Disposable LPAR
InterConnect 2017 : z/OS-as-a-Service: The Disposable LPAR
 
Introduction To The IBM IoT Foundation
Introduction To The IBM IoT FoundationIntroduction To The IBM IoT Foundation
Introduction To The IBM IoT Foundation
 
Codemotion Rome 2015 Bluemix Lab Tutorial
Codemotion Rome 2015 Bluemix Lab TutorialCodemotion Rome 2015 Bluemix Lab Tutorial
Codemotion Rome 2015 Bluemix Lab Tutorial
 
InterConnect 2017 : Git for COBOL and PL/I?—Yes, It Can Make Sense
InterConnect 2017 : Git for COBOL and PL/I?—Yes, It Can Make SenseInterConnect 2017 : Git for COBOL and PL/I?—Yes, It Can Make Sense
InterConnect 2017 : Git for COBOL and PL/I?—Yes, It Can Make Sense
 
WebSphere Liberty HTML5 Real-Time Features Lab
WebSphere Liberty HTML5 Real-Time Features LabWebSphere Liberty HTML5 Real-Time Features Lab
WebSphere Liberty HTML5 Real-Time Features Lab
 
IBM WebSphere Liberty and Docker Deep Dive
IBM WebSphere Liberty and Docker Deep DiveIBM WebSphere Liberty and Docker Deep Dive
IBM WebSphere Liberty and Docker Deep Dive
 
Building out a Microservices Architecture with WebSphere Liberty Profile and ...
Building out a Microservices Architecture with WebSphere Liberty Profile and ...Building out a Microservices Architecture with WebSphere Liberty Profile and ...
Building out a Microservices Architecture with WebSphere Liberty Profile and ...
 
Codemotion rome 2015 bluemix lab tutorial -- Codemotion Rome 2015
Codemotion rome 2015   bluemix lab tutorial -- Codemotion Rome 2015Codemotion rome 2015   bluemix lab tutorial -- Codemotion Rome 2015
Codemotion rome 2015 bluemix lab tutorial -- Codemotion Rome 2015
 
Rational developer for z systems : DevOps benefits here and now
Rational developer for z systems : DevOps benefits here and nowRational developer for z systems : DevOps benefits here and now
Rational developer for z systems : DevOps benefits here and now
 
Ibm apim
Ibm apimIbm apim
Ibm apim
 
OpenWhisk Part 2 Research Day at Interconnect 2017
OpenWhisk Part 2 Research Day at Interconnect 2017OpenWhisk Part 2 Research Day at Interconnect 2017
OpenWhisk Part 2 Research Day at Interconnect 2017
 

More from Arthur De Magalhaes

Docker 101
Docker 101Docker 101
Move existing middleware to the cloud
Move existing middleware to the cloudMove existing middleware to the cloud
Move existing middleware to the cloud
Arthur De Magalhaes
 
WebSphere 20th - Application modernization
WebSphere 20th - Application modernizationWebSphere 20th - Application modernization
WebSphere 20th - Application modernization
Arthur De Magalhaes
 
WebSphere Connect and API Discovery
WebSphere Connect and API DiscoveryWebSphere Connect and API Discovery
WebSphere Connect and API Discovery
Arthur De Magalhaes
 
Using IBM WebSphere Liberty and Swagger to Make your Services Accessible
Using IBM WebSphere Liberty and Swagger to Make your Services AccessibleUsing IBM WebSphere Liberty and Swagger to Make your Services Accessible
Using IBM WebSphere Liberty and Swagger to Make your Services Accessible
Arthur De Magalhaes
 
Deploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM Bluemix
Deploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM BluemixDeploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM Bluemix
Deploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM Bluemix
Arthur De Magalhaes
 
Exposing APIs with Liberty and Swagger
Exposing APIs with Liberty and SwaggerExposing APIs with Liberty and Swagger
Exposing APIs with Liberty and Swagger
Arthur De Magalhaes
 
REST APIs
REST APIsREST APIs
Revolutionize the API Economy with IBM WebSphere Connect
Revolutionize the API Economy with IBM WebSphere ConnectRevolutionize the API Economy with IBM WebSphere Connect
Revolutionize the API Economy with IBM WebSphere Connect
Arthur De Magalhaes
 
TechConnect - API Discovery Evolution
TechConnect - API Discovery EvolutionTechConnect - API Discovery Evolution
TechConnect - API Discovery Evolution
Arthur De Magalhaes
 
CASCON 2017 - OpenAPI v3
CASCON 2017 - OpenAPI v3CASCON 2017 - OpenAPI v3
CASCON 2017 - OpenAPI v3
Arthur De Magalhaes
 
Think 2018 - MicroProfile OpenAPI
Think 2018  - MicroProfile OpenAPIThink 2018  - MicroProfile OpenAPI
Think 2018 - MicroProfile OpenAPI
Arthur De Magalhaes
 

More from Arthur De Magalhaes (12)

Docker 101
Docker 101Docker 101
Docker 101
 
Move existing middleware to the cloud
Move existing middleware to the cloudMove existing middleware to the cloud
Move existing middleware to the cloud
 
WebSphere 20th - Application modernization
WebSphere 20th - Application modernizationWebSphere 20th - Application modernization
WebSphere 20th - Application modernization
 
WebSphere Connect and API Discovery
WebSphere Connect and API DiscoveryWebSphere Connect and API Discovery
WebSphere Connect and API Discovery
 
Using IBM WebSphere Liberty and Swagger to Make your Services Accessible
Using IBM WebSphere Liberty and Swagger to Make your Services AccessibleUsing IBM WebSphere Liberty and Swagger to Make your Services Accessible
Using IBM WebSphere Liberty and Swagger to Make your Services Accessible
 
Deploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM Bluemix
Deploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM BluemixDeploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM Bluemix
Deploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM Bluemix
 
Exposing APIs with Liberty and Swagger
Exposing APIs with Liberty and SwaggerExposing APIs with Liberty and Swagger
Exposing APIs with Liberty and Swagger
 
REST APIs
REST APIsREST APIs
REST APIs
 
Revolutionize the API Economy with IBM WebSphere Connect
Revolutionize the API Economy with IBM WebSphere ConnectRevolutionize the API Economy with IBM WebSphere Connect
Revolutionize the API Economy with IBM WebSphere Connect
 
TechConnect - API Discovery Evolution
TechConnect - API Discovery EvolutionTechConnect - API Discovery Evolution
TechConnect - API Discovery Evolution
 
CASCON 2017 - OpenAPI v3
CASCON 2017 - OpenAPI v3CASCON 2017 - OpenAPI v3
CASCON 2017 - OpenAPI v3
 
Think 2018 - MicroProfile OpenAPI
Think 2018  - MicroProfile OpenAPIThink 2018  - MicroProfile OpenAPI
Think 2018 - MicroProfile OpenAPI
 

Recently uploaded

Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
abdulrafaychaudhry
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
QuickwayInfoSystems3
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
abdulrafaychaudhry
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 

Recently uploaded (20)

Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 

Design, Auto-Generate and Expose RESTful Microservices Using Open Source and WebSphere

  • 1. InterConnect 2017 BAS-2030 Design, Auto-Generate and Expose RESTful Microservices Using Open Source and WebSphere Tim deBoer, Arthur De Magalhaes WebSphere Development 1 3/17/17
  • 2. Tim deBoer WebSphere developer experience lead deboer@ca.ibm.com Arthur De Magalhaes WebSphere REST API architect arthurdm@ca.ibm.com 2 3/17/17 Who are we?
  • 3. 3 3/17/17 Agenda • A brief intro to Swagger • Designing RESTful API using Swagger • Generating server-side code • Generating client-side code • Deployment Options • Q/A
  • 5. 5 3/17/17 What is Swagger? The industry-leading specification for defining REST APIs Defined via JSON or YAML files (a “Swagger doc”) Swagger is: • API documentation (or at least the metadata for it) • The contract between producer and consumer • The metadata needed to generate client code, server stubs, tests, ….
  • 6. 6 3/17/17 What is Swagger? • Large open source community with various projects on GitHub: • Client code generation (37 languages) • Server code generation (23 languages) • Online editor and GUI • Over 2000 related open-source repository, with 15000 daily downloads • Base specification for the OpenAPI Initiative (https://openapis.org/), under Linux foundation
  • 7. 7 3/17/17 Why API-first? Swagger can be used to document or expand existing services, but starting with Swagger for new services has a number of benefits: • Clean API (design what you want, not document what you’ve built) • Usable/useful API (easier for consumers to provide input up front) • Allows producer and consumers to begin work independently • Lends itself to enforcing modeling and security standards • Fits naturally with a central API catalog
  • 9. 9 3/17/17 Designing REST APIs • Lots of options! We’ll look at: • Swagger Online Editor • SwaggerHub • WebSphere Developer Tools • API Connect • Attributes to consider depend on design scenario • Validation, code generation, lifecycle management, publishing, etc
  • 10. 10 3/17/17 Swagger Online Editor http://editor.swagger.io/
  • 13. 13 3/17/17 API Connect Editor https://console.ng.bluemix.net/apis/apiconnect
  • 14. 14 3/17/17 API Connect Developer Toolkit npm –g install apiconnect
  • 15. • API Connect editor • Developer portal 15 3/17/17 Demo
  • 17. There are many options for generating server-side code from Swagger: • Liberty App Accelerator • Swagger Online Editor • WebSphere Developer Tools All of these are based on the same open-source code generation 17 3/17/17 Server-side Code Generation
  • 18. The apiDiscovery-1.0 feature adds Swagger support to Liberty: • Swagger auto-generated from JAX-RS and/or picked up from Swagger file in app • Built-in API Explorer for discovering & unit testing API 18 3/17/17 Swagger in Liberty
  • 19. The API Explorer can be used to self-document a service • Customize branding • CSS from designers 19 3/17/17 The Self-Documenting Service
  • 20. • Generate server-side code • Add implementation • Add apiDiscovery-1.0 • API Explorer unit testing • Add branding 20 3/17/17 Demo
  • 22. 22 3/17/17 Client generation • Two main use cases: • Tests from Q/A team (multiple languages) • Enhancing server-side code (same language) • Advantages of using a generated client vs building your own: • Collaborate with and benefit from open source community • Test with code that your customers are using • Standardize code across your company
  • 23. 23 3/17/17 Swagger Client Generator Jar • https://github.com/swagger-api/swagger-codegen • brew install swagger-codegen
  • 24. 24 3/17/17 Swagger Client Generator UI https://generator.swagger.io/
  • 25. 25 3/17/17 WDT JAX-RS Client Generator Available in the Eclipse marketplace
  • 26. • Swagger online editor 26 3/17/17 Demo
  • 28. Deployment Platforms linux windows aix solaris hp/ux z/linux z/os ibm-i mac/osx WebSphere Application ServerICS Cloud Foundry local dedicated public Private IaaS WAS Patterns Pure App System Public IaaS IBM Softlayer MS Azure Amazon AWS Other PaaS private OpenShift Cloud Foundry
  • 30. Upcoming sessions • The Open API Initiative at Twelve Months and Counting • Tuesday, 1:30 PM - 2:15 PM | South Pacific J | Session ID: 5968A • Meet the Expert on Connecting to the IBM Cloud • Wednesday, 1:00 PM - 1:45 PM | Meet the Experts Forum # 1 | Session ID: 7083A • Connect Your WebSphere Environment to the Cloud with IBM WebSphere Connect • Wednesday, 3:15 PM - 3:35 PM | Engagement Theater Booth #319 | Session ID: 7234A • Learn How to Connect Microservices Using the Open API Initiative • Thursday, 11:30 AM - 12:15 PM | Surf D | Session ID: 2611A
  • 31. 31 Notices and disclaimers Copyright © 2017 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission from IBM. U.S. Government Users Restricted Rights — use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM. Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information. This document is distributed “as is” without any warranty, either express or implied. In no event shall IBM be liable for any damage arising from the use of this information, including but not limited to, loss of data, business interruption, loss of profit or loss of opportunity. IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided. IBM products are manufactured from new parts or new and used parts. In some cases, a product may not be new and may have been previously installed. Regardless, our warranty terms apply.” Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice. Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary. References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business. Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation. It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law.
  • 32. 32 Notices and disclaimers continued Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to interoperate with IBM’s products. IBM expressly disclaims all warranties, expressed or implied, including but not limited to, the implied warranties of merchantability and fitness for a particular, purpose. The provision of the information contained herein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual property right. IBM, the IBM logo, ibm.com, Aspera®, Bluemix, Blueworks Live, CICS, Clearcase, Cognos®, DOORS®, Emptoris®, Enterprise Document Management System™, FASP®, FileNet®, Global Business Services®, Global Technology Services®, IBM ExperienceOne™, IBM SmartCloud®, IBM Social Business®, Information on Demand, ILOG, Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®, PureData®, PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, Smarter Commerce®, SoDA, SPSS, Sterling Commerce®, StoredIQ, Tealeaf®, Tivoli® Trusteer®, Unica®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.