Service Oriented Architecture
Upcoming SlideShare
Loading in...5

Service Oriented Architecture



PintLabs talk from php|tek 2013

PintLabs talk from php|tek 2013



Total Views
Views on SlideShare
Embed Views



1 Embed 5 5



Upload Details

Uploaded via as Adobe PDF

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.

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

Service Oriented Architecture Service Oriented Architecture Presentation Transcript

  • SOAService Oriented ArchitectureFriday, May 17, 13
  • Who We AreFriday, May 17, 13
  • What is SOA• System Architectural Pattern• 3 Parts - Provider, Broker, RequesterFriday, May 17, 13
  • Service Provider• All about Data• Creates a web service• Provides access to data layer to theService Broker• Determines which services to exposeFriday, May 17, 13
  • Service Broker• All about routing. Think Traffic Cop• Responsible for making the serviceavailable to any Service Requester• Connects the Requester to the ProviderFriday, May 17, 13
  • Service Requester• Requests the desired web service formthe Broker• Calls services from the Provider onceconnectedFriday, May 17, 13
  • Theory & Principles of SOA• Interoperability on different systems over acommunication protocol• Service Statelessness• Service Encapsulation• Service Granularity• Service DiscoverabilityFriday, May 17, 13
  • BreweryDB & SOAFriday, May 17, 13
  • BreweryDB 1.0• Website with API• Maintainability - Tightly coupled• Data Model was small• Data structure inconsistenciesFriday, May 17, 13
  • BreweryDB 2.0 Requirements• API First• A single way for everyone to consumethe data model• Separate display from the data model• Consistency in all responsesFriday, May 17, 13
  • BreweryDB SOA• Service Provider is our Data Model• MySQL + Elasticsearch + Models• Service Broker is our API• Endpoints• Service Requesters are everyone thatuses BreweryDBFriday, May 17, 13
  • BreweryDB Data Model• Service Provider• Validation• Consistent input and output structure of data• Decoupled from response format (XML, JSON,PHP)• Decoupled from access control• Builds data relationshipsFriday, May 17, 13
  • BreweryDB API• Service Broker• Authentication• Return formats• Authorization• Resource routing• Error handlingFriday, May 17, 13
  • Designing an API• Endpoint structure• Error handling• Status codes• Versioning• Return types• Request limits• AuthenticationFriday, May 17, 13
  • BreweryDB Consumers• Service Requesters• Single interface to our data• Documentation• Provisioning of accountsFriday, May 17, 13
  • What we Learned about SOA• Maintainability• Allows for fast iterations• Initial up front work is expensive• Not always the answerFriday, May 17, 13
  • Hurdles• Enumerated Fields• Website Authentication• Emails• Scaling & PerformanceFriday, May 17, 13
  • Questions?Friday, May 17, 13
  • Review on joind.in, May 17, 13
  • ImplementationBuilding BreweryDBFriday, May 17, 13
  • DevelopmentTimeline• Planning took roughly 3 months• Development of data model in aweekend.• Took an additional 6 months to finishthe APIFriday, May 17, 13
  • Solving the rest of theProblemFriday, May 17, 13
  • PLA• Administration of data• Enumerated data fields• Data moderation• AnalyticsFriday, May 17, 13
  •• Authentication of users• Communication with end users• Documentation• API Key provisioningFriday, May 17, 13
  • PocketBeerBreweryMapPintLabsAdminBreweryMapBreweryDBAPIDBSearchFriday, May 17, 13