ColdFusion Summit 2016
Tim Cunningham –VP of Primoris Services
• CF Developer over 17 years
• Targeting the Insurance & Financial services market
• Payment Processing
• Credit Cards
• Banking
• Claims Disbursement
• Block Chain financial contracts
• Was initially a CF API manager skeptic
What is it?
• ColdFusion API Manager helps you to create
APIs that expose core functionalities of
application and other backend systems.
• These APIs are then published and managed
at runtime.
• Essentially it is a proxy for any API
What does it claim to do?
• Access Control
• The API Manager helps you to restrict certain APIs to
trusted subscribers and enforce usage for each users
based on roles
• API Key
• Basic Authentication
• Oauth 2.0 using SAML (single sign-on)
What does it claim to do?
•Analytics
•Track usage across applications
•Track method usage
•Track users
What does it claim to do?
• Portals
• API Administrators
• Server settings
• SLAs
• Mail Settings
• Subscribers
• Subscribe
• View
• Test
• Publishers
• Publish
• View
• Manage
What does it claim to do?
• API Versioning
• Create multiple versions of the same API and manage them
separately.
• Deprecate and retire a published version
• Metering & Throttling
• SLAs & Tiers
• Caching
• Clustering
• Notifications
Our Challenge
• Primoris is a Payments Services Company
• Most of our products are APIs
• Many of our products rely on other companies APIs.
• ABA Banking apis
• Verfied by Visa Merchants
• Wells Fargo
• Consistently Inconsistent
• Age
• Language
• Documentation
• Versioning Schemes
Our Challenge
• Improve Documentation
• Improve Insight through analytics & portal views
• Simplify Versioning
• Improve customer testing experience
• Recognize new revenue by utilizing metering and
SLAs
The Marketing
• Just point it at your ColdFusion REST API
and your done!
• Just point it at your swagger.json file and
your done!
The Reality
• Just point it at your ColdFusion REST API and
your done!
• Depends
• Just point it at your swagger.json file and
your done!
• Most likely
CF Rest Services
• Was your API
written in CF
10 and up?
• Is it
registered in
the
ColdFusion
Admin?
CF Rest Services
• What happens when you register a properly written REST CFC? You Swagger.
CF Rest Services
• What we decided to do.
• Don’t rewrite service
• Manually add service to API manager
• Add Swagger to exisiting custom CF REST
Services
Trigger warning
Gratuitous XML
SOAP
• SOAP – Simple Object Access Protocol
• Not recognized as acronym as of 2012
• Disadvantages
• roles of the interacting parties are fixed. Only one party (the client) can use the
services of the other.
• verbosity
• slow parsing speed of XML
• lack of a standardized interaction model
• We have no soap services
• Recommendation: Try out REST API from SOAP feature
Non-CF Restful Services
•You can manually add your non-cf services
to the API manger
•You can add other peoples Web Services to
your API manager
•You can add Swagger 2.0 to your
webservice (recommended)
The API Manger
The API Manger
The API Manger
The API Manger
Swagger aka Open API Initiative
• Specification for machine-readable interface files for describing, producing,
consuming, and visualizing RESTful web services
• Automatically generate documentation
• Keep the documentation, client libraries, and source code in sync.
• language-agnostic
• extensible
• Swagger UI framework allows both developers and non-developers to interact
with the API in a sandbox UI
• Swagger Code Gen for most languages
• Utilizes JSON and XML
Swagger aka Open API Initiative
Swagger aka Open API Initiative
Swagger UI
Swagger – Lessons Learned
• Swagger 2.0 is awesome
• CF API Admin does not generate a swagger file for
you (yet)
• It forces your developers to document their code
• It ties the docs to the code
• It makes the API docs testable. If the sandbox
doesn’t work the docs are wrong.
Swagger – Lessons Learned
• Swagger 2.0 is awesome
• ColdFusion Restful APIs generate swagger 1.2
• Can only have 1 expected result per HTTP Response
• Our 200 response was written to have multiple expected
results based on options passed
• Should have used 200, 201,202,203…. 299
• Mapped “proxy” endpoints for each combination giving a 200
response.
Swagger – Lessons Learned
• Swagger 2.0 is awesome
• Can instantly create language specific SDK from swagger
• APIs utilizing Swagger can be imported instantly into the
ColdFusion API manager
Swagger SDK Generators
So what does all this get us?
Beautiful, meaningful analytics
So what does all this get us?
• Multiple methods of secure authentication
• Brand-able portals for customer subscribers, publishers & admins
• Built-in throttling
• Built-in SLAs
• Built-in Cache
• Extremely performant
• FREE!!
• As in free with a purchase of a ColdFusion Enterprise license.
Thank you!
Don’t forget to fill out
your survey!
Time to head to Ria Ra
Pub at the “Shoppes” of
Mandalay Bay
Thank you!

