SlideShare a Scribd company logo
1 of 59
Download to read offline
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Developing and Managing API with Adobe ColdFusion and API
Manager
Kevin, Mayur, Pavan
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Agenda
 Use Case
 Designing your API
 API Manager Actors
 Onboarding of the API
 Building Blocks
 Security
 SLA
 Analytics
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
API
API Manager
M
E
R
C
H
A
N
T
STORE ADMINISTRATOR
C
U
S
T
O
M
E
R
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
E-commerce Store APIs
1. Product
2. Merchants
3. Order
4. Promotion
5. Payment Gateway
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Product API
Endpoints:
Add a product
(POST /products/v1 )
Get all products
(GET /products/v1 )
Add/Update Brand
(PUT /products/v1 )
Search product
(GET /products/v1/search?searchid=123)
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Merchant API
Endpoints:
Add a product
(POST /merchant/v1/products/<merchant_id>)
Update Product Price
(PUT merchant/v1/products/<merchant_id>?product_id=101965 )
Update Product quantity
(PUT merchant/v1/products/<merchant_id>?product_id=101965 )
Delete a product under merchant store
(DELETE /merchant/v1/products/<merchant_id>? product_id=101965)
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Order API
Endpoints:
Place a new Order
( POST /order/v1)
Retrieve List of All Orders
(GET /orders/v1/<customerId>)
Update an Order
(PUT /orders/v1/<orderid>)
Delete a Single Order
(DELETE /orders/v1/ /<customerId>/<orderid>)
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Promotion API
Endpoints:
Create a promotion type
(POST /promotion/v1)
Create a discount code
(POST /promotion/discount)
Invalidate a discount code
(PUT /promotion/discount/invalidate/<discount_code>)
Retrieve List of promotions
(GET /promotion/v1)
8
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Payment Gateways
Endpoints:
Get all registered gateways
(GET /gateway/v1)
Disable a Gateway
(PUT /gateway/v1/<gateway_id>)
Enable a Gateway
(PUT /promotion/v1/<gateway_id>)
9
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Building API’s in ColdFusion
 You can create REST services by defining certain attributes in the tags cfcomponent, cffunction, and cfargument and publish
as REST resources. Script can also be used.
• Follows HTTP request-response model: Beyond having HTTP as a medium, the service lets you follow all HTTP norms. The
components published as REST services can be consumed over HTTP/HTTPS request. The REST services are identified with
URI (Uniform Resource Identifier) and can be accessed from a web page as well as by specifying the URI in the browser's
address bar.
• Supports all HTTP methods : The REST enabled CFCs support the following HTTP methods: GET, POST, PUT, DELETE, HEAD,
and OPTIONS.
• Implicit handling of serialization/deserialization: ColdFusion natively supports JSON and XML serialization/deserialization. So
client applications can consume REST services by issuing HTTP/HTTPS request. The response can either be serialized to
XML or JSON format.
• Publish web service as both REST service and WSDL service: You can create and publish the same ColdFusion component as
a REST service and WSDL service.
10
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
<cfcomponent>
 Two arguments for the <cfcomponent> tag:
 rest (true/false) – if true, the cfc is REST enabled.
 restPath – path used to access the REST service.
 Example:
 <cfcomponent rest="true" restpath="/person">
11
Sample URI:
http://localhost:8500/rest/restTest/restService
URL Component Description
http://localhost:8500 Base URL which includes the IP address and port of the ColdFusion server.If
you deploy ColdFusion as a JEE application, the URL will contain a context
root, for example,
http://localhost:8500*/cfusion*
rest Implies that the request sent is a REST request.This default value can be
renamed by revising the context path in web.xml available at
cfusion/wwroot/WEB-INF and update the same mapping in
uriworkermap.properties file found at configwsconfig1.
restTest Application name or service mapping that you have used while registering
the service in ColdFusion Administrator. If you do not specify a service
mapping in the ColdFusion Administrator, then the application name is
taken from Application.cfc.
restService Rest path you defined in the service. That is, the value of the attribute
restPath in the tag cfcomponent.
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
<cffunction>
 <cffunction>
 restPath – specify to use a sub-resource path for the CFC.
 httpMethod – the HTTP method to use
 GET, POST, PUT, DELETE, HEAD, OPTIONS
 Example:
 <cffunction name="getPerson” returntype="string” access="remote” httpmethod="GET”
restPath=“/person/{personID}” produces="application/json”>
12
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
<cfargument>
 <cfargument>
 restArgSource – Where to find the value of the argument
 path,query,form,cookie,header,matrix
 restArgName – The name that can be mapped to the argument name.
 Example:
 <cfargument name=”personID" required="true" type="numeric" restargsource="path" />
13
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Registering an application with the REST service
 After you create the CFC you want to REST-enable, specify the folder for registering as web
service either using the autoRegister Application setting, the function restInitAplication() or in
the ColdFusion Administrator or using the ColdFusion Admin API.
 If you are in a shared environment:
 <cfset this.restsettings.autoregister = true />
 restInitApplication(rootPath[,serviceMapping[,options]])
 These options not require administrator privileges.
