Title: Connected Systems Microsofts Architectural Strategy
1(No Transcript)
2Connected Systems Microsofts Architectural
Strategy
- Mike Burner
- Architect, Platform Strategy Group
- Microsoft Corporation
3Business Collaboration is Complex
4Complexity of Value Chains
- Within an Organization
- Diverse information models
- Heterogeneous platforms
- Volatility of business processes
- Evolving lifecycle of enterprise information
- Across Organizations
- (All of the above)2
- Incompatible models for authentication and
authorization - Unreliable transport
- Unclear transaction models
5Addressing Value Chain Complexity
- Common Framework
- Messages to express functional requirements
- Protocols to support operational (non-functional)
requirements - Encapsulation
- Allow continuous improvement behind interface
- Promote centers of excellence
- Flexibility
- Diverse and evolving business processes
- Diverse and evolving compliance requirements
- Federation
- Organizations control their own assertions
- Trust models must support guaranteed assertions
6Capabilities MapA Component Model for Business
Enterprise
2. Generate Demand
1. Develop Product / Service
5. Collaboration
3. Fulfill Demand
4. Plan Manage Enterprise
3.1. Provide Service
3.3. Procurement
3.2. Advanced Planning
3.3.1 Sourcing and Supplier Contract Management
3.3.2 Purchasing
Request Resources
Level 4 3. Fulfill Demand 3.3 Procurement 3.3.2
Purchasing - Request Resources - Create
Purchase Requisitions
Create Purchase Requisitions
3.4. Produce Product
3.3.3 Receiving of Indirect / Capital Goods and
Services
3.5. Logistics
7Processes Traversing Capabilities
Suppliers
Customers
Governments
Enterprise
1. Develop Product / Service
2. Generate Demand
5. Collaboration
Channel Partners
3. Fulfill Demand
4. Plan Manage Enterprise
Logistics Providers
Financial Providers
8Accessing External Capabilities
My Capabilities
Suppliers
Customers
Governments
Enterprise
1. Develop Product / Service
2. Generate Demand
2.3.3.1.1 Process Order
5. Collaboration
Channel Partners
3. Fulfill Demand
4. Plan Manage Enterprise
3.5.1 Order Fulfillment
3.5.2.3.1 Shipping
Logistics Providers
Financial Providers
9Conceptual Value Chain
Complete shared
Component Manufacturer
Partial shared
Logistics Provider
10Collaboration over Information Sets
- Conceptually, a business process completes an
information set - Infoset models shared view of goods, services,
documents - Infoset establishes activities to be completed
- Infoset models exceptions and resolutions
- Infoset is proof of activity completion
- Process orchestration leverages resources to
complete infoset - Initially skeletal
- Each hop adds information
- Infrastructure hops crucial to traceability
11Service Orientation
- Business collaboration mandate drives push
towards service orientation - SOA is not an end in itself
- Service orientation encapsulates and
componentizes complex processes and systems - Clear boundaries
- Separation of interface and implementation
- Momentum of Web services crucial to success!
- XML XSD XML-infoset Community
- Vendor-supplied platform more cost effective
- Cross-platform interoperability
12Three (Compatible) Views of SOA
- Solution view
- System built from autonomous services
- Services are built to last
- Systems are built to change
- Portfolio view
- An approach to factoring and managing an
organizational application portfolio - Promotes consistency of information management
- And agile solution development
- Cross-organizational view
- SOA enables structured business collaboration
13Four Tenets of Services
Contracts
- Services are autonomous units of application
logic - Boundaries are explicit
- Services share schema and contract, not class
- Service compatibility is determined based on
policy
Service
Message1
Message2
Logic
14Agenda
- The Business Architecture behind SOA
- Patterns of Service-Oriented Solutions
- Challenges of Service Orientation
- A Platform for Connected Systems
- Tools for Connected Systems
- Call to Action
15Agenda
- The Business Architecture behind SOA
- Patterns of Service-Oriented Solutions
- Challenges of Service Orientation
- A Platform for Connected Systems
- Tools for Connected Systems
- Call to Action
16Key PatternInformation-Set Completion
- Applications model value chains
- Process instances complete a (semi-)shared
information set - Service invocations encapsulate individual
capabilities - Services may need to engage users
- Information sets may be mined by subsequent
business processes
17Information-Set CompletionAn Entity Lifecycle
18Information-Set CompletionService View of
Processes
Clients and Agents
Process Services
Activity Services
Infrastructure Services
Entity Services
19Key PatternInformation Integration
- Achieve consistent handling of key organizational
data - Develop unified models for key real-world
entities - e.g., customer
- Establish procedures for aggregating entities
from back-end systems for processing... - ...and disaggregating them for persistence
20Information IntegrationCreate Canonical Schemas
- Model the Entities
- Create a static, canonical schema
- Agree on XML namespaces
- Only expose XSD data types
- Standardize on Doc/Literal
- Agree on naming conventions
- Keep it simple
- Canonical Schema
- Represents the authoritative, common definition
- Other representations can be derived from this
- It is not one large XML-Schema really a bucket
of schemas that collectively form the canonical
schema
Citigroup
Reuters
21Information IntegrationSchema Rationalization
SQL Server (in house)
Siebel (commercial)
Other (J2EE based)
22Key PatternIntegrating Non-Service Components
- The world is full of independently designed
systems - Differences happen all the way from the hardware
though the OS and middleware, up to the
application semantics - Rationalizing these disparate systems is a huge
challenge - Recommendation
- Model non-service systems according to the
business capabilities they deliver - Encapsulate them behind service facades
23Integrating Non-Service ComponentsService
Facades
- Simulate Request/Response or One way Interaction
over the non-service access model - Transform incoming data (canonical schemas) to a
representation that non-service components can
understand - Use adapters
- Message-based
- SAP RFC/IDOC
- Queues based (MQSeries to access mainframe)
- Pub/Sub based (e.g. SAP)
- API-based
- SAPs DCOM Component Connector
- JDEs OneWorld API
- File-based/FTP
24Integrating Non-Service ComponentsEnterprise
Message Broker
Entity Aggregation
Event Escalation
Protocol Bridging
Role Management
Policy Enforcement
Process Monitoring
Orchestration
EDI
MSMQ
Indigo Web Services
25Key PatternContext-Sensitive Routing
- Content and context of a service request
determines the pipeline and endpoint for the
message - Enables service-level differentiation
- Routing policy could be based on class-of-service
attributes - Enables run-time aspect weaving
26Context-Sensitive RoutingDynamic Endpoint
Selection
27Context-Sensitive Routing Aspect-weaving with
Pipelines
Service
- Address cross-cutting concerns with interception
services - May be pipelined for efficiency and manageability
- Interception chain dependent on context and
content, e.g., - Regulatory compliance
- Transaction value
Sign
Log
Message Processing Infrastructure
Service
Serialize
Reliable messaging
Encrypt
Authorize
Audit
Message Processing Infrastructure
Authenticate
Deserialize
28Agenda
- The Business Architecture behind SOA
- Patterns of Service-Oriented Solutions
- Challenges of Service Orientation
- A Platform for Connected Systems
- Tools for Connected Systems
- Call to Action
29Service-Oriented Analysis Issues
- Approach and methodology
- Entity identification
- Entity factoring
- Service identification
- Service factoring
- Process specification
- Endpoint identification
- Role mapping
- SLA specification
30Service Design Issues
- Schema definition
- Message definition
- Contract definition
- Message handling
- Process management
- Transaction model
- Operational compliance
- Exception handling
- Invocation and service agents
- Message to object mapping
- Interoperability
31Service Operations Issues
- Policy definition
- Security
- Access control
- Monitoring
- Management
- QoS and SLA enforcement
- Versioning
- Scalability
- Dealing with unreliability
- Exception routing
- Caching
- ...
32Agenda
- The Business Architecture behind SOA
- Patterns of Service-Oriented Solutions
- Challenges of Service Orientation
- A Platform for Connected Systems
- Tools for Connected Systems
- Call to Action
33Integrated Innovation
Integration Across Platforms
34Web Services Architecture
Application Structure
Devices
Mobile
P2P
EAI
B2B
Grid
Management
Business Process
...
Foundation
Security
Reliability
Transactions
Metadata
Messaging
XML
Transports
35Indigo
- A framework for developing connected systems
- Programming model
- Communications infrastructure
- Unifies programming and administration models for
- ASMX web services
- .NET Remoting
- .NET Enterprise Services
- Deep support for standard protocols
- WS-I Profile 1 (XML, XSD, SOAP, WSDL, UDDI)
- WS- protocols
36Indigo Architecture
Messaging Services
Service Model
Queuing
Instance Manager
Context Manager
TypeIntegration
ServiceMethods
DeclarativeBehaviors
TransactedMethods
Routing
Connector
Eventing
Channels (Datagram, Reliable, Peer, )
Policy Engine
Channel Security
Transport Channels (IPC, HTTP, TCP)
Message Encoder
System Services
Communications Manager (Port)
Transaction
Federation
Hosting Environments
37Indigo Messaging
- Standardized approach to reliable messaging
- Bridges the gap between diverse proprietary
protocols - Complex message routing
- Pipelines of services
- Rules-based response routing
- Run-time discovery
- Content- and context-sensitive endpoint selection
38Indigo Service Model
- Manages information fundamentals
- Validation against schemas
- Message-based security
- Produces trustable validated infoset
- Supports contextual metadata
- Conversational coordination
- Transactions
- Tunneling of ACID transactions
- Compensation-based transactions are a work in
progress
39Indigo Connectors
- Unifies model for diverse channels
- Datagram
- Reliable
- Peer-to-peer
- Abstracts transport complexity
- Enforces channel-sensitive policy
- Including transport-based security
40Agenda
- The Business Architecture behind SOA
- Patterns of Service-Oriented Solutions
- Challenges of Service Orientation
- A Platform for Connected Systems
- Tools for Connected Systems
- Call to Action
41A Crisis of Complexity
New Business Requirements
New Application Architecture
Evolving Platform Technology
42Scattered Concepts
?
Project Files and templates
Deployment Policies And Packages
.asmx files
.asmx code behinds
source code Statements and attributes
XML Configuration Files and schemas (e.g. WSDL
files)
43Replaced By A Holistic View
Web Service Framework
Project Files and templates
Deployment Policies And Packages
.asmx files
.asmx code behinds
source code Statements and attributes
XML Configuration Files and schemas (e.g. WSDL
files)
44Dynamic Systems Initiative
Create a definition of a new or existing System
Operate the System based on its definition
Resources Required
Operations Capabilities
Operational Policies
Automatically allocate and configure resources
using its definition
SDM Document
45System Definition Model Layers
46Whidbey DSI Designers
An application designer
A system hosting designer
A logical data center designer
47(No Transcript)
48Agenda
- The Business Architecture behind SOA
- Patterns of Service-Oriented Solutions
- Challenges of Service Orientation
- A Platform for Connected Systems
- Tools for Connected Systems
- Call to Action
49Embracing Services
- Think in terms of capabilities
- CoEs own capabilities
- Services provide access to excellence
- Value chains link capabilities
- Model information sets for collaboration
- Play your part in building the vocabulary
- Think about the complete information lifecycle
- Embrace protocol standardization
- Use extensibility mechanisms to address
organization-specific needs
50(No Transcript)