Upload
norman-waters
View
232
Download
0
Embed Size (px)
Citation preview
MSDN MSDN 中文線上教學課程中文線上教學課程SOA SOA 系列課程系列課程
簡介服務導向架構簡介服務導向架構SOA OverviewSOA Overview
什麼是服務導向 什麼是服務導向 (SO)?(SO)?SOASOA 系統四大特性系統四大特性 ::1.1. 明確的系統分界明確的系統分界2.2. 自主性服務自主性服務3.3. 服務之間分享資料綱要服務之間分享資料綱要 (schema)(schema) 與合與合
約約 (contract), (contract), 而非程式類別而非程式類別 (class)(class)4.4. 服務相容性由原則決定服務相容性由原則決定
http://msdn.microsoft.com/msdnmag/issues/04/01/Indigo/default.aspx
服務與系統的關係服務與系統的關係A service is a program you interact A service is a program you interact with via message exchangeswith via message exchanges Services are built to lastServices are built to last Availability and stability are criticalAvailability and stability are critical
A system is a set of deployed A system is a set of deployed services cooperating in a given taskservices cooperating in a given task Systems are built to changeSystems are built to change Adapt to new services after deploymentAdapt to new services after deployment
服務無所不在服務無所不在
BusinessNetworks
PersonalNetworks
SocialNetworks
Value ChainNetworks
CustomerRelationship
Networks
ScientificNetworks
GovernmentNetworks
PurchasingPurchasing
FulfillmentFulfillment
HRHR
PurchasingPurchasing
FulfillmentFulfillment
HRHR
服務無所不在服務無所不在
New YorkNew YorkOperationsOperations
SQL ClusterSQL Cluster
Mobile Mobile Web Web
FrontendFrontend
PurchasingPurchasing
FulfillmentFulfillment
HRHR
服務無所不在服務無所不在
““Scales Down”Scales Down”to devicesto devices
““Scales In” Scales In” on a machineon a machine
““Scales Up” Scales Up” on large on large systemssystems
““Scales Away” Scales Away” spans organizations spans organizations
and geographiesand geographies
““Scales Out”Scales Out”by adding by adding machinesmachines
Form-Factor FriendlyForm-Factor Friendly
Flexible, end-to-end Flexible, end-to-end securitysecurity
Unlocks rich Unlocks rich client assetsclient assets
Low-cost devices Low-cost devices via the PC…via the PC…
Empowers users withEmpowers users withhigh-end communicationshigh-end communications
Dynamic protocol Dynamic protocol negotiationnegotiation
Doesn’t require Doesn’t require centralized servicescentralized services
服務衍進服務衍進
Business BenefitBusiness Benefit
Pre-1990sCustom, staticCustom, staticB2B IntegrationB2B IntegrationCustom, staticCustom, staticB2B IntegrationB2B Integration
Early 1990sApplication integration
technologies appearApplication integration
technologies appear
Late 1990sWeb technologies appear
e.g. HTTP, HTML, XMLWeb technologies appear
e.g. HTTP, HTML, XML
2000+Web Services
Service-OrientedSolutions
Web ServicesService-Oriented
Solutions
Understanding Tenet 1: Understanding Tenet 1: 明確的系統分界明確的系統分界
Each Service interaction is a boundary Each Service interaction is a boundary crossingcrossing
Crossing service boundaries may have Crossing service boundaries may have costscosts
Service Orientation makes interaction Service Orientation makes interaction formal, intentional, and explicitformal, intentional, and explicit
http://msdn.microsoft.com/msdnmag/issues/04/01/Indigo/default.aspx
Respect my Boundaries.
Understanding Tenet 2: Understanding Tenet 2: 自主性服務自主性服務
Topology of a system evolves over Topology of a system evolves over time time No presiding authorityNo presiding authorityServices in a system are deployed, Services in a system are deployed, managed, versioned independentlymanaged, versioned independentlyServices expect to run in the wildServices expect to run in the wildServices should not failServices should not fail
http://msdn.microsoft.com/msdnmag/issues/04/01/Indigo/default.aspx
Don’t be Codependent.
Understanding Tenet 3:Understanding Tenet 3: 服務間共用資料綱要服務間共用資料綱要 (schema)(schema) 與合約與合約 (con(contract), tract), 而非程式類別而非程式類別 (class)(class)
Services interact solely on schemas for Services interact solely on schemas for structures, contract for behaviorsstructures, contract for behaviors
Unlike OO classes, services do not conflate Unlike OO classes, services do not conflate structure and behaviorstructure and behavior
Machine verifiability allows us to protect Machine verifiability allows us to protect service integrityservice integrity
Contracts and schema remain stable over Contracts and schema remain stable over timetime
http://msdn.microsoft.com/msdnmag/issues/04/01/Indigo/default.aspx
Don’t (expect me to) overshare.
Understanding Tenet 4: Understanding Tenet 4: 服務相容性由原則決定服務相容性由原則決定
Separates the interactions the Separates the interactions the service can have from the service can have from the constraints on those interactions.constraints on those interactions.
Service capabilities and Service capabilities and requirements are expressed in terms requirements are expressed in terms of a policy expressionof a policy expression
Assertions identified by stable, Assertions identified by stable, globally unique namesglobally unique names
http://msdn.microsoft.com/msdnmag/issues/04/01/Indigo/default.aspx
服務導向的好處服務導向的好處Architecture and DevelopmentArchitecture and Development Formal interaction model facilitates simplicity, Formal interaction model facilitates simplicity,
correctness, implementation independence, correctness, implementation independence, dependency management.dependency management.
IT and OperationsIT and Operations Explicit interaction points are more discoverable, Explicit interaction points are more discoverable,
operable. operable. Crisply isolates service capability from IT environment. Crisply isolates service capability from IT environment. Independent deployment, versioning, management, Independent deployment, versioning, management,
topologytopology
BusinessBusiness Services promote technology reuse, resulting in cost Services promote technology reuse, resulting in cost
savingssavings Services model business capabilitiesServices model business capabilities Systems serve the business, not vice versaSystems serve the business, not vice versa Inter-departmental or inter-org relationships Inter-departmental or inter-org relationships
formalized and expressed through service interactionformalized and expressed through service interaction Facilitates outsourcing and focus on core Facilitates outsourcing and focus on core
competenciescompetencies
實例實例For services to interact, the boundary, schema, contraFor services to interact, the boundary, schema, contract, policy should be expressed in a ct, policy should be expressed in a common tonguecommon tongue A SO environment extends only as far as we agree on the expA SO environment extends only as far as we agree on the exp
ression of the boundaryression of the boundary How far do you want your boundary to extend?How far do you want your boundary to extend?A system which is implemented to SO principles and A system which is implemented to SO principles and which wants broadest possible applicability through iwhich wants broadest possible applicability through interoperability will build on the WS-* protocol family.nteroperability will build on the WS-* protocol family.Microsoft offers great tools for building Services NOWMicrosoft offers great tools for building Services NOW Build services using ASMX in ASP.Net todayBuild services using ASMX in ASP.Net today Track emerging protocols with WSETrack emerging protocols with WSE ASMX gets better in WhidbeyASMX gets better in Whidbey Indigo will makes Service Oriented development even better Indigo will makes Service Oriented development even better
in the futurein the future
© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.