SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
SOA
Service Oriented Architecture
Friday, May 17, 13
Who We Are
Friday, May 17, 13
What is SOA
• System Architectural Pattern
• 3 Parts - Provider, Broker, Requester
Friday, May 17, 13
Service Provider
• All about Data
• Creates a web service
• Provides access to data layer to the
Service Broker
• Determines which services to expose
Friday, May 17, 13
Service Broker
• All about routing. Think Traffic Cop
• Responsible for making the service
available to any Service Requester
• Connects the Requester to the Provider
Friday, May 17, 13
Service Requester
• Requests the desired web service form
the Broker
• Calls services from the Provider once
connected
Friday, May 17, 13
Theory & Principles of SOA
• Interoperability on different systems over a
communication protocol
• Service Statelessness
• Service Encapsulation
• Service Granularity
• Service Discoverability
Friday, May 17, 13
BreweryDB & SOA
Friday, May 17, 13
BreweryDB 1.0
• Website with API
• Maintainability - Tightly coupled
• Data Model was small
• Data structure inconsistencies
Friday, May 17, 13
BreweryDB 2.0 Requirements
• API First
• A single way for everyone to consume
the data model
• Separate display from the data model
• Consistency in all responses
Friday, May 17, 13
BreweryDB SOA
• Service Provider is our Data Model
• MySQL + Elasticsearch + Models
• Service Broker is our API
• Endpoints
• Service Requesters are everyone that
uses BreweryDB
Friday, 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 relationships
Friday, May 17, 13
BreweryDB API
• Service Broker
• Authentication
• Return formats
• Authorization
• Resource routing
• Error handling
Friday, May 17, 13
Designing an API
• Endpoint structure
• Error handling
• Status codes
• Versioning
• Return types
• Request limits
• Authentication
Friday, May 17, 13
BreweryDB Consumers
• Service Requesters
• Single interface to our data
• Documentation
• Provisioning of accounts
Friday, May 17, 13
What we Learned about SOA
• Maintainability
• Allows for fast iterations
• Initial up front work is expensive
• Not always the answer
Friday, May 17, 13
Hurdles
• Enumerated Fields
• Website Authentication
• Emails
• Scaling & Performance
Friday, May 17, 13
Questions?
Friday, May 17, 13
Review on joind.in
http://pntlbs.co/tek13soa
Friday, May 17, 13
Implementation
Building BreweryDB
Friday, May 17, 13
DevelopmentTimeline
• Planning took roughly 3 months
• Development of data model in a
weekend.
• Took an additional 6 months to finish
the API
Friday, May 17, 13
Solving the rest of the
Problem
Friday, May 17, 13
PLA
• Administration of data
• Enumerated data fields
• Data moderation
• Analytics
Friday, May 17, 13
BreweryDB.com
• Authentication of users
• Communication with end users
• Documentation
• API Key provisioning
Friday, May 17, 13
PocketBeer
BreweryMap
PintLabs
Admin
BreweryMap
BreweryDB
API
DBSearch
Friday, May 17, 13

Weitere ähnliche Inhalte

Ähnlich wie Service Oriented Architecture

Enterprise Data Services for Strategic SOA
Enterprise Data Services for Strategic SOAEnterprise Data Services for Strategic SOA
Enterprise Data Services for Strategic SOA
sumedha.r
 
Group meeting may 16 2013
Group meeting   may 16 2013Group meeting   may 16 2013
Group meeting may 16 2013
jalle6
 
Web Forms, or How I Learned to Stop Worrying and Love Web Services
Web Forms, or How I Learned to Stop Worrying and Love Web ServicesWeb Forms, or How I Learned to Stop Worrying and Love Web Services
Web Forms, or How I Learned to Stop Worrying and Love Web Services
hannonhill
 
Best Practices in Web Service Design
Best Practices in Web Service DesignBest Practices in Web Service Design
Best Practices in Web Service Design
Lorna Mitchell
 

Ähnlich wie Service Oriented Architecture (20)

RESTful web
RESTful webRESTful web
RESTful web
 
Sap bi bo
Sap bi boSap bi bo
Sap bi bo
 
