Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
What We Do: A Real Framework for a Service Oriented World Methods – Solution Architecture Joel Jeffery, Capgemini Agenda • Background • Focus on Frameworks • Futures Background • Why we do it • What we do • Where we’re going with it Why We Do It Reduce Project Start-Up Costs Achieve Quantifiable Reuse De-Risk On Shore and Off Shore Projects Get to the Fun Bit Quicker What We Do • Capgemini Integrated Architecture Framework (IAF) • Enterprise and Solution Architectural Patterns • ZIFA / Zachman • TOGAF • Model Driven Architecture (MDA) • Schema First Design • Domain Specific Language • Frameworks and Code Generation • Capgemini Development and Architectural Framework (CDAF) • Capgemini Message Service Helper Framework (MeSH) Where We’re Going With It CDAF Roadmap Today 2001 Call Centre Apps 2003 Workflow Engines 2002 eForms Renderers 2002 2003 2005 CDAF v3 2004 CDAF v1 2004 2005 2005 MeSH 2006 2007 UI Generation: Web, Desktop, Infopath 2007 Enterprise DSL for VS.NET Smart Client Web Accellerator Baseline Architecture 2006 Toolkit Integration 2005 2007 2003 - 2008 Open Source Tools CDAF Toolset 2006 Focus on Frameworks • Capgemini Integrated Architecture Framework (IAF) • Capgemini Development and Architectural Framework (CDAF) • Capgemini Messaging Framework (MeSH) Capgemini Integrated Architecture Framework (IAF) Integrated Architecture Framework, version 3.9, Copyright © 2000-2006 Capgemini CDAF Architectural Reference Model Cross Layer .NET Smart Client Presentation/Service Layer No (GU)I Primitives! (User) Interface Stateful ASPX (User) Interface Process For Use Case #1, #3 Validation Rules Validation Component Static Validation Rules Use Case #3 Security Use Case #2 For Use Case #1, #2 Business Layer Communications Use Case #1 Logging and Exception Handling Pages Business Process Static Business Component Validation Component Data Transfer Object Data Transfer Objects Stateful Management Data Abstraction Layer Business Entity Helper Business Controlled Transaction Data Application Block (SQL Helper) web.config/app.config No Lazy Layering! Data Store Database Database Database CDAF Architectural Reference Model, version 3.0, Copyright © 2003-2006 Capgemini N-Tier Scenario Presentation Presentation Tier Middle Data Middle Tier Cross Layer Presentation Layer Data Tier Cross Layer Service Layer User Interface Interface User Interface Process Interface Process Data Transfer Objects Data Transfer Object Management Data Abstraction Layer Security Validation Component Database Validation Rules Business Component Business Layer Communications Business Process Logging and Exception Handling Security Validation Rules Communications Logging and Exception Handling Business Layer Business Process Business Component Validation Component Data Transfer Objects Data Transfer Object Management Data Abstraction Layer Business Entity Helper Business Controlled Transaction Business Entity Helper Data Application Block (SQL Helper) Façade Data Application Block (SQL Helper) Data Store Database Data Store Business Controlled Transaction Database Database ESB Scenario Desktop Presentation Tier Cross Layer Presentation Layer User Interface User Interface Process Security Validation Rules Communications Logging and Exception Handling Business Layer Business Process Business Component Validation Component Data Transfer Objects Data Transfer Object Management Data Abstraction Layer Business Entity Helper Business Controlled Transaction Data Application Block (SQL Helper) Façade Data Store Database Enterprise Service Bus Service Service Cross Layer Service Cross Layer Service Layer Service Layer Cross Layer Service Layer Interface Interface Interface Interface Process Interface Process Interface Process Façade Database Service #1 Data Transfer Objects Data Transfer Object Management Data Abstraction Layer Business Entity Helper Data Application Block (SQL Helper) Data Store Business Controlled Transaction Façade Database Service #2 Security Business Controlled Transaction Validation Component Validation Rules Business Entity Helper Data Application Block (SQL Helper) Data Store Business Component Business Layer Communications Data Abstraction Layer Business Process Logging and Exception Handling Data Transfer Objects Data Transfer Object Management Security Validation Component Validation Rules Business Component Business Layer Communications Business Process Logging and Exception Handling Security Validation Rules Communications Logging and Exception Handling Business Layer Business Process Business Component Validation Component Data Transfer Objects Data Transfer Object Management Data Abstraction Layer Business Entity Helper Data Application Block (SQL Helper) Data Store Business Controlled Transaction Façade Database Service #3 Capgemini MeSH - Messaging Framework • Abstracts away WSE or WCF • Simple interface • Chained together • Composable at Deploy Time (.config) • Top of the 'CDAF Stack' for Services Capgemini MeSH – Chain of Responsibility • Implemented with the 'Chain of Responsibility' pattern • Definition (GoF) – • 'Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request. Chain the receiving objects and pass the request along the chain until an object handles it.' Client Handler ConcreteHandlerA ConcreteHandlerB successor Capgemini MeSH – Pipes and Filters • Based on the Pipes and Filters pattern • See 'Enterprise Integration Patterns' • By Gregor Hohpe & Bobby Woolf - Addison Wesley • Definition – • 'Use the Pipes and Filters architectural style to divide a larger processing task into a sequence of smaller, independent processing steps (Filters) that are connected by channels (Pipes).' 1 2 2 3 1 3 1 Pipe Decrypt filter 1 3 2 Pipe Authenticate 123 filter Pipe De-Dupe filter Pipe CDAF v4.0 Tools - Screenshot Generated Code Inferred Schema Template View Template Settings Where We’re Going With It • Visual Studio 2005 Integration • Domain Specific Language (DSL) • Entity Definition • Builds Database, DAL, CRUD Screens • UI Generation • Web Application • Desktop Application • Infopath Interoperability • Smart Client Baseline Architecture Toolkit Integration Special Thanks • Drew Jones • James Speer • Alan Greensill • Simon Ince • Paul Good • Jon Harper • Mario Ribeiro Contact • mailto:[email protected] • MSN:[email protected] • tinyurl.com/p6sbu CDAF Press Release • tinyurl.com/rzcxb Capgemini IAF and SOA