APIs power MVC for the WEbPanel thoughts:Achieving API Maturity @ Gluecon 2011Steven Willmott / 3scale networkssteve@3scale.nethttp://www.3scale.net@njyx
All content http://creativecommons.org/licenses/by-sa/3.0/us/
MVC (Model / View / Controller)Wildly Successful Architectural Pattern for Application Development
APIs are spreading across the webSeem like random points of data, each with their own rules, features, functions and value
These two things have nothing do with each other right?(apart from in the obvious way)
Maybe they Do…
MVC is Model / View / ControllerMODEL = DATAModel VIEW = FORMViewControllerCONTROLLER = BUSINESS LOGIC
Lots of FrameworksOriginally described for Smalltalk at Xerox Park (copyrights / respectiveowners)
MVC has Revolutionized Software Web App Development
Clear separation between Data, Presentation & Business Logic
First : MVC ApplicationsModel Separate at Design TimeViewBaked together at Run TimeController
Then : MVC SAASModel Separate at Design TimeViewSeparate at Deploy TimeBaked together at Run TimeController
So What does this have to do with APIs?
Actually Yes - APIs Enable Separation of Concerns:
Across the Web
Across Companies
Example…Model ViewControllerData Anywhere in any formThird parties operating on dataMany Delivery Channels
ExampleModelsModel Data Anywhere in any form(copyrights / respectiveowners)
Example: ViewsViewMany Delivery Channels(copyrights / respectiveowners)
Example: ControllersControllerMany Delivery Channels(copyrights / respectiveowners)
APIsEnableSeparation & FocusModel ViewControllerData Anywhere in any formThird parties operating on dataMany Delivery ChannelsAPIs / Integration / Ecosystems
ImpactValueMore value from existing assetsFocusonCoreBusinessSpeedTime to MarketLeverageEcosystems are strength
ArchitecturalPatternsMODELS: Push / Pull DataCONTROLLERS: TransformorOrchestrateVIEWS: Integrate and Visualise
API Maturity
Trends: ConvergenceMODELS: Consolidation (e.g. TwitterModelforblogging)CONTROLLERS: Similarities in CommunicationsAPIsVIEWS: EmergingWinningPlatformsWithEyeballs
Trends: Internet Operating System (Tim O’Reilly)AdvertisingLocationActivity StreamsIdentity & Social GraphImage & Speech RecognitionGovernment DataSearchPaymentTimeMedia Access(Auth / Caching / Analytics) Communications (Email, IM, …) StorageCompute PowerConnectivity
Trends: Enabling componentsSearchAdvertisingLocationMedia AccessTime Identify & Social GraphCommunicationsC.f. Tim O’Reilly
The Internet Operating System EmergingAdvertisingLocationActivity StreamsIdentity & Social GraphImage & Speech RecognitionGovernment DataSearchPaymentTimeMedia Access(Auth / Caching / Analytics) Communications (Email, IM, …) StorageCompute PowerConnectivity(copyrights / respectiveowners)
Conclusions
APIs enable separation of concern – MVC patterns are emerging across the Web
An “Internet Operating System” may not be that far away
Thank You to Gluecon!Steven Willmott / 3scale networksFind 3scale at http://www.3scale.netFind me at steve@3scale.net & @njyx
Out of the box management infrastructure to power your API & App Strategyhttp://www.3scale.net/
/End

Apis power-mvc-for-the-web

Editor's Notes

  • #8 - Model is your data- Controller is the business logic- View is how you experience it
  • #9 - Model is your data- Controller is the business logic- View is how you experience it
  • #27 http://radar.oreilly.com/2010/03/state-of-internet-operating-system.html (this isn’t necessarilly a layer diagram – but there is a rough ordering of features)