service oriented architecture - download.microsoft.com · visual studio team system edition for...

46

Upload: hadang

Post on 17-Feb-2019

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes
Page 2: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

Service Oriented Architecture:

Right on Track

Page 3: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

Agenda

• Defining SOA – SOA, Service Orientation, Connected Systems and how they

relate

• Benefits of SOA

• M icrosoft’s vision for S O A– Why Microsoft provides the best platform

for building your SOA today, and in the future

Page 4: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

Defining SOA

Page 5: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

• SO is an architectural paradigm for building distributed systems

• SO is evolutionary• SO is a means to an end• SO can and should be an

incremental process• SO is easy and can be done in-

house

• SO is a technology or set of technologies

• SO is revolutionary• SO is the end goal• SO requires business and

technology overhaul• SO is complex and requires an

army of consultants

RealityMyth

T he only w ay you can use S O A for everything is to renam e everything to ‘S O A ’Roy Schulte, Gartner

Cutting through the SOA Hype

Page 6: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

• Service – An endpoint that reacts to messages

• Service Orientation – An architectural paradigmthat employs the following four tenets: – Boundaries are explicit– Services are autonomous– Services share schema and contract, not class– Service compatibility is determined based on policy

• Service Oriented Architecture (SOA) – Any architecture the adheres to the Four Tenets of Service Orientation

Services, Service Orientation and SOA

Page 7: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

• Services interact by exchanging messages

• Each message exchange traverses boundaries and may have costs

• SO formalizes intentional, and explicit interaction

Tenet 1 – Boundaries are Explicit

Page 8: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

• Services expose schemas defining data structures and contracts defining available operations

• Contracts and schema may be independently versioned over time

Tenet 2 – Share Schema and Contract, Not Types

Page 9: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

• Policy is the statement of communication requirements necessary for service interaction

• Service capabilities and requirements are expressed in terms of a policy expression

• A policy can contain multiple assertions

Tenet 3 – Policy defines Service Compatibility

Page 10: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

• A utonom y ≠ Independence• Topology of a system evolves over time • Unlike OO, services do not share

behavior• Services gracefully handle failure

Tenet 4 – Services Are Autonomous

Page 11: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

Web Services and SOA

WebServices

EDI/B2B

EAI

Distributed Computing

Web Site/Portal

Messaging

Policies

Practices

Standard Protocols

Universal Support

Low Cost

Existing AssetsBest

Practice Approach

Technology Realization

Frameworks

SOA

Page 12: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

Service Orientation Big Picture

• Business Process View

BusinessBusinessComponentComponent

BusinessBusinessComponentComponent

Business Business ProcessProcess

Composite Composite ApplicationApplication

Finer Grained Finer Grained Internal Internal Service Service

OperationsOperations

Coarse Coarse Grained Web Grained Web

Service Service OperationsOperations

Fine Grained Fine Grained Object and Object and

database callsdatabase calls

Page 13: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

Composition Platform

Composite Applications

• Applications composed of multiple service building blocks– Composed, not built– Cut across functional silos

Composite ApplicationComposite Application

Portal Devices Office Other

ExistingSystems

Page 14: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

Benefits of SOA

Page 15: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

Today

• Business Issues– Increased

Customer Focus

– Outdeliver the Competition

– Get the most value for your investment

• Technical Issues– Integration costs– Development time– Future proof against

new technologies– Heterogeneous

environment– Support new

devices

Page 16: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

Shift To Service Orientation

• Connections = cost • Function oriented• Build to last• Prolonged

development

FromFrom ToTo• Connections = value• Process oriented • Build for change• Incrementally

deployed

• Application silos• Tightly coupled• Object oriented

• Orchestrated solutions• Loosely coupled• Message oriented

Page 17: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

SOA Business BenefitsCost

• 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

Page 18: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

SOA Business BenefitsProductivity

• Increased employee productivity– Unlock data– Built on existing skills– Consolidate Duplicate Functionality

Page 19: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

SOA Business BenefitsPartnership

• Built for partnerships– Standards based– Business relationships expressed via

service interactions– Integration is driven by what is needed,

not what is technically possible.

Page 20: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

SOA Business BenefitsAgility

• Agility - Built for change– Helps applications evolve over time and

last– Abstract the backend and replace over

time– Access to the business value, no matter

what technology delivers it.– Focusing on core-competencies– Incremental implementation approach is

supported.

Page 21: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

Microsoft leading the way with SOA

Page 22: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

Microsoft and SOA

• Connected Systems is the moniker we use to describe the eco-system of SOA enabled applications

• SOA enables integration• Web Services is the messaging fabric for

SOA• .NET is the programming model for

Services• Windows and server platform is the hosting

platform for Services

Page 23: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

Microsoft SOA Business Value

• XML and Web Services Built in from the ground up– Servers have had XML objects since 2000 versions– .NET Framework built for web services