14
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
REST Responses
15
Default Response Description
200 OK Sent if the response has a body.
204 No Content Sent if the response doesn’t have a body.
Default Response Description
404 Not Found Request URL is not valid
406 Not Acceptable No function in the REST service can produce the MIME type
requested by the client
415 Unsupported Media Type A resource is unable to consume the MIME type of the client
request
405 Method not allowed If the client invokes an HTTP method on a valid URI to which
the request HTTP method is not bound.
Custom responses can be created using the restSetResponse method for
success or <cfthrow type=“RestError”> for errors.
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Areas I look into:
Web Services (SOAP, REST) , PDF, Spreadsheet
API Manager
Hobbies:
Working on DIY projects
Of course watching TV Series (GOT !!! )
Adobe ColdFusion TeamI AM AN ENGINEER
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
API
API Manager
M
E
R
C
H
A
N
T
STORE ADMINISTRATOR
C
U
S
T
O
M
E
R
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
E-commerce Store APIs
1. Product
2. Merchants
3. Order
4. Promotion
5. Payment Gateway
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
API Manager Actors
19
ADMINISTRATOR PUBLISHER
API Developer
SUBSCRIBER
APP Creator
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Onboarding the API
 Manual API Creation
 CF Discovery
 Swagger Import
 Soap to Rest
 Soap Pass Through
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 21
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
API Manager Building Blocks
 API Visibility
 API Versioning
 API Life cycle
 Security
 SLA
 Caching
 Analytics
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
API Visibility
 Public
 Partner
 Intranet
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
API Versioning
Upgrade APIs without worrying about
backward compatibility by managing
multiple versions using a single platform.
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
API Life cycle
 Draft
 Published
 Deprecate
 Retire
25
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Caching
26
During experiments, Many bird
species store peanuts in a cache
for later retrieval. In the wild,
these birds store acorns and
insects.
Wikipedia
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
About me
Developer & Security Evangelist at Adobe
Previously Security Consultant at RSA Security
Movie Buff
Email: sanniset@adobe.com
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
API Security
28
Identity Authentication Authorization
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
User Store and API Security
 API Security
 API Key
 Basic
 OAuth2 and OAuth2 with SAML
 User Store
 LDAP
 Data Base
 SAML
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
API/APP Key Authentication
 Suitable for Business to Business Sharing
 Application Identification
30
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Authentication (Who say you are)
31
 How to Bring in the Users ? (User Stores)
 LDAP
 DATABASE
 SAML
 Administrator can configure user stores.
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Sample User Store: Database
32
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
BASIC Authentication
 Simplest & Standard form of authenticating
 Auth happens via username & password.
 Pass Username & password in each request
 Requires HTTPS
 Application Should securely store the password
33
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
When it is not Enough!!!!
 Password Anti Pattern
 Trust Issues – Third Party Apps
 Can’t Revoke Application
 No Selective Data Sharing
34
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
An open protocol to allow secureauthorization
in a simple and standard method from web,
mobile and desktop applications.
Introducing
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Resource Owner: the person or theapplication
that holds the data to be shared.
Resource Server: the application that holdsthe
protected resources.
Authorization Server: the application that
verifies the identity of the users.
Client: the application that makes requests to
RS on behalf of RO.
OAuth 2.0: Actors
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Resource Owner: the person or the application
that holds the data to be shared.
Resource Server: the application that holdsthe
protected resources.
Authorization Server: the application that
verifies the identity of the users.
Client: the application that makes requests to
RS on behalf of RO.
OAuth 2.0: Actors
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Resource Owner: the person or the application
that holds the data to be shared.
Resource Server: the application that holds the
protected resources.
Authorization Server: the application that
verifies the identity of the users.
Client: the application that makes requests to
RS on behalf of RO.
OAuth 2.0: Actors
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Resource Owner: the person or the application
that holds the data to be shared.
Resource Server: the application that holds the
protected resources.
Authorization Server: the application that
verifies the identity of the users.
Client: the application that makes requests to
RS on behalf of RO.
OAuth 2.0: Actors
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
I want to see a list of games
Protocol Flow
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Hey, API Manager, could you please
give me a list of games?
Protocol Flow
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Protocol Flow
Sorry Pal, This is a secured API. Provide me an
Access Token.
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Protocol Flow
@alvaro_sanchez
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Protocol Flow
@alvaro_sanchez
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Protocol Flow
Hi, Could you provide me your
username & password ?
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Here you go. My username is
sanniset@adobe.com and password is top-
secret
Protocol Flow
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Protocol Flow
@alvaro_sanchez
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Hi API Manager, here is my token:
7ee85874dde4c7235b6c3afc82e3fb
Protocol Flow
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Protocol Flow
Hi, I have been given the token
7ee85874dde4c7235b6c3afc82e3fb. Is it
Legitimate ?
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Protocol Flow
Of Course. The Token is valid & it
belongs to sanniset@adobe.com
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
All Well!!. Here is the list of games
Protocol Flow
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Here you are the list of games. Have a
goodday!
Protocol Flow
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
OAuth 2.0 isa delegation protocol, as this
guy has no idea about the credentials of
this guy
Protocol Flow
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
SLA
 SLA Plans
 Rate Limiting
 Throttling
 HARD and SOFT Limit
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 55
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Analytics
 Administrator Analytics
 Publisher Analytics
 Subscriber Analytics
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Recap - APIs – From concept to Go-To-Market
Step 1
Define your business
objectives
58
Step 2
Design your API
Step 3
On-board your API
Step 4
Manage your API
Step 5
Secure your API
Step 6
Engage Customers
Step 7
Measure impact
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 59
Api manager preconference

