Using APIs
Upcoming SlideShare
Loading in...5
×
 

Using APIs

on

  • 269 views

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

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

Statistics

Views

Total Views
269
Views on SlideShare
269
Embed Views
0

Actions

Likes
0
Downloads
14
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Using APIs Using APIs Presentation Transcript

  • Using APIs Copyright © 2001-2012 SOA Software, Inc. All Rights Reserved. All content subject to confidentiality agreement between SOA Software and Customer.
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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