Presentation is loading. Please wait.

Presentation is loading. Please wait.

EMEA. 2 Aligning design, development and operational constraints in building complex IT systems. Gianpaolo Carraro Architect Developer and Platform Group.

Similar presentations


Presentation on theme: "EMEA. 2 Aligning design, development and operational constraints in building complex IT systems. Gianpaolo Carraro Architect Developer and Platform Group."— Presentation transcript:

1 EMEA

2 2 Aligning design, development and operational constraints in building complex IT systems. Gianpaolo Carraro Architect Developer and Platform Group Microsoft Europe, Middle East and Africa

3 EMEA 3 "What do you mean it doesn't run in production? It runs fine on my machine?!" — Anonymous developer

4 EMEA 4 Aligning constraints issues (example)  Develop software components  Meet functional requirements  Maintain servers and network  Meet operational requirements Application Development Team System Infrastructure Team Tension Deployment  They talk about:  Components  Services  Layers  They talk about:  Components  Services  Layers  They talk about:  Clusters, Farms  Firewalls  Load Balancing  They talk about:  Clusters, Farms  Firewalls  Load Balancing

5 EMEA 5 Summary  Building Service Oriented Applications is complex  Complexity is added due to interaction of (often) independent teams.  Modeling languages and visual tools:  have to potential to greatly reduce complexity  highly facilitate the alignment of design, development and operational constraints in building complex IT systems

6 EMEA 6  Building Service Oriented Applications is complex

7 EMEA 7 Automate business processes Value chains with partners Customer and supplier self service Improve ROI of IT Lower operating costs Cut time to market New Business Requirements

8 EMEA 8 New Application Architecture Automate business processes Improve ROI of IT Lower operating costs Cut time to market Value chains with partners Customer and supplier self service Service oriented architecture Web Services, messaging, contracts Security Caching and state management Deployment policies & constraints Heterogeneous platforms

9 EMEA 9 Evolving Platform Technology Automate business processes Improve ROI of IT Lower operating costs Cut time to market Value chains with partners Customer and supplier self service Service oriented architecture Messaging and protocols Security Caching and state management Deployment policies & constraints Heterogeneous platforms Application Servers and standards Schemas and databases Code and attributes Configuration files Project structures Physical server configurations

10 EMEA 10 Complexity Automate business processes Value chains with partners Customer and supplier self service Improve ROI of IT Lower operating costs Cut time to market Service oriented architecture Web Services, messaging, contracts Security Caching and state management Deployment policies & constraints Heterogeneous platforms Application servers & standards Schemas and databases Code and attributes Configuration files Project structures Physical server configurations ? ?

11 EMEA 11 Where Does Complexity Arise? ? ? package com.microsoftpearl circle.auction.auc tionmanager.busine ss.auctionmanager; import java.rmi.RemoteExc eption; import java.util.Vector; package com.microsoftpearl circle.auction.auc tionmanager.busine ss.auctionmanager; import java.rmi.RemoteExc eption; import java.util.Vector; High Level Concepts «entity» Auction + categoryUid : String + creditCardAccount : String + creditCardExpiration : Long + creditCardName : String + creditCardType : String + endTime : Long + itemUid : String + minimumBidIncrement : Float + sellerUid : String + startingPrice : Float + startTime : Long + status : String + timezoneUid : String + uid : String + setValues ( ) + getValues ( ) «entity» Bid + amount : Float + auctionUid : String + buyerUid : String + cancelExplanation : String + date : Long + status : String + uid : String «entity» Seller «entity» User + address : String + city : String + country : String + email : String + groupId : String + password : String + secretNumber : Integer + state : String + status : String + uid : String + userId : String + zip : String «entity» Buyer «entity» Credit Card + accountNumber : String + cardType : String + expirationDate : Long + nameOnCard : String + uid : String + userUid : String + setValues ( ) + getValues ( ) 11... 0..1 1 1..* «derived» 0..1 1 Low-level Implementation languages