More Related Content

What's hot

ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995ColdFusionConference
 
Building ColdFusion And AngularJS Applications
Building ColdFusion And AngularJS ApplicationsBuilding ColdFusion And AngularJS Applications
Building ColdFusion And AngularJS ApplicationsColdFusionConference
 
Single page apps_with_cf_and_angular[1]
Single page apps_with_cf_and_angular[1]Single page apps_with_cf_and_angular[1]
Single page apps_with_cf_and_angular[1]ColdFusionConference
 
10 Reasons ColdFusion PDFs should rule the world
10 Reasons ColdFusion PDFs should rule the world10 Reasons ColdFusion PDFs should rule the world
10 Reasons ColdFusion PDFs should rule the worldColdFusionConference
 
Super Fast Application development with Mura CMS
Super Fast Application development with Mura CMSSuper Fast Application development with Mura CMS
Super Fast Application development with Mura CMSColdFusionConference
 
Developing html5 mobile applications using cold fusion 11
Developing html5 mobile applications using cold fusion 11Developing html5 mobile applications using cold fusion 11
Developing html5 mobile applications using cold fusion 11ColdFusionConference
 
Intro to Coldfusion
Intro to ColdfusionIntro to Coldfusion
Intro to ColdfusionTerry Ryan
 
Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...ColdFusionConference
 
ITB2016 - Building ColdFusion RESTFul Services
ITB2016 - Building ColdFusion RESTFul ServicesITB2016 - Building ColdFusion RESTFul Services
ITB2016 - Building ColdFusion RESTFul ServicesOrtus Solutions, Corp
 
AEM GEMS Session SAML authentication in AEM
AEM GEMS Session SAML authentication in AEMAEM GEMS Session SAML authentication in AEM
AEM GEMS Session SAML authentication in AEMAdobeMarketingCloud
 
Mule Hyderabad Meetup (Mule 4)
Mule Hyderabad Meetup (Mule 4)Mule Hyderabad Meetup (Mule 4)
Mule Hyderabad Meetup (Mule 4)Vijay Reddy
 
Scale ColdFusion with Terracotta Distributed Caching for Ehchache
Scale ColdFusion with Terracotta Distributed Caching for EhchacheScale ColdFusion with Terracotta Distributed Caching for Ehchache
Scale ColdFusion with Terracotta Distributed Caching for EhchacheColdFusionConference
 
Building Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIBuilding Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIJeff Potts
 
Intro to Alfresco for Developers
Intro to Alfresco for DevelopersIntro to Alfresco for Developers
Intro to Alfresco for DevelopersJeff Potts
 
Mobile Applications Made Easy with ColdFusion 11
Mobile Applications Made Easy with ColdFusion 11Mobile Applications Made Easy with ColdFusion 11
Mobile Applications Made Easy with ColdFusion 11ColdFusionConference
 

What's hot (20)

Restful API's with ColdFusion
Restful API's with ColdFusionRestful API's with ColdFusion
Restful API's with ColdFusion
 
ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995
 
Building ColdFusion And AngularJS Applications
Building ColdFusion And AngularJS ApplicationsBuilding ColdFusion And AngularJS Applications
Building ColdFusion And AngularJS Applications
 
Hidden Gems in ColdFusion 2016
Hidden Gems in ColdFusion 2016Hidden Gems in ColdFusion 2016
Hidden Gems in ColdFusion 2016
 
Bring api manager into your stack
Bring api manager into your stackBring api manager into your stack
Bring api manager into your stack
 
Single page apps_with_cf_and_angular[1]
Single page apps_with_cf_and_angular[1]Single page apps_with_cf_and_angular[1]
Single page apps_with_cf_and_angular[1]
 
10 Reasons ColdFusion PDFs should rule the world
10 Reasons ColdFusion PDFs should rule the world10 Reasons ColdFusion PDFs should rule the world
10 Reasons ColdFusion PDFs should rule the world
 
Super Fast Application development with Mura CMS
Super Fast Application development with Mura CMSSuper Fast Application development with Mura CMS
Super Fast Application development with Mura CMS
 
Developing html5 mobile applications using cold fusion 11
Developing html5 mobile applications using cold fusion 11Developing html5 mobile applications using cold fusion 11
Developing html5 mobile applications using cold fusion 11
 
