Your SlideShare is downloading. ×
Service Oriented Architecture
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Service Oriented Architecture

1,591
views

Published on

PintLabs talk from php|tek 2013

PintLabs talk from php|tek 2013

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,591
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. SOAService Oriented ArchitectureFriday, May 17, 13
  • 2. Who We AreFriday, May 17, 13
  • 3. What is SOA• System Architectural Pattern• 3 Parts - Provider, Broker, RequesterFriday, May 17, 13
  • 4. 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
  • 5. 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
  • 6. Service Requester• Requests the desired web service formthe Broker• Calls services from the Provider onceconnectedFriday, May 17, 13
  • 7. Theory & Principles of SOA• Interoperability on different systems over acommunication protocol• Service Statelessness• Service Encapsulation• Service Granularity• Service DiscoverabilityFriday, May 17, 13
  • 8. BreweryDB & SOAFriday, May 17, 13
  • 9. BreweryDB 1.0• Website with API• Maintainability - Tightly coupled• Data Model was small• Data structure inconsistenciesFriday, May 17, 13
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. BreweryDB API• Service Broker• Authentication• Return formats• Authorization• Resource routing• Error handlingFriday, May 17, 13
  • 14. Designing an API• Endpoint structure• Error handling• Status codes• Versioning• Return types• Request limits• AuthenticationFriday, May 17, 13
  • 15. BreweryDB Consumers• Service Requesters• Single interface to our data• Documentation• Provisioning of accountsFriday, May 17, 13
  • 16. What we Learned about SOA• Maintainability• Allows for fast iterations• Initial up front work is expensive• Not always the answerFriday, May 17, 13
  • 17. Hurdles• Enumerated Fields• Website Authentication• Emails• Scaling & PerformanceFriday, May 17, 13
  • 18. Questions?Friday, May 17, 13
  • 19. Review on joind.inhttp://pntlbs.co/tek13soaFriday, May 17, 13
  • 20. ImplementationBuilding BreweryDBFriday, May 17, 13
  • 21. DevelopmentTimeline• Planning took roughly 3 months• Development of data model in aweekend.• Took an additional 6 months to finishthe APIFriday, May 17, 13
  • 22. Solving the rest of theProblemFriday, May 17, 13
  • 23. PLA• Administration of data• Enumerated data fields• Data moderation• AnalyticsFriday, May 17, 13
  • 24. BreweryDB.com• Authentication of users• Communication with end users• Documentation• API Key provisioningFriday, May 17, 13
  • 25. PocketBeerBreweryMapPintLabsAdminBreweryMapBreweryDBAPIDBSearchFriday, May 17, 13