12 EMEA 12 Abstraction Decreases Complexity Assembler, Pcode, CLR IL Bytecode or machine languages General Purpose Abstractions C#, Java, etc Domain Specific Abstractions Frameworks E.g. ASP.Net Domain Specific Frameworks

13 EMEA 13 Domain Specific Modeling Language (a definition)  Domain Specific Abstractions  Narrow Scope  Graphical  Highly Expressive  Coarse-grained abstractions  May be translated into  General purpose programming languages  Specific framework completion  Other modeling languages

14 EMEA 14  A “case study” building a “connected” system using with Web Services

15 EMEA 15 Where Does Complexity Arise? ? ? package com.microsoftpearl circle.auction.auc tionmanager.busine ss.auctionmanager; import java.rmi.RemoteExc eption; import java.util.Vector; package com.microsoftpearl circle.auction.auc tionmanager.busine ss.auctionmanager; import java.rmi.RemoteExc eption; import java.util.Vector; High Level Concepts Activities Messages Security Reuse Components Protocols High Level Concepts Activities Messages Security Reuse Components Protocols «entity» Auction + categoryUid : String + creditCardAccount : String + creditCardExpiration : Long + creditCardName : String + creditCardType : String + endTime : Long + itemUid : String + minimumBidIncrement : Float + sellerUid : String + startingPrice : Float + startTime : Long + status : String + timezoneUid : String + uid : String + setValues ( ) + getValues ( ) «entity» Bid + amount : Float + auctionUid : String + buyerUid : String + cancelExplanation : String + date : Long + status : String + uid : String «entity» Seller «entity» User + address : String + city : String + country : String + email : String + groupId : String + password : String + secretNumber : Integer + state : String + status : String + uid : String + userId : String + zip : String «entity» Buyer «entity» Credit Card + accountNumber : String + cardType : String + expirationDate : Long + nameOnCard : String + uid : String + userUid : String + setValues ( ) + getValues ( ) 11... 0..1 1 1..* «derived» 0..1 1 Low-level Implementation languages

16 EMEA 16.asmx files.asmx code behindssource code Statements and attributes XML Configuration Files and schemas (e.g. WSDL files) Project Files and templates Deployment Policies And Packages ? ? Scattered Concepts …

17 EMEA 17.asmx files.asmx code behindssource code Statements and attributes XML Configuration Files and schemas (e.g. WSDL files) Project Files and templates Deployment Policies And Packages …Replaced By A Holistic View Web Service Interaction DSL

18 EMEA 18 Need A Designer Infrastructure  For a specific aspect of overall development  Define a metamodel for the abstractions  Define a graphical notation  Define a synchronization engine

19 EMEA 19 Simplify Using DSLs Assess DesignImplement PlanRun Business IT StrategicObjectivesStrategicObjectives TechnologyArchitectureTechnologyArchitecture Business Processes and Entities Business Processes and Entities Logical Data Center Logical Physical servers and segments Services, Messages, Contracts, Schedules Services, Messages, Contracts, Schedules XML, Database, Classes, Code Code Manual Procedures Each work product can be a separate modeling language Mappings are defined between modeling languages

20 EMEA 20 What’s Inside A Viewpoint? Assess DesignImplement PlanRun Business IT StrategicObjectivesStrategicObjectives TechnologyArchitectureTechnologyArchitecture Business Processes and Entities Business Processes and Entities Logical Data Center Logical Physical servers and segments Services, Messages, Contracts, Schedules Services, Messages, Contracts, Schedules XML, Database, Classes, Code Code Manual Procedures DSLsPatternsProcessesFrameworksComponentsAspectsTransformsConstraints

21 EMEA 21 What’s Inside A Viewpoint? Assess DesignImplement PlanRun Business IT StrategicObjectivesStrategicObjectives TechnologyArchitectureTechnologyArchitecture Business Processes and Entities Business Processes and Entities Logical Data Center Logical Physical servers and segments Services, Messages, Contracts, Schedules Services, Messages, Contracts, Schedules XML, Database, Classes, Code Code Manual Procedures