Cfml features modern_coding
Cfml features modern_codingCfml features modern_coding
Cfml features modern_coding
 
Intro to Coldfusion
Intro to ColdfusionIntro to Coldfusion
Intro to Coldfusion
 
A Bit of REST
A Bit of RESTA Bit of REST
A Bit of REST
 
Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...
 
ITB2016 - Building ColdFusion RESTFul Services
ITB2016 - Building ColdFusion RESTFul ServicesITB2016 - Building ColdFusion RESTFul Services
ITB2016 - Building ColdFusion RESTFul Services
 
AEM GEMS Session SAML authentication in AEM
AEM GEMS Session SAML authentication in AEMAEM GEMS Session SAML authentication in AEM
AEM GEMS Session SAML authentication in AEM
 
Mule Hyderabad Meetup (Mule 4)
Mule Hyderabad Meetup (Mule 4)Mule Hyderabad Meetup (Mule 4)
Mule Hyderabad Meetup (Mule 4)
 
Scale ColdFusion with Terracotta Distributed Caching for Ehchache
Scale ColdFusion with Terracotta Distributed Caching for EhchacheScale ColdFusion with Terracotta Distributed Caching for Ehchache
Scale ColdFusion with Terracotta Distributed Caching for Ehchache
 
Building Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIBuilding Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco API
 
Intro to Alfresco for Developers
Intro to Alfresco for DevelopersIntro to Alfresco for Developers
Intro to Alfresco for Developers
 
Mobile Applications Made Easy with ColdFusion 11
Mobile Applications Made Easy with ColdFusion 11Mobile Applications Made Easy with ColdFusion 11
Mobile Applications Made Easy with ColdFusion 11
 

Viewers also liked

API Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIsAPI Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIsColdFusionConference
 
Building better SQL Server Databases
Building better SQL Server DatabasesBuilding better SQL Server Databases
Building better SQL Server DatabasesColdFusionConference
 
Crafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an ArchitectCrafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an ArchitectColdFusionConference
 
Monetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APISMonetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APISColdFusionConference
 
Security And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API ManagerSecurity And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API ManagerColdFusionConference
 
Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016ColdFusionConference
 
WordPress Security - The "No-BS" Version
WordPress Security - The "No-BS" VersionWordPress Security - The "No-BS" Version
WordPress Security - The "No-BS" VersionTony Perez
 
Platform for Secure Digital Business
Platform for Secure Digital BusinessPlatform for Secure Digital Business
Platform for Secure Digital BusinessAkana
 
Cold fusion Security-How to Secure Coldfusion Server
Cold fusion Security-How to Secure Coldfusion ServerCold fusion Security-How to Secure Coldfusion Server
Cold fusion Security-How to Secure Coldfusion ServerMindfire Solutions
 
ColdFusion Features for More Modern Coding
ColdFusion Features for More Modern CodingColdFusion Features for More Modern Coding
ColdFusion Features for More Modern CodingColdFusionConference
 
Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...
Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...
Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...ColdFusionConference
 
Using NoSQL MongoDB with ColdFusion
Using NoSQL MongoDB with ColdFusionUsing NoSQL MongoDB with ColdFusion
Using NoSQL MongoDB with ColdFusionindiver
 

Viewers also liked (18)

API Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIsAPI Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIs
 
Building better SQL Server Databases
Building better SQL Server DatabasesBuilding better SQL Server Databases
Building better SQL Server Databases
 
Cf ppt vsr
Cf ppt vsrCf ppt vsr
Cf ppt vsr
 
Don't just pdf, Smart PDF
Don't just pdf, Smart PDFDon't just pdf, Smart PDF
Don't just pdf, Smart PDF
 
Crafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an ArchitectCrafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an Architect
 
Monetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APISMonetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APIS
 
Security And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API ManagerSecurity And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API Manager
 
ColdFusion in Transit action
ColdFusion in Transit actionColdFusion in Transit action
ColdFusion in Transit action
 
Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016
 
Why Everyone else writes bad code
Why Everyone else writes bad codeWhy Everyone else writes bad code
Why Everyone else writes bad code
 
Testing automaton
Testing automatonTesting automaton
Testing automaton
 
Instant ColdFusion with Vagrant
Instant ColdFusion with VagrantInstant ColdFusion with Vagrant
Instant ColdFusion with Vagrant
 
WordPress Security - The "No-BS" Version
WordPress Security - The "No-BS" VersionWordPress Security - The "No-BS" Version
WordPress Security - The "No-BS" Version
 
Platform for Secure Digital Business
Platform for Secure Digital BusinessPlatform for Secure Digital Business
Platform for Secure Digital Business
 
Cold fusion Security-How to Secure Coldfusion Server
Cold fusion Security-How to Secure Coldfusion ServerCold fusion Security-How to Secure Coldfusion Server
Cold fusion Security-How to Secure Coldfusion Server
 
