soa, bpm, and microsoft: a pragmatic viewdownload.microsoft.com/documents/australia/biztalk/... ·...
TRANSCRIPT
SOA, BPM, and Microsoft:
A Pragmatic View
David Chappell
Chappell & Associates
www.davidchappell.com
Copyright © 2006 David Chappell
Vision and Pragmatism
Vision is essential
– But rubber must eventually meet road
Three pragmatic goals:
#1: Standardize on service-oriented
communication
#2: Create the necessary service-
oriented infrastructure
#3: Use business process management
(BPM) technologies effectively
Goal #1: Standardize on Service-Oriented
Communication
Service-oriented architecture (SOA) is a
loosely defined vision
– One with many diverse aspects
Two fundamental aspects of a service-
oriented (SO) world are:
– A common protocol for communication
between SO applications
– A common foundation for creating SO
applications
A Common Protocol: SOAP
Business
Service
Business
Service
Business
Service
Business
Service
Business
Service
Business
Service
Business
Service
Business
Service
Packaged Application
Z
ERP
Application
Packaged
Application
Y
J2EE
Application
.NET
Application
Packaged
Application X
CICS Application
AS/400
Application
SOAP
A Common Foundation:
Windows Communication Foundation (WCF)
.NET Framework 2.0
ADO.NET
ASP.NET
. . .
Applications
Windows Vista, Windows Server 2003, Windows XP
Windows
Communication
Foundation
Windows
Workflow
Foundation
Windows
Presentation
Foundation
Windows
CardSpace
.NET Framework 3.0
Windows Communication FoundationAPI
ASMX & WSE .NET Remoting Enterprise ServicesSystem.MessagingAPI
WCF: Unifying Communication
Applications
.NET Framework 2.0
MSMQSOAP & WS-* Remoting binary
protocol
DCOMProtocol
Applications
.NET Framework 3.0
OthersSOAP & WS-* WCF binary
protocol
MSMQProtocol
Providing business value
- Increased agility: Through easier application
interconnection
- Extensive reuse of business services: Maybe
Getting widespread adoption- New applications: SOAP
- Existing applications: Diverse protocols
Standardize on Service-Oriented
Communication: Summary
SolutionProblem
Defining data- Syntax: XML and WSDL
- Document definitions: Various formats in use
- Windows-based applications: WCF
- Other applications: Most likely Service
Component Architecture (SCA)
Defining a common foundation
Defining a common protocol- RPC: SOAP/HTTP with WS-*
- Message queuing: None
Goal #2: Create the Necessary Service-
Oriented Infrastructure
SOAP is not enough:
– No agreement on a queued messaging
protocol
– Need to translate among different data
formats
– Must connect with existing applications
that don’t speak SOAP
The dominant term for technology that
addresses problems like these is
Enterprise Service Bus (ESB)
– But what’s an ESB?
Defining an ESB:
Gartner (1)
A Web-services-capable middleware infrastructure
that supports communication and mediates
application interactions
To be an ESB, a middleware subsystem must:
– Implement program-to-program communication
• Always supporting SOAP/HTTP
• Almost always supporting other protocols, such as SOAP/MOM, XML/HTTP and plain MOM
– Support other core Web services standards
• Always including XML and WSDL; usually including
others such as WS-Addressing and WS-Security
Defining an ESB:
Gartner (2)
To be an ESB, a middleware subsystem must
also:
– Be capable of:
• Service discovery, binding and virtualization (transparently switching to alternative service
components)
• Intelligent (header-based) routing
– Have an extensible, intermediary-based
architecture so that additional features can be
plugged in
– Be aware of message schemas
• Through the use of metadata
Defining an ESB:
Forrester (1)
Infrastructure software that makes reusable
business services widely available to users,
applications, business processes, and other
services
Common ESB components include:
– Multi-protocol communication infrastructure
– Routing
– Transformation and mapping
– Service orchestration, aggregation, and process
management
– Transaction management
Defining an ESB:
Forrester (2)
More common ESB components:
– Security
– Quality of service
– Service registry and metadata management
– Extensibility for message enrichment
– Monitoring and management
– Support for the service lifecycle
Application Application
The goal is to create the right infrastructure for
effective communication
Service-Oriented Infrastructure:
A Pragmatic View
Service-Oriented Enterprises:
An Idealized, SOAP-Based View
Business
Service
Business
Service
Business
Service
Business
Service
Business
Service
Business
Service
Business
Service
Business
Service
Packaged Application
Z
ERP
Application
Packaged
Application
Y
J2EE
Application
.NET
Application
Packaged
Application X
CICS Application
AS/400
Application
SOAP
Service-Oriented Enterprises:
A Realistic View
Business
Service
Business Service
Business Service
Business Service
Business Service
Business Service
Business
Service
Business
Service
Packaged Application
Z
ERP
Application
Packaged
Application
Y
J2EE
Application
.NET
Application
Packaged
Application X
CICS Application
AS/400
Application SOAP
Messages
BizTalk Server 2006
Business
Service
Business Service
Business Service
Business Service
Business Service
Business Service
Business
Service
Business
Service
Packaged Application
Z
ERP
Application
Packaged
Application
Y
J2EE
Application
.NET
Application
Packaged
Application X
CICS Application
AS/400
Application
BizTalk Server
Message Box
Illustrating BizTalk Server 2006
Orchestration
Business Rules Engine (BRE)
Business Activity Monitoring (BAM)
Health and Activity Tracking (HAT)
Visual Studio 2005
Orchestration Designer
Data Mapping
Accelerators
HL7 SWIFT Others...
Other Software
Web Services OthersWebSphere MQ SAPFile ...
Adapters
Others, e.g., services registry,
management, etc.
- Various, such as Enterprise UDDI Services
and System Center Operations Manager 2007
- Various adapters for BizTalk ServerConnecting to existing applications via
diverse protocols
- BizTalk data mapping Data transformation
Create the Necessary Service-Oriented
Infrastructure: Summary
Windows-Based SolutionProblem
Providing interoperable queued messaging
- BizTalk Server message box
- Adapters for MSMQ, WebSphere MQ, and
others
- WCFProviding a foundation for service-oriented
applications
Goal #3: Use BPM Technologies Effectively
A business view of BPM:
– Viewing a business as a set of
processes that can be explicitly defined,
optimized, and managed
A technical view of BPM:
– Development using software designed
for creating, executing, and monitoring
process logic
Core BPM Technologies
Workflow
– System and human
Graphical tools
– For defining processes
Integration technologies
– Such as adapters and message
transformation
Business rules engines (BREs)
Business activity monitoring (BAM)
BPM Technologies and SOA
Business
Service
Business Service
Business Service
Business Service
Business Service
Business
Service
Business
Service
Packaged Application
Y
ERP
Application
J2EE
Application
.NET
Application
Packaged
Application X
CICS Application
AS/400
Application
BAM
Microsoft’s Primary BPM Offerings
BizTalk Server 2006
Windows Workflow Foundation
Windows SharePoint Services 3.0
– And Office SharePoint Server 2007
Windows Workflow Foundation (WF)
.NET Framework 2.0
ADO.NET
ASP.NET
. . .
Applications
Windows Vista, Windows Server 2003, Windows XP
Windows
Communication
Foundation
Windows
Workflow
Foundation
Windows
Presentation
Foundation
Windows
CardSpace
.NET Framework 3.0
Host Process
Illustrating WF
Runtime Engine
Other Activities
Base Activity Library (BAL)
Activities
Workflow
Runtime Services
Visual Studio 2005
WF Workflow Designer
Windows SharePoint Services
Windows SharePoint Services (WSS) is a
standard part of Windows Server 2003
– WSS 3.0 hosts the WF runtime engine
Office SharePoint Server, part of the 2007
Microsoft Office system, adds more
workflow capabilities
– All of which are built on WF and WSS 3.0
Windows Server 2003
Windows SharePoint Services
Site 1 Site 2 …
Web Browser
Internet Information Services
Site N
Microsoft Office
Document
Library 1
List 1
Item A
Item B
Item C. . .
List N
Item A
Item B
Item C. . .
. . .
Document
Library N
. . .
SQL Server
Illustrating Windows SharePoint Services
Windows Server 2003
Windows SharePoint Services
Site 1 Site 2 … Site N
SQL Server
WF Runtime Engine
Internet Information Services
Workflow Instances
List
Item A
Item B
Item C. . .
Associations
Workflow Templates
Document
Library
Illustrating WSS 3.0 Workflows
Interacting with WSS 3.0 Workflows
A WSS-hosted workflow places tasks on a
user’s task list
– A user can access this list via a web
browser or Outlook 2007
WSS defines several WF activities, including:
– CreateTask: adds a task to a task list
– OnTaskChanged: informs the workflow
that a task has been modified
Windows SharePoint
Services
Site
Workflow Templates
Document
Library
Workflow
InitiatorWorkflow
Participants
Task List
Approve
. . .
4) Add task to task list
1) Select document and association
Workflow Instance
2) Create workflow instance
3) Customize and start workflow instance
5) Check task list
6) Complete task
An Example WSS 3.0 Workflow
Creating WSS 3.0 Workflows
Developers: WF Workflow Designer
– With extra WSS 3.0-supplied activities
Information workers: Office SharePoint
Designer
– Allows defining workflows by specifying
conditions and actions for each step
– Users can now add application logic to
WSS 3.0 sites
Illustrating the WF Workflow Designer
Illustrating Office SharePoint Designer
What Office SharePoint Server 2007 Adds
A group of customizable pre-defined
workflows
– Approval, Collect Feedback, etc.
The ability to interact with workflows directly
from Office applications using InfoPath
workflow forms
– WSS alone mostly supports interacting
with workflows through a browser
A range of content-management capabilities
– Such as document templates and broad
search capabilities
- BizTalk Server data mapping, adapters, etc.Integration technologies
- System workflow: BizTalk Server Orchestration
Designer
- Human workflow: WF Workflow Designer and
Office SharePoint Designer 2007
Graphical tools for defining processes
Use BPM Technologies Effectively:
Summary
Windows-Based SolutionProblem
- BizTalk Server BAMBusiness activity monitoring
Supporting human workflow- WF-based workflows in Windows SharePoint
Services 3.0 and Office SharePoint Server 2007
- BizTalk Server orchestrationsSupporting system workflow
- BizTalk Server BRE
- WF rulesBusiness rules engine
Conclusion
Vision is essential, but so is pragmatism
– Every organization’s SOA path is unique
Three pragmatic goals:
#1: Standardize on service-oriented
communication
#2: Create the necessary service-
oriented infrastructure
#3: Use BPM technologies effectively
Working toward these will benefit every
organization
For Further Reading
Introducing Windows Communication Foundation
http://www.davidchappell.com/IntroducingWCFv1.2.1.pdf
Understanding BizTalk Server 2006
http://download.microsoft.com/documents/australia/ windowsserversystem/biztalk2006/
Understanding_BTS06.pdf
Understanding Workflow in Windows SharePoint
Services and the 2007 Microsoft Office System
http://download.microsoft.com/download/1/A/B/1AB1AC93
-13A4-4001-A757-A340A211A06F/ Understanding%20WF%20in%20WSS%20and%20Offic
e%202007%20v1.doc
About the Speaker
David Chappell is Principal of Chappell & Associates in San FranDavid Chappell is Principal of Chappell & Associates in San Francisco, cisco,
California. Through his speaking, writing, and consulting, he heCalifornia. Through his speaking, writing, and consulting, he helps IT lps IT
professionals around the world understand, use, and make better professionals around the world understand, use, and make better
decisions about enterprise software.decisions about enterprise software.
David has been the keynote speaker for dozens of conferences andDavid has been the keynote speaker for dozens of conferences and events events
in the U.S., Europe, Asia, and Latin America. His popular seminain the U.S., Europe, Asia, and Latin America. His popular seminars have rs have
been attended by tens of thousands of developers, architects, anbeen attended by tens of thousands of developers, architects, and d
decision makers in forty countries. decision makers in forty countries.
DavidDavid’’s books have been published in ten languages and used in coursess books have been published in ten languages and used in courses
at MIT, ETH Zurich, and other educational institutions. He is Seat MIT, ETH Zurich, and other educational institutions. He is Series Editor ries Editor
for Addisonfor Addison--WesleyWesley’’s awards award--winning winning Independent Technology GuidesIndependent Technology Guides, and , and
he has been a regular columnist for several publications. In hishe has been a regular columnist for several publications. In his consulting consulting
practice, David has helped clients such as Hewlettpractice, David has helped clients such as Hewlett--Packard, IBM, Packard, IBM,
Microsoft, Stanford University, and Target Corporation adopt newMicrosoft, Stanford University, and Target Corporation adopt new
technologies, market new products, train their sales staffs, andtechnologies, market new products, train their sales staffs, and create create
business plans.business plans.
DavidDavid’’s comments have appeared in The New York Times, s comments have appeared in The New York Times, CNN.comCNN.com, and , and
many other publications. Earlier in his career, he wrote softwarmany other publications. Earlier in his career, he wrote software for e for
supercomputers, chaired a U.S. national standardization working supercomputers, chaired a U.S. national standardization working group, group,
and played keyboards with the Peabodyand played keyboards with the Peabody--awardaward--winning Childrenwinning Children’’s Radio s Radio
Theater. David holds a B.S. in Economics and an M.S. in ComputerTheater. David holds a B.S. in Economics and an M.S. in Computer
Science, both from the University of WisconsinScience, both from the University of Wisconsin--Madison.Madison.