Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Supporting the Evolving Needs of Developer Ecos...

Supporting the Evolving Needs of Developer Ecosystems

By Richard Mendis @ API Strategy & Practice Conference
San Francisco, October 23-24-25, 2013

More Decks by API Strategy & Practice Conference

Other Decks in Technology

Transcript

  1. © Copyright 2013 AnyPresence, Inc. All rights reserved. Supporting the

    Evolving Needs of Developer Ecosystems Richard Mendis Chief Product Officer, AnyPresence 1
  2. 2010+ 2000’s 1990’s The Business Software “Engagement Gap” 1980’s Enterprise

    Software Evolution Consumer Technology Evolution Terminals IBM, SAP Client/Server Windows On-Premise Web PeopleSoft, Siebel MOBILE FIRST SaaS Model Established Salesforce, Taleo, NetSuite “Newer” SaaS Vendors GAMIFICATION SOCIAL COLLABORATION PUSH- BASED INFO Personal Cellular Tablets Laptops Netbooks Personal Computing Connected Gaming Internet Subscription 3G Smartphones First Millennials Born ? ALWAYS CONNECTED
  3. Internet of Things (All Smart Devices, Cars, Appliances, Wearables, etc.)

    # of Devices Evolving Connected Technology Landscape 3 Time PCs Post-PC (Smartphones, Tablets, TVs, etc.) Images: Brad Frost The most successful organizations will be those who enable strong developer ecosystems
  4. Development Expectation Challenges 4 Enterprise development cycles down to 6-8

    months, from 12-18 Development budgets not increasing to match mobile needs Complexity across Front-end, back- end and secure, scalable integration Development, Design, Develop, Test all work on the same cadence: Rapid Prototyping and Ongoing Updates LESS TIME LESS BUDGET MORE COMPLEX Source: Forrester Research MORE DYNAMIC
  5. Beyond APIs: Improving Ecosystem Adoption 5 APIs Endpoints Only ✘ 

    Takes time to interpret and implement ✘  Lacks app-specific mobile services; typically designed for web apps Mobile Backend Server ü  Mobile optimized APIs, domain-specific abstraction layer ü  App-specific services and business logic Cross-platform SDKs (+docs) ü  Drop into app project ü  Familiar syntax App UI Starter Kits ü  Fully-working app ü  Editable source code Lower development hurdles, reduce time to market, and improve adoption APP DEVEOPMENT TIMEFRAME
  6. LEVERAGE EXISTING SYSTEMS VIA WEB SERVICES Enterprise Systems Databases BI/DW

    Systems Web Services API, ESB Layers File Servers & CMS LEVERAGE MOBILE SERVICES, ENABLE “COMPOSITE” APPS Push Notifications, SMS Messaging App User Roles and Access Control App Specific Business Logic Data Source Abstraction Layer SEPARATE UI FROM DATA MGMT, AVOID PROPRIETARY UI Separate Data Management Layer Use MVC Libraries For HTML5 Apps Leverage Native Platform Tools Minimize Client-Side Business Logic Lessons Learned: Architecture Best Practices 6 Endpoint Presentation Layer Application Services Layer Data Sources and Systems
  7. Run-time API RESTful, Optional Auth-Enabled Enterprise Backend Server Dedicated Instance,

    Independently Scalable Generated Custom 3rd Party User Management Objects and Business Logic API Versioning OmniAuth Providers (LDAP, AD, SAML 2.0, OpenID, etc.) Authorization & Access Control Data Storage Connectors Extension Ecosystem Admin Console •  Manage users •  View data •  Manage Extensions •  API docs Email Notifications SMS Messaging Push Notifications IVR Custom Extension Social Sharing Data Import Analytics Scheduler Cloud Storage Databases Web Services Endpoints Enterprise Applications Custom Connectors API Mgmt Layers Example Reference Architecture Development Instance Test Instances Production Instance DEPLOY Backbone.js SDK Native iOS SDK Native Android SDK HTML5 Jquery app iOS app (Storyboard) Android app (XML Layout) SDKs and Starter UI – fully editable native source code, test scripts, docs, “real preview” Native Windows Phone 8 SDK Java SDK Security and Deployment •  Wrappers •  MDM/MAM •  App Stores •  Cloud-Based Preview DEPLOY On-Premise Agent Custom Business Logic Integration
  8. 1 Enabling a Developer Ecosystem §  Define templates with pre-built

    integration to your product, service, or content §  Determine which features can be customized by partner or customer developers 3 PARNTERS CUSTOMERS §  Download source code for backend server, SDKs, and UI starter kits (option to compile apps and host server) §  Functional app with customizable code and deployment options Enable Developer Ecosystem Define App Templates Your Company’s Developer Portal §  Custom-branded developer portal or new functionality within existing solution §  Enables users to select a template, specify options, and generate an cross-platform apps 2 Build Developer Portal
  9. 9 Example Scenario (mHealth Services Provider) 1/4 This drug information

    services company can provide a customized portal to their internal or external developers who are building mHealth apps that use their service.
  10. 10 Example Scenario (mHealth Services Provider) 2/4 The developer can

    create a new mobile app “starter kit” based on templates provided by the drug information company.
  11. 11 Example Scenario (mHealth Services Provider) 3/4 The developer can

    select various options, including optional services and supported platforms, and then generate the app starter kit.
  12. 12 Example Scenario (mHealth Services Provider) 4/4 The app starter

    kit can be provided to the developer, with links to the backend server, APIs, SDKs, apps, source code, and docs. Can even launch the HTML5 app here.
  13. User Interface “Starter Kit” ü  Cross-platform UI code with SDK

    examples ü  non-proprietary, editable source code ü  Template starter kits Lessons Learned: Evolving Developer Ecosystem Needs 13 API Management ü  Web services on legacy systems ü  Usage and bandwidth throttling ü  Key management ü  SOA governance and policy management ü  API monetization Backend Services ü  Object Relational Mapping layer for “composite” apps ü  Cross-platform SDKs ü  Mobile-specific business logic ü  Mobile services (push, SMS, etc.) …with an architecture that accommodates the evolving needs of new devices and endpoints You need to meet the needs of mobile- enabling a developer ecosystem today… Happy Developer Ecosystem