ColdFusion Features for More Modern Coding
ColdFusion Features for More Modern CodingColdFusion Features for More Modern Coding
ColdFusion Features for More Modern Coding
 
Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...
Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...
Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...
 
Using NoSQL MongoDB with ColdFusion
Using NoSQL MongoDB with ColdFusionUsing NoSQL MongoDB with ColdFusion
Using NoSQL MongoDB with ColdFusion
 

Similar to Api manager preconference

REST Development made Easy with ColdFusion Aether
REST Development made Easy with ColdFusion AetherREST Development made Easy with ColdFusion Aether
REST Development made Easy with ColdFusion AetherPavan Kumar
 
API Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsAPI Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsApigee | Google Cloud
 
Practical guide to building public APIs
Practical guide to building public APIsPractical guide to building public APIs
Practical guide to building public APIsReda Hmeid MBCS
 
[WSO2Con Asia 2018] Managing API Integrations with WSO2 API Manager
[WSO2Con Asia 2018] Managing API Integrations with WSO2 API Manager[WSO2Con Asia 2018] Managing API Integrations with WSO2 API Manager
[WSO2Con Asia 2018] Managing API Integrations with WSO2 API ManagerWSO2
 
2022 APIsecure_Making webhook APIs secure for enterprise
2022 APIsecure_Making webhook APIs secure for enterprise2022 APIsecure_Making webhook APIs secure for enterprise
2022 APIsecure_Making webhook APIs secure for enterpriseAPIsecure_ Official
 
Azure API Management - why should I care?
Azure API Management - why should I care?Azure API Management - why should I care?
Azure API Management - why should I care?Jouni Heikniemi
 
Best practices and advantages of REST APIs
Best practices and advantages of REST APIsBest practices and advantages of REST APIs
Best practices and advantages of REST APIsAparna Sharma
 
LAJUG Napster REST API
LAJUG Napster REST APILAJUG Napster REST API
LAJUG Napster REST APIstephenbhadran
 
Developing Apps with Azure AD
Developing Apps with Azure ADDeveloping Apps with Azure AD
Developing Apps with Azure ADSharePointRadi
 
API Management Workshop (at Startupbootcamp Berlin)
API Management Workshop (at Startupbootcamp Berlin)API Management Workshop (at Startupbootcamp Berlin)
API Management Workshop (at Startupbootcamp Berlin)3scale
 
What is SAP API Management_.pdf
What is SAP API Management_.pdfWhat is SAP API Management_.pdf
What is SAP API Management_.pdfBilawalAmeen
 
Design Summit - RESTful API Overview - John Hardy
Design Summit - RESTful API Overview - John HardyDesign Summit - RESTful API Overview - John Hardy
Design Summit - RESTful API Overview - John HardyManageIQ
 
REST API 20.2 - Appworks Gateway Integration.pptx
REST API 20.2 - Appworks Gateway Integration.pptxREST API 20.2 - Appworks Gateway Integration.pptx
REST API 20.2 - Appworks Gateway Integration.pptxJason452803
 
Best Practices for Architecting a Pragmatic Web API.
Best Practices for Architecting a Pragmatic Web API.Best Practices for Architecting a Pragmatic Web API.
Best Practices for Architecting a Pragmatic Web API.Mario Cardinal
 
SAP Kapsel Plugins For Cordova
SAP Kapsel Plugins For CordovaSAP Kapsel Plugins For Cordova
SAP Kapsel Plugins For CordovaChris Whealy
 
The ultimate api checklist by Blendr.io
The ultimate api checklist by Blendr.ioThe ultimate api checklist by Blendr.io
The ultimate api checklist by Blendr.ioBlendr.io
 

Similar to Api manager preconference (20)

REST Development made Easy with ColdFusion Aether
REST Development made Easy with ColdFusion AetherREST Development made Easy with ColdFusion Aether
REST Development made Easy with ColdFusion Aether
 
API Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsAPI Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIs
 
Practical guide to building public APIs
Practical guide to building public APIsPractical guide to building public APIs
Practical guide to building public APIs
 
Getting Started with API Management
Getting Started with API ManagementGetting Started with API Management
Getting Started with API Management
 
[WSO2Con Asia 2018] Managing API Integrations with WSO2 API Manager
[WSO2Con Asia 2018] Managing API Integrations with WSO2 API Manager[WSO2Con Asia 2018] Managing API Integrations with WSO2 API Manager
[WSO2Con Asia 2018] Managing API Integrations with WSO2 API Manager
 
2022 APIsecure_Making webhook APIs secure for enterprise
2022 APIsecure_Making webhook APIs secure for enterprise2022 APIsecure_Making webhook APIs secure for enterprise
2022 APIsecure_Making webhook APIs secure for enterprise
 
Azure API Management - why should I care?
Azure API Management - why should I care?Azure API Management - why should I care?
Azure API Management - why should I care?
 
Sst hackathon express
Sst hackathon expressSst hackathon express
Sst hackathon express
 
