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.