Sap bi bo
Sap bi boSap bi bo
Sap bi bo
 
Dating with Models
Dating with ModelsDating with Models
Dating with Models
 
Enterprise Data Services for Strategic SOA
Enterprise Data Services for Strategic SOAEnterprise Data Services for Strategic SOA
Enterprise Data Services for Strategic SOA
 
Group meeting may 16 2013
Group meeting   may 16 2013Group meeting   may 16 2013
Group meeting may 16 2013
 
oracle ebs free web service integration tools
oracle ebs free web service integration toolsoracle ebs free web service integration tools
oracle ebs free web service integration tools
 
Getting Started with Web Services
Getting Started with Web ServicesGetting Started with Web Services
Getting Started with Web Services
 
Web Forms, or How I Learned to Stop Worrying and Love Web Services
Web Forms, or How I Learned to Stop Worrying and Love Web ServicesWeb Forms, or How I Learned to Stop Worrying and Love Web Services
Web Forms, or How I Learned to Stop Worrying and Love Web Services
 
(ATS6-PLAT04) Query service
(ATS6-PLAT04) Query service (ATS6-PLAT04) Query service
(ATS6-PLAT04) Query service
 
Автоматизация тестирования API для начинающих
Автоматизация тестирования API для начинающихАвтоматизация тестирования API для начинающих
Автоматизация тестирования API для начинающих
 
Best Practices in Web Service Design
Best Practices in Web Service DesignBest Practices in Web Service Design
Best Practices in Web Service Design
 
Sap abap
Sap abapSap abap
Sap abap
 
Sap abap
Sap abapSap abap
Sap abap
 
Nurse couchbase connect 2015
Nurse couchbase connect 2015Nurse couchbase connect 2015
Nurse couchbase connect 2015
 
Intro to Web Services - 2015 STC Summit talk
Intro to Web Services - 2015 STC Summit talkIntro to Web Services - 2015 STC Summit talk
Intro to Web Services - 2015 STC Summit talk
 
Rest webservice ppt
Rest webservice pptRest webservice ppt
Rest webservice ppt
 
Sql server
Sql serverSql server
Sql server
 
Sql server
Sql serverSql server
Sql server
 
API Testing Using REST Assured with TestNG
API Testing Using REST Assured with TestNGAPI Testing Using REST Assured with TestNG
API Testing Using REST Assured with TestNG
 

Mehr von Jason Austin

Mehr von Jason Austin (12)

Introduction to Elasticsearch
Introduction to ElasticsearchIntroduction to Elasticsearch
Introduction to Elasticsearch
 
Design patterns
Design patternsDesign patterns
Design patterns
 
How Beer Made Me A Better Developer
How Beer Made Me A Better DeveloperHow Beer Made Me A Better Developer
How Beer Made Me A Better Developer
 
Securing Your API
Securing Your APISecuring Your API
Securing Your API
 
Preparing Traditional Media for a Mobile World
Preparing Traditional Media for a Mobile WorldPreparing Traditional Media for a Mobile World
Preparing Traditional Media for a Mobile World
 
Object Oriented PHP5
Object Oriented PHP5Object Oriented PHP5
Object Oriented PHP5
 
UNC CAUSE - Going Mobile On Campus
UNC CAUSE - Going Mobile On CampusUNC CAUSE - Going Mobile On Campus
UNC CAUSE - Going Mobile On Campus
 
RSS Like A Ninja
RSS Like A NinjaRSS Like A Ninja
RSS Like A Ninja
 
Lean mean php machine
Lean mean php machineLean mean php machine
Lean mean php machine
 
Web Hosting Pilot - NC State University
Web Hosting Pilot - NC State UniversityWeb Hosting Pilot - NC State University
Web Hosting Pilot - NC State University
 
Tweeting For NC State University
Tweeting For NC State UniversityTweeting For NC State University
Tweeting For NC State University
 
Pathways Project on NCSU Web Dev
Pathways Project on NCSU Web DevPathways Project on NCSU Web Dev
Pathways Project on NCSU Web Dev
 

Kürzlich hochgeladen

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Kürzlich hochgeladen (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

Service Oriented Architecture