Best practices and advantages of REST APIs
Best practices and advantages of REST APIsBest practices and advantages of REST APIs
Best practices and advantages of REST APIs
 
LAJUG Napster REST API
LAJUG Napster REST APILAJUG Napster REST API
LAJUG Napster REST API
 
Developing Apps with Azure AD
Developing Apps with Azure ADDeveloping Apps with Azure AD
Developing Apps with Azure AD
 
API Management Workshop (at Startupbootcamp Berlin)
API Management Workshop (at Startupbootcamp Berlin)API Management Workshop (at Startupbootcamp Berlin)
API Management Workshop (at Startupbootcamp Berlin)
 
What is SAP API Management_.pdf
What is SAP API Management_.pdfWhat is SAP API Management_.pdf
What is SAP API Management_.pdf
 
Design Summit - RESTful API Overview - John Hardy
Design Summit - RESTful API Overview - John HardyDesign Summit - RESTful API Overview - John Hardy
Design Summit - RESTful API Overview - John Hardy
 
API Design- Best Practices
API Design-   Best PracticesAPI Design-   Best Practices
API Design- Best Practices
 
ColdFusion Internals
ColdFusion InternalsColdFusion Internals
ColdFusion Internals
 
REST API 20.2 - Appworks Gateway Integration.pptx
REST API 20.2 - Appworks Gateway Integration.pptxREST API 20.2 - Appworks Gateway Integration.pptx
REST API 20.2 - Appworks Gateway Integration.pptx
 
Best Practices for Architecting a Pragmatic Web API.
Best Practices for Architecting a Pragmatic Web API.Best Practices for Architecting a Pragmatic Web API.
Best Practices for Architecting a Pragmatic Web API.
 
SAP Kapsel Plugins For Cordova
SAP Kapsel Plugins For CordovaSAP Kapsel Plugins For Cordova
SAP Kapsel Plugins For Cordova
 
The ultimate api checklist by Blendr.io
The ultimate api checklist by Blendr.ioThe ultimate api checklist by Blendr.io
The ultimate api checklist by Blendr.io
 

More from ColdFusionConference

Herding cats managing ColdFusion servers with commandbox
Herding cats managing ColdFusion servers with commandboxHerding cats managing ColdFusion servers with commandbox
Herding cats managing ColdFusion servers with commandboxColdFusionConference
 
Everyones invited! Meet accesibility requirements with ColdFusion
Everyones invited! Meet accesibility requirements with ColdFusionEveryones invited! Meet accesibility requirements with ColdFusion
Everyones invited! Meet accesibility requirements with ColdFusionColdFusionConference
 
Getting started with mobile application development
Getting started with mobile application developmentGetting started with mobile application development
Getting started with mobile application developmentColdFusionConference
 

More from ColdFusionConference (10)

Rest ful tools for lazy experts
Rest ful tools for lazy expertsRest ful tools for lazy experts
Rest ful tools for lazy experts
 
Herding cats managing ColdFusion servers with commandbox
Herding cats managing ColdFusion servers with commandboxHerding cats managing ColdFusion servers with commandbox
Herding cats managing ColdFusion servers with commandbox
 
Realtime with websockets
Realtime with websocketsRealtime with websockets
Realtime with websockets
 
Instant ColdFusion with Vagrant
Instant ColdFusion with VagrantInstant ColdFusion with Vagrant
Instant ColdFusion with Vagrant
 
Hidden gems in cf2016
Hidden gems in cf2016Hidden gems in cf2016
Hidden gems in cf2016
 
Everyones invited! Meet accesibility requirements with ColdFusion
Everyones invited! Meet accesibility requirements with ColdFusionEveryones invited! Meet accesibility requirements with ColdFusion
Everyones invited! Meet accesibility requirements with ColdFusion
 
Getting started with mobile application development
Getting started with mobile application developmentGetting started with mobile application development
Getting started with mobile application development
 
Keep Applications Online
Keep Applications OnlineKeep Applications Online
Keep Applications Online
 
Dependency Injection
Dependency InjectionDependency Injection
Dependency Injection
 
ColdFusion Craftsmanship
ColdFusion CraftsmanshipColdFusion Craftsmanship
ColdFusion Craftsmanship
 

Recently uploaded

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 

