Understanding Service- Oriented Architecture - Microsoft

41 downloads 66 Views 3MB Size Report
Described using WSDL and accessed via. SOAP. Service-oriented applications: – Expose business logic through services. Service-oriented architecture (SOA):.
Understanding ServiceOriented Architecture David Chappell Chappell & Associates www.davidchappell.com

Copyright © 2005 David Chappell

Agenda

Defining SOA Moving to SOA Building Services: Indigo Implementing Business Processes: BizTalk Server 2004

Defining SOA

The Evolution of Application Architecture Mainframe

Business Logic

DBMS

T

PCs

Client/Server

DBMS

Business Logic

Business Logic

GUI

Web

Multi-Tier

DBMS

Business Logic

Browser

Web Services Clients

ServiceOriented

DBMS

Business Logic

Business Logic

Enterprises Today

ERP Application

.NET Application

Packaged Application X

J2EE Application

Packaged Application Y

CICS Application

Packaged Application Z

AS/400 Application

Enterprises with SOA: An Idealized View Business Service

Business Service

Business Service

Business Service

Business Service

SOAP

Business Service

Business Service

Business Service

What Exactly Is a Service? There is debate about the meaning of service – It’s analogous to the 90’s argument about object In practice, a service is what is implemented by dominant products: – Microsoft’s .NET Framework – IBM’s WebSphere Application Server – BEA’s WebLogic Application Server – Others

Defining Services: The Specs SOAP, WSDL WS-Addressing WS-Policy WS-Security, WS-SecureConversation, WS-Trust, … WS-ReliableMessaging WS-Coordination, WS-AtomicTransaction … Referred to collectively as the WS-* specs

Other concerns, e.g., state management, are implementation issues

Service-Orientation: Clarifying Terms Services: – Described using WSDL and accessed via SOAP Service-oriented applications: – Expose business logic through services Service-oriented architecture (SOA): – Guidelines for creating and using service-oriented applications

Defining SOA An approach to building applications in a service-oriented world, including: – Guidelines for: • Defining and exposing business services • Defining and enforcing service level agreements

– Common technologies for: • Securing services • Managing services • More

Software Abstractions in a Service-Oriented World Data

Logic Objects

Access

Services

Presentation

GUIs

Relations

Tables Object hierarchies SQL types Java/CLR types Object hierarchies Service interfaces Java/CLR types XML types Service interfaces Widgets/controls XML types Java/CLR/JavaScript types

Services and Messages SOAP is a message-oriented protocol: maxOrder) { reject = TRUE; } ...

Implementing Business Rules: Using a Business Rules Engine (BRE) Business rules are evaluated by a BRE, which is invoked from code or orchestration ... Call BRE ...

BRE If CreditScore = High Then MaximumOrder = 10000 If CreditScore = Medium Then MaximumOrder = 4500 If CreditScore = Low Then MaximumOrder = 1000 If OrderQuantity > MaximumOrder) Then RejectOrder = True

BTS 2004: Business Rules Engine (BRE) Can be invoked from an orchestration or any .NET assembly Includes a Business Rule Composer – Allows a process’s rules to be expressed in a more natural way – Can be used by business analysts or developers

An Aside: The Rise of Business Analysts Many organizations have people in a business analyst (BA) role – In a service-oriented world, they can do more than just define requirements BAs can potentially: – Define services – Create and update orchestrations – Define and modify business rules Will BAs be the successor to Visual Basic developers?

BPM Technologies: Workflow Services Many business processes involve people – BPM servers must support human interaction with processes BTS 2004: Human Workflow Services – Allows creating orchestrations that can interact with people – A framework only • Requires third-party tools or developers to use effectively

BPM Technologies: Process Monitoring Services Technical monitoring – Tools for IT people, e.g., BTS 2004 HAT tool Business Activity Monitoring (BAM) – Tools for business people – Allows examining business aspects of a running process (and more) – Broader than just BPM • May link into business intelligence technologies, other applications, and more

BTS 2004: An Example BAM View in Excel

Implementing Business Processes: Conclusions A service-oriented world implies BPM But BPM requires: – Support for creating, executing, monitoring, and managing process logic – Connections to non-SOAP services – Data mapping – More BizTalk Server 2004 is a foundation for Windows BPM – And more

Summing Up: Software Abstractions in a Service-Oriented World Data Relations

Logic

… …

Presentation

Services

GUIs

Objects

Stored Procedures XML Documents

Access

SELECT … FROM …

Orchestrations



Business Rules If … Then … If … Then … If … Then …

Understanding SOA: Summary We’re headed for a service-oriented world – Web services finally make SOA practical This change brings new technical approaches – Indigo for building services on Windows – BizTalk Server 2004 for BPM The benefits are real – We’ve waited a long time for this

About the Speaker David Chappell is Principal of Chappell & Associates in San Francisco, California. Through his speaking, writing, and consulting, he helps information technology professionals understand, use, market, and make better decisions about enterprise software. David has been the keynote speaker for conferences in the U.S., Europe, Latin America, and the Middle East, and he’s also delivered keynotes at many in-house events. His seminars have been attended by tens of thousands of developers and decision makers in thirty-five countries. David’s books on enterprise software technologies have been published in ten languages and used regularly in courses at MIT and other universities. He is Series Editor for Addison-Wesley’s Independent Technology Guides, and more than 100 of his articles have appeared in various publications. David’s consulting clients have included HP, IBM, Microsoft, Target Corporation, Stanford University, and others. He has also advised a range of global organizations, including Deutsche Bank, Singapore Airlines, and the Industrial and Commercial Bank of China. David holds a B.S. in Economics and an M.S. in Computer Science, both from the University of Wisconsin-Madison. He has also participated in Executive Education at the Wharton School of Business.

Suggest Documents