Bring api manager into your stack

  • 1.
  • 2.
    Tim Cunningham –VPof Primoris Services • CF Developer over 17 years • Targeting the Insurance & Financial services market • Payment Processing • Credit Cards • Banking • Claims Disbursement • Block Chain financial contracts • Was initially a CF API manager skeptic
  • 3.
    What is it? •ColdFusion API Manager helps you to create APIs that expose core functionalities of application and other backend systems. • These APIs are then published and managed at runtime. • Essentially it is a proxy for any API
  • 4.
    What does itclaim to do? • Access Control • The API Manager helps you to restrict certain APIs to trusted subscribers and enforce usage for each users based on roles • API Key • Basic Authentication • Oauth 2.0 using SAML (single sign-on)
  • 5.
    What does itclaim to do? •Analytics •Track usage across applications •Track method usage •Track users
  • 6.
    What does itclaim to do? • Portals • API Administrators • Server settings • SLAs • Mail Settings • Subscribers • Subscribe • View • Test • Publishers • Publish • View • Manage
  • 7.
    What does itclaim to do? • API Versioning • Create multiple versions of the same API and manage them separately. • Deprecate and retire a published version • Metering & Throttling • SLAs & Tiers • Caching • Clustering • Notifications
  • 8.
    Our Challenge • Primorisis a Payments Services Company • Most of our products are APIs • Many of our products rely on other companies APIs. • ABA Banking apis • Verfied by Visa Merchants • Wells Fargo • Consistently Inconsistent • Age • Language • Documentation • Versioning Schemes
  • 9.
    Our Challenge • ImproveDocumentation • Improve Insight through analytics & portal views • Simplify Versioning • Improve customer testing experience • Recognize new revenue by utilizing metering and SLAs
  • 10.
    The Marketing • Justpoint it at your ColdFusion REST API and your done! • Just point it at your swagger.json file and your done!
  • 11.
    The Reality • Justpoint it at your ColdFusion REST API and your done! • Depends • Just point it at your swagger.json file and your done! • Most likely
  • 12.
    CF Rest Services •Was your API written in CF 10 and up? • Is it registered in the ColdFusion Admin?
  • 13.
    CF Rest Services •What happens when you register a properly written REST CFC? You Swagger.
  • 14.
    CF Rest Services •What we decided to do. • Don’t rewrite service • Manually add service to API manager • Add Swagger to exisiting custom CF REST Services
  • 15.
  • 16.
    SOAP • SOAP –Simple Object Access Protocol • Not recognized as acronym as of 2012 • Disadvantages • roles of the interacting parties are fixed. Only one party (the client) can use the services of the other. • verbosity • slow parsing speed of XML • lack of a standardized interaction model • We have no soap services • Recommendation: Try out REST API from SOAP feature
  • 17.
    Non-CF Restful Services •Youcan manually add your non-cf services to the API manger •You can add other peoples Web Services to your API manager •You can add Swagger 2.0 to your webservice (recommended)
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
    Swagger aka OpenAPI Initiative • Specification for machine-readable interface files for describing, producing, consuming, and visualizing RESTful web services • Automatically generate documentation • Keep the documentation, client libraries, and source code in sync. • language-agnostic • extensible • Swagger UI framework allows both developers and non-developers to interact with the API in a sandbox UI • Swagger Code Gen for most languages • Utilizes JSON and XML
  • 23.
    Swagger aka OpenAPI Initiative
  • 24.
    Swagger aka OpenAPI Initiative
  • 25.
  • 26.
    Swagger – LessonsLearned • Swagger 2.0 is awesome • CF API Admin does not generate a swagger file for you (yet) • It forces your developers to document their code • It ties the docs to the code • It makes the API docs testable. If the sandbox doesn’t work the docs are wrong.
  • 27.
    Swagger – LessonsLearned • Swagger 2.0 is awesome • ColdFusion Restful APIs generate swagger 1.2 • Can only have 1 expected result per HTTP Response • Our 200 response was written to have multiple expected results based on options passed • Should have used 200, 201,202,203…. 299 • Mapped “proxy” endpoints for each combination giving a 200 response.
  • 28.
    Swagger – LessonsLearned • Swagger 2.0 is awesome • Can instantly create language specific SDK from swagger • APIs utilizing Swagger can be imported instantly into the ColdFusion API manager
  • 29.
  • 30.
    So what doesall this get us? Beautiful, meaningful analytics
  • 31.
    So what doesall this get us? • Multiple methods of secure authentication • Brand-able portals for customer subscribers, publishers & admins • Built-in throttling • Built-in SLAs • Built-in Cache • Extremely performant • FREE!! • As in free with a purchase of a ColdFusion Enterprise license.
  • 32.
    Thank you! Don’t forgetto fill out your survey! Time to head to Ria Ra Pub at the “Shoppes” of Mandalay Bay
  • 33.