Professional Documents
Culture Documents
Service Oriented Architecture PDF
Service Oriented Architecture PDF
Right on Track
Agenda
Defining SOA
SOA, Service Orientation, Connected Systems and how they
relate
Benefits of SOA
Myth Reality
SO is a technology or set of SO is an architectural paradigm for
technologies building distributed systems
SO is revolutionary SO is evolutionary
SO is the end goal SO is a means to an end
SO requires business and SO can and should be an
technology overhaul incremental process
SO is complex and requires an SO is easy and can be done in-
army of consultants house
T h e o n ly w a y yo u ca n u se S O A fo r e ve ryth in g is to re n a m e e ve ryth in g to S O A
Roy Schulte, Gartner
Services, Service Orientation and SOA
A u ton om y In d ep en d en ce
Topology of a system evolves over time
Unlike OO, services do not share
behavior
Services gracefully handle failure
Web Services and SOA
Technology
Realization
Web
Services
EAI
Messaging SOA
EDI/B2B Policies
Web Site/Portal Practices
Distributed Computing Frameworks
Standard Protocols
Universal Support
Existing Assets
Low Cost Best
Practice
Approach
Service Orientation Big
Picture
Business
Component
Business
Component
Composite Business
Application Process
Composite Applications
Composite Application
Composition Platform
Existing
Systems
Benefits of SOA
Today
From To
Connections = cost Connections = value
Function oriented Process oriented
Build to last Build for change
Prolonged Incrementally
development deployed
Decreased cost
Reduces TCO and increase ROI on evolving
systems
Add value to core investments by
leveraging existing assets
New systems can be built faster for less
money because existing services can be
more easily reused
Built for flexibility
Long term value of interoperability
SOA Business Benefits
Productivity
Endpoints
WebServiceEndpoint
WebContentEndpoint
GenericEndpoint
Applications
WindowsApplication
ASP.NETWebService
ASP.NETWebApplication
OfficeApplication
ExternalWebService
ExternalDatabase
BizTalkWebService
GenericApplication
Defining Web Service
Operations
Implementing the Application
Implementing the Application
MOM
Architectural
Guidance
Active
Directory Windows SQL Server
Communication
Foundation
Windows Communication Foundation
Windows Communication
Foundation
Windows Communication
Foundation (WCF)
(formerly Indigo)
Message-
Message- Service-
Service- Attribute-
Attribute-
WS-*
WS- Composability
Oriented Oriented Based
Protocols Extensibility
Programming Programming Programming
Interop
WCF Windows Communication Foundation
Class TradeApp
{
[WebMethod]
message ExecuteTrade();
}
[ServiceContract]
Class EnterpriseTradeApp {
[ServiceOperation]
message ExecuteTrade ();
}
Composability in Action
Behaviors Channels
Metadata Instancing Security HTTP
Behavior Behavior Channel Transport
Error
Transaction Reliable TCP
Handling
Behavior Messaging Transport
Behavior
End-to-end Security
Confidentiality, integrity, authentication,
authorization
X509, Username/Password, Kerberos, SAML,
custom
End-to-end Reliable messaging
In-order guarantees
Exactly once guarantees
Transactions
Guaranteed atomic success or failure across
services
Development Productivity
Using Visual Studio .NET 2003
class HelloService {
class HelloService {
[WebMethod] 10 lines
public String Hello(String Greeting) { security
foreach ( SecurityToken tok in
requestContext.Security.Tokens
{
}
X509SecurityToken token = tok as X509SecToken 1,804 lines
reliable messaging
SeqAckRange range = new SeqAcknRange(id,low,high );
SeqAckRange[] ranges = { range };
ReliableQueue.ProcessAcks( ranges );
25,507 lines
hr = pITxDispenser->BeginTransaction (NULL, transactions
ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions,
&pITransaction);
}
return Greeting; 1 lines
reliable messaging
1 lines
transactions
Total lines 3
How WCF implements the
tenets of SOA
Application Code What is Exposed
Contract Schema (WSDL + XSD)
[FederatedSecurity] Requires message body <arg> string <arg>
<arg>
[Discoverable] Service reply message body <return> int <return>
<return>
[TcpTransport]
[ServiceContract] Autonomy (WS-
(WS-Security family, WS-
WS-Discovery)
Class MyService Assume any messagesNothing! received are rogue
{ A u tom a tica Boundaries
lly a n n ou n ces th e are explicit
services existen ce on
startup, optionally to central directory
Exposes endpoint that responds to Find requests
[ServiceOperation]
int MyMethod(string arg) Nothing about implementation/platform exposed.
{
Find and call the service using public standards with any
} implementation.
ASMX ASMX
Enterprise Services
.NET Remoting
Com(+)
MSMQ
Designing for WCF