Using APIs

484 views

Published on

Learn how you can integrate a smart API strategy with your existing enterpise IT infrastructure.

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
484
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Using APIs

  1. 1. Using APIs Copyright © 2001-2012 SOA Software, Inc. All Rights Reserved. All content subject to confidentiality agreement between SOA Software and Customer.
  2. 2. A Case Study – SOA Software (My Keynote) • SOA Software built its first product in 2002 • Thriving software product business – Direct Sales to Enterprise – On premise • Profitable December 19, 2013 Copyright © 2001-2012 SOA Software, Inc. All Rights Reserved. All content subject to confidentiality agreement between SOA Software and Customer. Slide 2
  3. 3. What kept us awake • • • • Should we build an API? What API should we build? How do we manage this new channel? How do we get people to use the API? December 19, 2013 Copyright © 2001-2012 SOA Software, Inc. All Rights Reserved. All content subject to confidentiality agreement between SOA Software and Customer. Slide 3
  4. 4. Existing Technology Investment • Java stack, slightly left of center – – – – OSGi Spring MVC SOAP API set • Why? – Robust – Fits in with Enterprise deployment and operational models, Java is common – Can run on an App server as well as plain OS – Stable resource pool December 19, 2013 Copyright © 2001-2012 SOA Software, Inc. All Rights Reserved. All content subject to confidentiality agreement between SOA Software and Customer. Slide 4
  5. 5. Architecture - API First • • • • • An API-first design Designed with the intent of being open, public REST-based Supporting both XML and JSON (on Accept header) Multi-channel December 19, 2013 Copyright © 2001-2012 SOA Software, Inc. All Rights Reserved. All content subject to confidentiality agreement between SOA Software and Customer. Slide 5
  6. 6. Architecture - Model • XML Model, based on formalized schema • Generated Java Model (JAXB) used by JAX-RS for both XML and JSON – Keeps things consistent and allows us to formalize change management for a published API December 19, 2013 Copyright © 2001-2012 SOA Software, Inc. All Rights Reserved. All content subject to confidentiality agreement between SOA Software and Customer. Slide 6
  7. 7. Architecture – Java Integration Layer • JAX-RS – XML and JSON bindings • Spring – Wiring – Security Policies – Publication (!) • OSGI – – – – – December 19, 2013 Container Platform independence Modularity Extensibility Packaging, Upgrades, etc Copyright © 2001-2012 SOA Software, Inc. All Rights Reserved. All content subject to confidentiality agreement between SOA Software and Customer. Slide 7
  8. 8. Architecture – UI Framework • Customizable, extensible server-side theme and layout management for multi-tenancy – Themes – Views – Widgets • Backbone.js model • Handlebars.js view • JQuery * December 19, 2013 Copyright © 2001-2012 SOA Software, Inc. All Rights Reserved. All content subject to confidentiality agreement between SOA Software and Customer. Slide 8
  9. 9. Architecture – UI Framework {"tenantId": "atmosphere", "theme": "default", "widgetMetadata": { "widget.api.addmodifygroup": { "widget": "widget.api.addmodifygroup", "styleResources": [ ], "scriptResources": ["widgets/ApiAddModifyGroupWidget/ApiAddModifyGroupWidget.js"] }, "widget.signup": { "widget": "widget.signup", "styleResources": ["widgets/UserWidgets/Signup/signup.css"], "scriptResources": ["widgets/UserWidgets/Signup/SignupWidget.js"] } }, "layoutStructure": [ { "objType": "user", ""layout": [ { "widgetInstance": "Main", "widget": "widget.horiz.tiling", "priority": "100" }, { "widgetInstance": "Header", "widget": "widget.header", "parentWidgetInstance": "Main", "parent": "widget.horiz.tiling", "priority": "1000" } ….. December 19, 2013 Copyright © 2001-2012 SOA Software, Inc. All Rights Reserved. All content subject to confidentiality agreement between SOA Software and Customer. Slide 9
  10. 10. Platform Architecture 12/19/2013 Copyright © 2001-2012 SOA Software, Inc. All Rights Reserved. All content subject to confidentiality agreement between SOA Software and Customer. Slide 10
  11. 11. A digression - Build & Test • Agile Development Process • Continuous Build - Jenkins • Automated Deploy and Test to the cloud – ServiceMesh Agility provides the management infrastructure – Jenkins invokes ServiceMesh Agility APIs to spin up VM images in EC2 – Entire installation, configuration, integration process is scripted – Test harnesses are executed – Environment is torn down – Test results posted back via Jenkins as build state – Approx every hour December 19, 2013 Copyright © 2001-2012 SOA Software, Inc. All Rights Reserved. All content subject to confidentiality agreement between SOA Software and Customer. Slide 11
  12. 12. A digression - Agile Ops • Multiple datacenters, SaaS and Managed Service, to meet different customer requirements • EC2 and Terremark • Single point of management via ServiceMesh Agility • Deployment is done from a tag in Jenkins and automated • Once parallel environment is installed, it is switched over manually • Old environment is torn down after a day December 19, 2013 Copyright © 2001-2012 SOA Software, Inc. All Rights Reserved. All content subject to confidentiality agreement between SOA Software and Customer. Slide 12
  13. 13. What kept us awake • Should we build an API? – yes, we could create a new UI and an entire channel strategy without throwing away our existing technology • What API should we build? – a REST/JSON API to fully support our UI, mobile devices, etc. • How do we manage/secure/monitor this new channel? • How do we get people to use the API? How do we promote it? December 19, 2013 Copyright © 2001-2012 SOA Software, Inc. All Rights Reserved. All content subject to confidentiality agreement between SOA Software and Customer. Slide 13
  14. 14. API Management API Management protects your APIs and helps ensure their performance Copyright © 2001-2012 SOA Software, Inc. All Rights Reserved. All content subject to confidentiality agreement between SOA Software and Customer. Slide 14
  15. 15. API Management - Capabilities Security Monitoring Provisioning QoS Management Copyright © 2001-2012 SOA Software, Inc. All Rights Reserved. All content subject to confidentiality agreement between SOA Software and Customer. Slide 15
  16. 16. What kept us awake • Should we build an API? – yes, we could create a new UI and an entire channel strategy without throwing away our existing technology • What API should we build? – a REST/JSON API to fully support our UI, mobile devices, etc. • How do we manage/secure/monitor this new channel? – use the API Management capabilities within our own product • How do we get people to use the API? How do we promote it? December 19, 2013 Copyright © 2001-2012 SOA Software, Inc. All Rights Reserved. All content subject to confidentiality agreement between SOA Software and Customer. Slide 16
  17. 17. Community Capabilities Social Interaction Forums Support Collaboration Copyright © 2001-2012 SOA Software, Inc. All Rights Reserved. All content subject to confidentiality agreement between SOA Software and Customer. Slide 17
  18. 18. What kept us awake • Should we build an API? – yes, we could create a new UI and an entire channel strategy without throwing away our existing technology • What API should we build? – a REST/JSON API to fully support our UI, mobile devices, etc. • How do we manage/secure/monitor this new channel? – use the API Management capabilities within our own product • How do we get people to use the API? How do we promote it? – use the Community Management capabilities within our own product December 19, 2013 Copyright © 2001-2012 SOA Software, Inc. All Rights Reserved. All content subject to confidentiality agreement between SOA Software and Customer. Slide 18
  19. 19. Thanks • • • • • Alistair Farquharson, CTO, SOA Software ajf@soa.com @afarqu @atmos_phe_re @SOASoftwareInc December 19, 2013 Copyright © 2001-2012 SOA Software, Inc. All Rights Reserved. All content subject to confidentiality agreement between SOA Software and Customer. Slide 19

×