• More productive development environment– Fewer lines of code– Larger Ecosystem– Faster time to market

• Integrated Application Environment– Developer tool built for the Framework– Framework integrated into the OS– OS services optimized for the Framework

• The Application Server is built-in and evolving

Page 24: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

M icrosoft’s SO A Strategy

• Leading the charge with Web Services• Building Connected Systems• Best platform to realize service orientation

– Visual Studio – ASMX, WSE– SQL – XML– Smart Client – Office, Windows Mobile– Committed to open standards, interoperability– WS-I, W3C, OASIS, HL7, AIAG, SWIFT

Perceived as leaders Perceived as leaders –– even before w e started …even before w e started …

Page 25: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

Visual Studio Team System Edition for Software Architects

Page 26: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

Application Designer (AD)

Page 27: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

Endpoints and Application Prototypes

• Endpoints– WebServiceEndpoint– WebContentEndpoint– GenericEndpoint

• Applications– WindowsApplication– ASP.NETWebService– ASP.NETWebApplication– OfficeApplication– ExternalWebService– ExternalDatabase– BizTalkWebService– GenericApplication

Page 28: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

Defining Web Service Operations

Page 29: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

Implementing the Application

Page 30: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

Implementing the Application

• Application architects and/or developers can implement one or more of the applications on the diagram

• Implementing is the process of creating the Visual Studio projects (similar to File > New)

• Generates starter source code, content, and config files based on Visual Studio templates

• Implementing requires the Team Edition for Software Architects or Team Suite

Page 31: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

Create seamless, rich

user experiences

Connect heterogeneous

systems

Provide seamless and

integrated security

Compose and integrate business

processes

Provide seamless access to

multiple data stores

MessagingMessagingand Servicesand Services

WorkflowWorkflowand Processand Process

FederatedData

IdentityIdentityand Accessand Access

UserUserInteractionInteraction

Connected Systems

Page 32: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

ArchitecturalArchitecturalGuidanceGuidance

SQL ServerSQL Server

MOMMOM

Visual Studio 2005Visual Studio 2005

Active Active DirectoryDirectory Windows Windows

Communication Communication FoundationFoundation

BizTalk ServerBizTalk Server Office and Office and VSTOVSTO

Microsoft SOA Enablement

Page 33: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

Windows Communication Foundation

Page 34: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

• U nifies today’s distributed technology stacks• Composable functionality• Appropriate for use on-machine, cross

machine, and cross Internet

Windows Communication Foundation

“The unified program m ing m odel for rapidly building service-oriented applications on the W indow s platform ”

• WS-* interoperability with applications running on other platforms

• Interoperability w ith today’s distributed stacks

• Service-oriented programming model• Supports 4 tenets of service-orientation• Maximized developer productivity

UnificationUnification

ProductiveProductiveServiceService--OrientedOriented

ProgrammingProgramming

Interoperability Interoperability & Integration& Integration

Page 35: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

WSWS--**ProtocolsProtocols

ServiceService--OrientedOriented

ProgrammingProgrammingInteropInterop

AttributeAttribute--BasedBased

ProgrammingProgramming

MessageMessage--OrientedOriented

ProgrammingProgramming

ComposabilityComposabilityExtensibilityExtensibility

Windows CommunicationWindows CommunicationFoundation (WCF)Foundation (WCF)(formerly Indigo)(formerly Indigo)

U nion of Today’s S tacks

Page 36: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

[ServiceContract]Class EnterpriseTradeApp {

[ServiceOperation]message ExecuteTrade ();

}

Class TradeApp Class TradeApp {{

[WebMethod][WebMethod]message ExecuteTrade();message ExecuteTrade();

}}

WCF WCF –– Windows Communication FoundationWindows Communication Foundation

Page 37: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

Service Model LayerService Model Layer Messaging LayerMessaging Layer

BehaviorsBehaviors ChannelsChannels

Transaction Behavior

CLR Type Integration

Instancing Behavior

SecurityChannel

HTTP Transport

Custom Channel

Reliable Messaging

Queue Transport

MSMQ Integration

TCP Transport

Named Pipes

Throttling Behavior

Error Handling Behavior

Concurrency Behavior

Metadata Behavior

Custom Behavior

HTTP Transport

TCP Transport

SecurityChannel

Custom Channel

Reliable Messaging

CLR Type Integration

Instancing Behavior

Transaction Behavior

Composability in Action

Page 38: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

• 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

Feature OverviewSecurity, Reliability, Transactions

Page 39: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

20,379 linessecurity

5,988 linesreliable messaging

25,507 linestransactions

Total lines56,296

4,442 lines infrastructure

