Download presentation
Presentation is loading. Please wait.
Published byDarcy McDonald Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.