Recently uploaded (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 

Api manager preconference

  • 1. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Developing and Managing API with Adobe ColdFusion and API Manager Kevin, Mayur, Pavan
  • 2. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Agenda  Use Case  Designing your API  API Manager Actors  Onboarding of the API  Building Blocks  Security  SLA  Analytics
  • 3. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. API API Manager M E R C H A N T STORE ADMINISTRATOR C U S T O M E R
  • 4. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. E-commerce Store APIs 1. Product 2. Merchants 3. Order 4. Promotion 5. Payment Gateway
  • 5. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Product API Endpoints: Add a product (POST /products/v1 ) Get all products (GET /products/v1 ) Add/Update Brand (PUT /products/v1 ) Search product (GET /products/v1/search?searchid=123)
  • 6. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Merchant API Endpoints: Add a product (POST /merchant/v1/products/<merchant_id>) Update Product Price (PUT merchant/v1/products/<merchant_id>?product_id=101965 ) Update Product quantity (PUT merchant/v1/products/<merchant_id>?product_id=101965 ) Delete a product under merchant store (DELETE /merchant/v1/products/<merchant_id>? product_id=101965)
  • 7. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Order API Endpoints: Place a new Order ( POST /order/v1) Retrieve List of All Orders (GET /orders/v1/<customerId>) Update an Order (PUT /orders/v1/<orderid>) Delete a Single Order (DELETE /orders/v1/ /<customerId>/<orderid>)
  • 8. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Promotion API Endpoints: Create a promotion type (POST /promotion/v1) Create a discount code (POST /promotion/discount) Invalidate a discount code (PUT /promotion/discount/invalidate/<discount_code>) Retrieve List of promotions (GET /promotion/v1) 8
  • 9. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Payment Gateways Endpoints: Get all registered gateways (GET /gateway/v1) Disable a Gateway (PUT /gateway/v1/<gateway_id>) Enable a Gateway (PUT /promotion/v1/<gateway_id>) 9
  • 10. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Building API’s in ColdFusion  You can create REST services by defining certain attributes in the tags cfcomponent, cffunction, and cfargument and publish as REST resources. Script can also be used. • Follows HTTP request-response model: Beyond having HTTP as a medium, the service lets you follow all HTTP norms. The components published as REST services can be consumed over HTTP/HTTPS request. The REST services are identified with URI (Uniform Resource Identifier) and can be accessed from a web page as well as by specifying the URI in the browser's address bar. • Supports all HTTP methods : The REST enabled CFCs support the following HTTP methods: GET, POST, PUT, DELETE, HEAD, and OPTIONS. • Implicit handling of serialization/deserialization: ColdFusion natively supports JSON and XML serialization/deserialization. So client applications can consume REST services by issuing HTTP/HTTPS request. The response can either be serialized to XML or JSON format. • Publish web service as both REST service and WSDL service: You can create and publish the same ColdFusion component as a REST service and WSDL service. 10
  • 11. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. <cfcomponent>  Two arguments for the <cfcomponent> tag:  rest (true/false) – if true, the cfc is REST enabled.  restPath – path used to access the REST service.  Example:  <cfcomponent rest="true" restpath="/person"> 11 Sample URI: http://localhost:8500/rest/restTest/restService URL Component Description http://localhost:8500 Base URL which includes the IP address and port of the ColdFusion server.If you deploy ColdFusion as a JEE application, the URL will contain a context root, for example, http://localhost:8500*/cfusion* rest Implies that the request sent is a REST request.This default value can be renamed by revising the context path in web.xml available at cfusion/wwroot/WEB-INF and update the same mapping in uriworkermap.properties file found at configwsconfig1. restTest Application name or service mapping that you have used while registering the service in ColdFusion Administrator. If you do not specify a service mapping in the ColdFusion Administrator, then the application name is taken from Application.cfc. restService Rest path you defined in the service. That is, the value of the attribute restPath in the tag cfcomponent.
  • 12. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. <cffunction>  <cffunction>  restPath – specify to use a sub-resource path for the CFC.  httpMethod – the HTTP method to use  GET, POST, PUT, DELETE, HEAD, OPTIONS  Example:  <cffunction name="getPerson” returntype="string” access="remote” httpmethod="GET” restPath=“/person/{personID}” produces="application/json”> 12
  • 13. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. <cfargument>  <cfargument>  restArgSource – Where to find the value of the argument  path,query,form,cookie,header,matrix  restArgName – The name that can be mapped to the argument name.  Example:  <cfargument name=”personID" required="true" type="numeric" restargsource="path" /> 13
  • 14. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Registering an application with the REST service  After you create the CFC you want to REST-enable, specify the folder for registering as web service either using the autoRegister Application setting, the function restInitAplication() or in the ColdFusion Administrator or using the ColdFusion Admin API.  If you are in a shared environment:  <cfset this.restsettings.autoregister = true />  restInitApplication(rootPath[,serviceMapping[,options]])  These options not require administrator privileges. 14
  • 15. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. REST Responses 15 Default Response Description 200 OK Sent if the response has a body. 204 No Content Sent if the response doesn’t have a body. Default Response Description 404 Not Found Request URL is not valid 406 Not Acceptable No function in the REST service can produce the MIME type requested by the client 415 Unsupported Media Type A resource is unable to consume the MIME type of the client request 405 Method not allowed If the client invokes an HTTP method on a valid URI to which the request HTTP method is not bound. Custom responses can be created using the restSetResponse method for success or <cfthrow type=“RestError”> for errors.
  • 16. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Areas I look into: Web Services (SOAP, REST) , PDF, Spreadsheet API Manager Hobbies: Working on DIY projects Of course watching TV Series (GOT !!! ) Adobe ColdFusion TeamI AM AN ENGINEER
  • 17. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. API API Manager M E R C H A N T STORE ADMINISTRATOR C U S T O M E R
  • 18. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. E-commerce Store APIs 1. Product 2. Merchants 3. Order 4. Promotion 5. Payment Gateway
  • 19. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. API Manager Actors 19 ADMINISTRATOR PUBLISHER API Developer SUBSCRIBER APP Creator
  • 20. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Onboarding the API  Manual API Creation  CF Discovery  Swagger Import  Soap to Rest  Soap Pass Through
  • 21. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 21
  • 22. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. API Manager Building Blocks  API Visibility  API Versioning  API Life cycle  Security  SLA  Caching  Analytics
  • 23. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. API Visibility  Public  Partner  Intranet
  • 24. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. API Versioning Upgrade APIs without worrying about backward compatibility by managing multiple versions using a single platform.
  • 25. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. API Life cycle  Draft  Published  Deprecate  Retire 25
  • 26. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Caching 26 During experiments, Many bird species store peanuts in a cache for later retrieval. In the wild, these birds store acorns and insects. Wikipedia
  • 27. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. About me Developer & Security Evangelist at Adobe Previously Security Consultant at RSA Security Movie Buff Email: sanniset@adobe.com
  • 28. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. API Security 28 Identity Authentication Authorization
  • 29. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. User Store and API Security  API Security  API Key  Basic  OAuth2 and OAuth2 with SAML  User Store  LDAP  Data Base  SAML
  • 30. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. API/APP Key Authentication  Suitable for Business to Business Sharing  Application Identification 30
  • 31. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Authentication (Who say you are) 31  How to Bring in the Users ? (User Stores)  LDAP  DATABASE  SAML  Administrator can configure user stores.
  • 32. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Sample User Store: Database 32
  • 33. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. BASIC Authentication  Simplest & Standard form of authenticating  Auth happens via username & password.  Pass Username & password in each request  Requires HTTPS  Application Should securely store the password 33
  • 34. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. When it is not Enough!!!!  Password Anti Pattern  Trust Issues – Third Party Apps  Can’t Revoke Application  No Selective Data Sharing 34
  • 35. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. An open protocol to allow secureauthorization in a simple and standard method from web, mobile and desktop applications. Introducing
  • 36. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Resource Owner: the person or theapplication that holds the data to be shared. Resource Server: the application that holdsthe protected resources. Authorization Server: the application that verifies the identity of the users. Client: the application that makes requests to RS on behalf of RO. OAuth 2.0: Actors
  • 37. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Resource Owner: the person or the application that holds the data to be shared. Resource Server: the application that holdsthe protected resources. Authorization Server: the application that verifies the identity of the users. Client: the application that makes requests to RS on behalf of RO. OAuth 2.0: Actors
  • 38. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Resource Owner: the person or the application that holds the data to be shared. Resource Server: the application that holds the protected resources. Authorization Server: the application that verifies the identity of the users. Client: the application that makes requests to RS on behalf of RO. OAuth 2.0: Actors
  • 39. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Resource Owner: the person or the application that holds the data to be shared. Resource Server: the application that holds the protected resources. Authorization Server: the application that verifies the identity of the users. Client: the application that makes requests to RS on behalf of RO. OAuth 2.0: Actors
  • 40. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. I want to see a list of games Protocol Flow
  • 41. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Hey, API Manager, could you please give me a list of games? Protocol Flow
  • 42. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Protocol Flow Sorry Pal, This is a secured API. Provide me an Access Token.
  • 43. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Protocol Flow @alvaro_sanchez
  • 44. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Protocol Flow @alvaro_sanchez
  • 45. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Protocol Flow Hi, Could you provide me your username & password ?
  • 46. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Here you go. My username is sanniset@adobe.com and password is top- secret Protocol Flow
  • 47. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Protocol Flow @alvaro_sanchez
  • 48. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Hi API Manager, here is my token: 7ee85874dde4c7235b6c3afc82e3fb Protocol Flow
  • 49. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Protocol Flow Hi, I have been given the token 7ee85874dde4c7235b6c3afc82e3fb. Is it Legitimate ?
  • 50. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Protocol Flow Of Course. The Token is valid & it belongs to sanniset@adobe.com
  • 51. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. All Well!!. Here is the list of games Protocol Flow
  • 52. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Here you are the list of games. Have a goodday! Protocol Flow
  • 53. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. OAuth 2.0 isa delegation protocol, as this guy has no idea about the credentials of this guy Protocol Flow
  • 54. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. SLA  SLA Plans  Rate Limiting  Throttling  HARD and SOFT Limit
  • 55. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 55
  • 56. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Analytics  Administrator Analytics  Publisher Analytics  Subscriber Analytics
  • 57. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Recap - APIs – From concept to Go-To-Market Step 1 Define your business objectives 58 Step 2 Design your API Step 3 On-board your API Step 4 Manage your API Step 5 Secure your API Step 6 Engage Customers Step 7 Measure impact
  • 58. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 59