22 EMEA 22 Example 1 Assess DesignImplement PlanRun Business IT StrategicObjectives TechnologyArchitecture Business Processes and Entities Business Processes and Entities Logical Data Center Logical Physical servers and segments Services, Messages, Contracts, Schedules Services, Messages, Contracts, Schedules XML, Database, Classes, Code Code Manual Procedures

23 EMEA 23 Dynamic Systems Initiative (DSI) Network Topology & Operating Systems Hardware System Definition Model Application Hosts Applications

24 EMEA 24 Whidbey Solutions… A logical data center designer An application designer Application Hosts Applications A system hosting designer System Definition Model

25 EMEA 25 Introducing codename Whitehorse

26 EMEA 26 A DSL In Use Today  Number 1 Design tool in the market!

27 EMEA 27

28 EMEA 28

29 EMEA 29

30 EMEA 30

31 EMEA 31 Demo (movie) From PDC Session: TLS345 ( available at http://sitestream.microsoft.com/pdc2003)

32 EMEA 32 Patterns, Aspects And Transforms  Web Interaction Patterns  Service Interface  Gateway  Façade  Logical System Architecture Patterns  MSA Patterns  IDC, EDC  Layered Architecture Patterns  Aspects  Transactions  Security  Transformations  Validate against deployment infrastructure  Transform into implementation artifacts

33 EMEA 33 Applying A Service Façade Pattern Policy Management Customer Management Customer Self-Service Service Facade Pattern Facade Messages Service Selected Messages Project Structures References Default XSD schemas Security Policy Access Policy Pass-thru Logic & Filters Customer Mgmt Facade

34 EMEA 34 Patterns Physical architecture Logical architecture

35 EMEA 35 Deployment patterns Architecture Design Implementation InfrastructureDeploymentApplicationData Simple Web Complex Web Rich client Extended enterprise 4-Tier3-Tier Tiered distribution Layeredservicesapplication Layered application Three-layeredapplication

36 EMEA 36 Deployment Plan Solution: Simple Web Application BC Clients DAC UIP UIC Data Sources Web Clients Web Application Farm Database Clusters

37 EMEA 37 Solution: Extended Enterprise Application BC Clients DAC UIP UIC Data Sources Web Clients Web Farm Database Clusters Application Farm SA SI Deployment Plan

38 EMEA 38 Solution: Smart Client Application Deployment Plan BC DAC UIP UIC Data Sources Smart Clients Web Farm Database Clusters Application Farm SA SI

39 EMEA 39 Aspect Weaving – Instrumentation Policy Management Customer Management Customer Self-Service Instrumentation Aspect Framework Call Structure Pointcut Code Aspect

40 EMEA 40 Making Use Of Metadata  Metadata collected in DSLs can be made available across the life cycle  Source control systems  Debuggers  Testing Tools  Compilers and language editors

41 EMEA 41 Enterprise Design Tools  Build an initial set of model-driven development tools supporting DSLs  Focused on specific development tasks  With hi-fidelity, continuously synchronized mappings to code or other models  Expand and integrate model data throughout life cycle tools  Productize and promote underlying tool-building frameworks and tools Goal: Simplify design and deployment of SOA’s

42 EMEA 42 DSL’s Supported  Rich support for designing and constructing connected applications from Web services  Designing WS for operational deployment  Logical infrastructure requirements considered early – inform and constrain developers  Verify application settings against logical infrastructure

43 EMEA 43 Review  Modeling languages can help reduce complexity  Domain-specific abstractions  Holistic view of scattered concepts  Modeling languages create “the link” among (i.e. align) constraints  Extensibility is very important  Implementing DSLs can be made effective with the right underlying engine  Microsoft is working to improve Web service design and deployment scenarios

44 EMEA 44 Further Information  Whitepapers on MSDN, Visual Studio Enterprise http://msdn.microsoft.com/vstudio/enterprise

45 EMEA Please complete your session feedback form THANK YOU


Download ppt "EMEA. 2 Aligning design, development and operational constraints in building complex IT systems. Gianpaolo Carraro Architect Developer and Platform Group."

Similar presentations


Ads by Google