class HelloService {

[WebMethod]public String Hello(String Greeting) {

X509CertificateCollection collection = new X509CertificateCollection();IntPtr blob = Marshal.AllocHGlobal(Marshal.SizeOf(

typeof(CRYPTOAPI_BLOB))); IntPtr data = (IntPtr)((int)blob + Marshal.SizeOf(typeof(CRYPTOAPI_BLOB)));

SeqAckRange range = new SeqAcknRange(id, low, high );SeqAckRange[] ranges = { range };ReliableQueue.ProcessAcks( ranges );…

hr = pITxDispenser->BeginTransaction (NULL, ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions, &pITransaction);

return Greeting; }

}

Development ProductivityUsing Visual Studio .NET 2003

Page 40: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

Development ProductivityUsing Visual Studio .NET 2003 and WSE

10 linessecurity

1,804 linesreliable messaging

25,507 linestransactions

Total lines27,321

class HelloService {

[WebMethod]public String Hello(String Greeting) {

foreach ( SecurityToken tok in requestContext.Security.Tokens

{X509SecurityToken token = tok as X509SecToken

}

…SeqAckRange range = new SeqAcknRange(id,low,high );SeqAckRange[] ranges = { range };ReliableQueue.ProcessAcks( ranges );…

hr = pITxDispenser->BeginTransaction (NULL, ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions, &pITransaction);

return Greeting; }

}

Page 41: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

Development ProductivityUsing Visual Studio 2005 and WCF (Indigo)

1 linessecurity

1 linesreliable messaging

1 linestransactions

Total lines 3

[ServiceContract(SecureChannel, SecurityMode =“Windows")][Reliability(Guarantees.ExactlyOnce | Guarantees.InOrder)][ServiceContract]class HelloService { [ServiceOperation(TransactionFlowAllowed = true)]String Hello(String Greeting) { return Greeting;

}

Page 42: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

Contract Policy (WSContract Policy (WS--Policy)Policy)•• Requires WSRequires WS--Security, Trust, SCT Security, Trust, SCT •• Requires use of TCP SOAP bindingRequires use of TCP SOAP binding

Class MyServiceClass MyService{{

}}

int MyMethod(string arg)int MyMethod(string arg){{}}

Application CodeApplication Code What is ExposedWhat is Exposed

Nothing!Nothing!Boundaries are explicitBoundaries are explicit

[TcpTransport][TcpTransport]

[ServiceOperation][ServiceOperation]

[FederatedSecurity][FederatedSecurity][Discoverable][Discoverable]

Autonomy (WSAutonomy (WS--Security family, WSSecurity family, WS--Discovery)Discovery)•• Assume any messages received are rogueAssume any messages received are rogue•• A utom atically announces the service’s existence on A utom atically announces the service’s existence on startup, optionally to central directorystartup, optionally to central directory•• Exposes endpoint that responds to Find requestsExposes endpoint that responds to Find requests

Nothing about implementation/platform exposed. Nothing about implementation/platform exposed.

Find and call the service using public standards with any Find and call the service using public standards with any implementation.implementation.

[ServiceContract][ServiceContract]

Contract Schema (WSDL + XSD)Contract Schema (WSDL + XSD)•• Requires message body <arg> Requires message body <arg> string <string <arg>arg>•• Service reply message body <return> Service reply message body <return> int <int <return>return>

How WCF implements the How WCF implements the tenets of SOAtenets of SOA

Page 43: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

Roadmap Provides Continuity

• WCF will supersede existing connected systems technologies.

• Other technologies continue to co-exist, interoperate and be supported via support policy

WCF

ASMX

Enterprise Services

.NET Remoting

Com(+)

MSMQ

ASMX

WSE1

WSE2

WSE-n

Page 44: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

Designing for WCF

• Build services using ASMX• Use WSE for WS-* support• Keep components within your service boundaries• Use System.Messaging for async queued

messaging• Use Enterprise Services

when transactions,activation required

• Avoid or abstract low-level .NETRemoting extensibilitysuch as sinks,channels

Page 45: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

• Service Orientation is an architectural paradigm, conforming to the four tenets

• Service Orientation reflects the realities of building heterogeneous distributed systems

• Service Orientation enables agility and the ability to leverage existing assets, without having to rip-and-replace

• The Microsoft platform provides the best tools to enable you to build Service Oriented systems today and leads the industry in innovation for the future

Summary

Page 46: Service Oriented Architecture - download.microsoft.com · Visual Studio Team System Edition for Software Architects. Application Designer (AD) Endpoints and Application Prototypes

CALL TO ACTION

• Learn about SOA– Ask questions– http://blogs.msdn.com/pooyad

• Use Visual Studio 2005– create web services (if you haven’t already, and see how

easy it is)

– http://msdn.microsoft.com/vstudio/• Visual Studio 2005 Express (CD in your bags)

• K eep up to date w ith M icrosoft’s A rchitecture Vision– http://www.architecturejournal.net/

• Sign up for the Architecture Journal