soa, bpm, and microsoft: a pragmatic view david chappell chappell & associates copyright ©...
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
AcceleratorsHL7 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
SiteWorkflow Templates
Document Library
Workflow Initiator
Workflow 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 rules
Business 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 Foundationhttp://www.davidchappell.com/IntroducingWCFv1.2.1.pdf
Understanding BizTalk Server 2006http://download.microsoft.com/documents/australia
/ windowsserversystem/biztalk2006/ Understanding_BTS06.pdf
Understanding Workflow in Windows SharePoint Services and the 2007 Microsoft Office Systemhttp://download.microsoft.com/download/1/A/B/1AB1AC93-13A4-4001-A757-A340A211A06F/ Understanding%20WF%20in%20WSS%20and%20Office%202007%20v1.doc
About the Speaker
David Chappell is Principal of Chappell & Associates in San Francisco, California. David Chappell is Principal of Chappell & Associates in San Francisco, California. Through his speaking, writing, and consulting, he helps IT professionals around the Through his speaking, writing, and consulting, he helps IT professionals around the world understand, use, and make better decisions about enterprise software.world understand, use, and make better decisions about enterprise software.
David has been the keynote speaker for dozens of conferences and events in the David has been the keynote speaker for dozens of conferences and events in the U.S., Europe, Asia, and Latin America. His popular seminars have been attended by U.S., Europe, Asia, and Latin America. His popular seminars have been attended by tens of thousands of developers, architects, and decision makers in forty countries. tens of thousands of developers, architects, and decision makers in forty countries.
David’s books have been published in ten languages and used in courses at MIT, David’s books have been published in ten languages and used in courses at MIT, ETH Zurich, and other educational institutions. He is Series Editor for Addison-ETH Zurich, and other educational institutions. He is Series Editor for Addison-Wesley’s award-winning Wesley’s award-winning Independent Technology GuidesIndependent Technology Guides, and he has been a regular , and he has been a regular columnist for several publications. In his consulting practice, David has helped columnist for several publications. In his consulting practice, David has helped clients such as Hewlett-Packard, IBM, Microsoft, Stanford University, and Target clients such as Hewlett-Packard, IBM, Microsoft, Stanford University, and Target Corporation adopt new technologies, market new products, train their sales staffs, Corporation adopt new technologies, market new products, train their sales staffs, and create business plans.and create business plans.
David’s comments have appeared in The New York Times, CNN.com, and many David’s comments have appeared in The New York Times, CNN.com, and many other publications. Earlier in his career, he wrote software for supercomputers, other publications. Earlier in his career, he wrote software for supercomputers, chaired a U.S. national standardization working group, and played keyboards with chaired a U.S. national standardization working group, and played keyboards with the Peabody-award-winning Children’s Radio Theater. David holds a B.S. in the Peabody-award-winning Children’s Radio Theater. David holds a B.S. in Economics and an M.S. in Computer Science, both from the University of Economics and an M.S. in Computer Science, both from the University of Wisconsin-Madison.Wisconsin-Madison.