SESSION CODE ARC 302 Architecting Your Enterprise with
- Slides: 31
SESSION CODE: ARC 302 Architecting Your Enterprise with Patterns Ulrich Roxburgh Services 2 Ltd.
Agenda Design Patterns What are Patterns? How do we use them Design using Patterns Creating the initial design Refinement Design Heuristics 3
Patterns in Nature 4
Patterns in Sport Football 5
Patterns in Business Convergence “In the Convergence pattern, competitors from previously distinct industries start competing to satisfy the requirements of a specific customer set. There are three distinct flavors of this pattern: product, in which product boundaries blur; supplier, in which suppliers become ‘one stop shops’; and complementor, in which companies combine to deliver greater value” - Profit Patterns, Adrian J. Slywotsky 6
What is a Pattern? “Mind sized” chunk of information about decisions Shows a good solution to a common problem within a specific context Patterns describe relationships Re-useable design element Common vocabulary for talking about a solution Not an implementation Mitigate technical risk 7
Patterns Literature ‘Gang of Four’ Design Patterns Integration Patterns Data Patterns Enterprise Application Patterns 8
Structure of a Pattern Name and Classification Intent: Goal behind the pattern Motivation (Forces): Problem and context in which this pattern can be used. Also Applicability. Structure: A graphical representation of the pattern. Participants: Classes and objects and their Collaboration: How classes and objects interact Consequences: A description of the results, side effects, and trade offs caused by using the pattern. 9
Enterprise Architecture - Patterns Enterprise Integration Patterns Database Application Deployment Infrastructure Architecture Business Architecture Design Integration Architecture Implementation üIntegration Architecture üApplication Architecture Enterprise Solution Patterns Database Application Operational Architecture Development Architecture Design Implementation 10 Deployment Infrastructure
Hierarchy of Patterns Architecture Design Implementation 11
Patterns in Layers Portal Integration Process Integration Entity Aggregation 12
Designing with Patterns Industry has used pattern-based design for decades. Design elements (patterns) are used to engineer Automobiles and aircraft Machine tools Applying pattern-based design to software promises predictability risk mitigation increased productivity. 13
Designing with Patterns Experience is still key! Known good mechanisms can be used to build Planes that do not fly Applications that do not scale. Applying patterns involves an iterative design process. As a guiding principle, you want to keep your design as "simple as possible and no simpler" Albert Einstein Do not use patterns just for the sake of using them. 14
What are Capabilities An abstract view of a business function – the WHAT Capabilities are hierarchical Capabilities are measurable and have properties Current performance Technology 15 Business value Processes Owners Maturity
Capabilities Mapping High-level example - Banking Business Value 16
Designing a Capability 1 - View/Change Address Details A. k. a “One Touch” or “One Customer View” Complexities Capability is the aggregation of multiple simple business services Some services are inherently asynchronous May require business rules to be executed May require transactional logic or compensation Has complex integration requirements 17
High Level Architecture Patterns View Address Details (Portal Integration) Database 18 Main frame Update Address Details (Process Integration) CRM Database Main frame CRM
Refine to Design Patterns 19
More refinement… Introduce a message broker to reduce inter-connections Use publish/subscribe to abstract interconnections 20
More refinement… Merge the two use-cases Introduce process integration. Why? Introduce asynchronous messaging 21
Baseline Implementation from Patterns Assume MS technology stack Implement using Biz. Talk Server and ASP. NET 22
Designing a Capability 2 - Self Service (View Financial Position) Complexities Capability is the aggregation of multiple simple business services Some services are external to our enterprise Some services are inherently asynchronous May require business rules to be executed May require transactional logic or compensation Has complex integration requirements 23
Business Process Login Get existing financial position Get customer profile and account balance Get list scheduled payments Combine information and display 24
Baseline Architecture from Patterns 25
Baseline Implementation from Patterns Biz. Talk ASP. NET and WCF 26
Baseline Deployment from Patterns 27
Patterns in other places… Composite User Interface patterns: Composite and Composite View Command Adapter Modularity patterns: Service Locator Event Aggregator Façade Testability patterns: Inversion of Control Separated Presentation 28
Interface Design Heuristics 29 Easy to Consume Interfaces that are as simple as possible Document centric rather than method centric Conforms to WS-I base profile Right Granularity Able to accomplish a business unit of work in a single call Reusable across many different contexts Models business processes rather than lower level functionality Easy To Version Easily extended with the addition of new parameters Don’t break clients when a new interface is defined Loosely Coupled Insulate the consumer from changes in the implementation Don’t require anything other than the schema and contract Don’t leak internal abstractions outside the service boundary
Design Heuristics 30 Interception services Build interception services that are shared by all services Pipelines are a common implementation mechanism Pipelines process both content and the context Composite Services Compose multiple distinct services into a new business process, Services are composed in a similar manner to objects Process Manager Provide an extra layer of abstraction by separating process from implementation Deal with Failure Provide robust exception handling for business processes Hand off to humans for complex exception handling Provide a mechanism to re-submit requests
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U. S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
- Arc promoteur vs arc investigateur
- Minor segment of a circle
- Major and minor arcs
- Arc emu88 com arc info 18 100018 html
- Enterprise session border controller
- Code commit code build code deploy
- Serve as your guide in managing your enterprise
- Putting the enterprise into the enterprise system
- Putting the enterprise into the enterprise system
- Arc code d'accès impotnet
- 7285 x 302
- What is a 302
- Mat 302 bmcc
- What is growth and development
- Eee 302
- Eee 302
- Eren outline
- Hino 302
- A rightward force of 302 n is applied
- Lesson 302
- Bus 302 csun materials
- 302 21
- Sta 302
- Nur 302
- Eee 302
- Rm-302
- Ceng 302
- Ceng 302
- Doa sabtu sunyi
- Pp 302
- Suprasil 311
- Nispom 1-302