Service Oriented Architecture (SOA) Overview by kovair
-
Upload
kovair -
Category
Technology
-
view
437 -
download
3
description
Transcript of Service Oriented Architecture (SOA) Overview by kovair
Service Oriented Architecture
Kovair [email protected] www.kovair.com
Service Oriented Architecture
► ArchitectureArchitecture
► ServiceService
► SOA – Service Oriented ArchitectureSOA – Service Oriented Architecture
Architecture
► What is Software Architecture ?■ Collection of the fundamental decisions about a software Collection of the fundamental decisions about a software
product/solution designed to meet the project‘s goals and quality product/solution designed to meet the project‘s goals and quality attributesattributes
■ The architecture includes the main components, their main attributes, The architecture includes the main components, their main attributes, and their collaboration (i.e. interactions and behavior) to meet the and their collaboration (i.e. interactions and behavior) to meet the quality attributes. quality attributes.
■ Architecture can and usually should be expressed in several levels of Architecture can and usually should be expressed in several levels of abstraction (depending on the project's size).abstraction (depending on the project's size).
■ Architecture represents the set of earliest design decisionsArchitecture represents the set of earliest design decisions• Hardest to changeHardest to change• Most critical to get rightMost critical to get right
Architecture
Architecture
Quality Attributes
Technology
Patterns & Anti-patterns
Principles
Community experienceCommunity experience
StakeholdersStakeholders
ArchitectArchitect
people
A “deliverable”
Produce
Key
Is an input
Constraints
Service
► What is a service ?What is a service ?
■ A facility supplying some public demand A facility supplying some public demand
■ The work performed by one that The work performed by one that serves HELP, USE, BENEFIT HELP, USE, BENEFIT
■ A Windows Service?A Windows Service?• RPC Locator, EventLog, DHCP ClientRPC Locator, EventLog, DHCP Client
■ Software Service?Software Service?• Distribution Service, Alert ServiceDistribution Service, Alert Service• Security Service, Log ServiceSecurity Service, Log Service
Service Oriented Architecture
"Network"
COPCOPCOPCOP
Nav.Nav.Nav.Nav.
AlertsAlertsAlertsAlerts
Prot.Prot.Prot.Prot.
Service Oriented Architecture
► What is SOA ? What is SOA ?
■ Architectural StyleArchitectural Style
■ For building distributed systemsFor building distributed systems
■ Loosely coupled componentsLoosely coupled components
■ Message based communicationMessage based communication
High Level View
Service
describes
End Point Exposes
Messages Sends/Receives
Contracts
Binds to
Service Consumer
Implements
Policy Governed by
Sends/Receives
Adheres to
Component
Relation
Key
Understands
Serves
Services and Systems
► A service is a program you interact with via message A service is a program you interact with via message exchangesexchanges■ Services are built to lastServices are built to last■ Encompass a business perspectiveEncompass a business perspective■ Stability and robustness are criticalStability and robustness are critical
► A system is a set of deployed services cooperating in a A system is a set of deployed services cooperating in a given taskgiven task■ Systems are built to changeSystems are built to change■ Adapt to new services after deploymentAdapt to new services after deployment
Services
► Services are AutonomousServices are Autonomous■ Services are as self sufficient as possibleServices are as self sufficient as possible
► Governed by PoliciesGoverned by Policies■ The fact that I can, doesn’t mean I will.The fact that I can, doesn’t mean I will.■ Explicit statements of capabilities and requirements.Explicit statements of capabilities and requirements.
• SecuritySecurity• Messages behaviorMessages behavior• Level of serviceLevel of service• Limited by the actual service capabilitiesLimited by the actual service capabilities
Back to Agenda
Services
► Endpoint Endpoint ■ An address, a URI, a specific place where the service can be An address, a URI, a specific place where the service can be
found. found. ■ A specific contract can be exposed at a specific endpoint.A specific contract can be exposed at a specific endpoint.
► MessageMessage■ Services revolve around MessagesServices revolve around Messages
• Services are “Black Boxes”Services are “Black Boxes”• Messages go in and outMessages go in and out• The rest is an Implementation DetailThe rest is an Implementation Detail
■ IdempotenceIdempotence• Idempotent Means It’s OK to Arrive Multiple TimesIdempotent Means It’s OK to Arrive Multiple Times
– As Long as the Request Is Processed at Least Once, the Correct Stuff As Long as the Request Is Processed at Least Once, the Correct Stuff OccursOccurs
Back to Agenda
Services
► Service ContractService Contract■ Messages & Formats Messages & Formats ■ Message Exchange PatternsMessage Exchange Patterns■ Where is a service located (Address)Where is a service located (Address)■ Protocol & content format (Binding)Protocol & content format (Binding)
Back to Agenda
Advantages
► AdvantagesAdvantages■ Due to its platform independence, it allows companies to use Due to its platform independence, it allows companies to use
the software and hardware of their choice .the software and hardware of their choice .
■ There is no threat of vendor lock-in There is no threat of vendor lock-in
■ SOA enables incremental development, deployment, and SOA enables incremental development, deployment, and maintenance. maintenance.
■ Companies can use the existing software (investments) and Companies can use the existing software (investments) and use SOA to build applications without replacing existing use SOA to build applications without replacing existing applications applications
■ The training costs are lowThe training costs are low
Back to Agenda
Thank you