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

Slides:



Advertisements
Similar presentations
Michael S. Chan xLM Solutions, LLC
Advertisements

Achieving Success With Service Oriented Architecture Derek Ireland 17th March, 2005.
Distributed components
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Technical Architectures
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
Visual Studio 2005 Team System: Tools for Architecture: Designing for Deployment Ajay Sudan Microsoft Corporation
DEV365 Visual Studio Team Edition for Software Architects: Overview Alex Torone Lead Program Manager Enterprise Tools Microsoft Corporation.
Enterprise Solutions BITEC: Business Integration Platform
Discover, Master, InfluenceSlide 1 SQL Server Compact Edition and the Entity Framework Rob Sanders Readify.
® IBM Software Group © IBM Corporation IBM Information Server Service Oriented Architecture WebSphere Information Services Director (WISD)
Microsoft Architects Forum 1 Software Factories : Assembling Applications with Patterns, Models, Frameworks and Tools Steve Cook Software Architect Enterprise.
Chapter 6– Artifacts of the process
SOA – Development Organization Yogish Pai. 2 IT organization are structured to meet the business needs LOB-IT Aligned to a particular business unit for.
SOA, BPM, BPEL, jBPM.
Creating Business Workflow Using SharePoint Designer 2007 Presented by Tarek Ghazali IT Technical Specialist Microsoft SQL Server MVP Microsoft SQL Server.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Training Workshop Windows Azure Platform. Presentation Outline (hidden slide): Technical Level: 200 Intended Audience: Developers Objectives (what do.
Introduction to distributed systems Dr. S. Indran 23 January 2004.
© 2007 by «Author»; made available under the EPL v1.0 | Date | Other Information, if necessary Eclipse SOA Tools Platform Project Eric Newcomer IONA Technologies.
CST203-2 Database Management Systems Lecture 2. One Tier Architecture Eg: In this scenario, a workgroup database is stored in a shared location on a single.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
Domain-Specific Development Stuart Kent, Senior Program Manager, DSL Tools, Visual Studio Team System, Microsoft.
ARC400 Tools For Architects: Developing Service Oriented Systems Keith Short, Architect Visual Studio, Enterprise Tools Microsoft Corporation.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Encapsule Systems Reducing Software Development Costs.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Visual Studio 2005 Team Edition for Software Architects: Developing Service-Oriented Systems Bill Gibson Senior Program Manager Enterprise Tools Microsoft.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Microsoft Australia Security Summit Design for Operations Nigel Watson, Microsoft Australia David Lemphers, TeamForce Nigel Watson, Microsoft Australia.
Introduction to soarchitect. agenda SOA background and overview transaction recorder summary.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
Java EE Patterns Dan Bugariu.  What is Java EE ?  What is a Pattern ?
Rahul Garg National Technology Specialist Microsoft Australia SOA303.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
Software Factories : Assembling Applications with Patterns, Models, Frameworks and Tools Steve Cook Architect Visual Studio.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft.
EBIZ302 Jupiter Business Process Automation and Web Services David Fong Program Manager.
Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
Demystifying Domain Specific languages & Software Factories Govind Kanshi Architect Advisor Microsoft Corporation.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Software Factories: Assembling Applications with Patterns, Models, Frameworks and Tools Jack Greenfield Architect Enterprise Tools Microsoft Corporation.
IBM Proof of Technology Discovering the Value of SOA with WebSphere Process Integration © 2005 IBM Corporation SOA on your terms and our expertise WebSphere.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
The best of WF 4.0 and AppFabric Damir Dobric MVP-Connected System Developer Microsoft Connected System Division Advisor Visual Studio Inner Circle member.
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
Business Applications– Using Java _____ Presented by Priya Saha.
Enterprise Library 3.0 Memi Lavi Solution Architect Microsoft Consulting Services Guy Burstein Senior Consultant Advantech – Microsoft Division.
Slide 1 © 2016, Lera Technologies. All Rights Reserved. Oracle Data Integrator By Lera Technologies.
Software Factories Steve Cook Architect Enterprise Tools, Visual Studio Microsoft Corporation.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
Building Enterprise Applications Using Visual Studio®
CIM Modeling for E&U - (Short Version)
Chapter 2 Database Environment Pearson Education © 2009.
Service-centric Software Engineering
Database Environment Transparencies
Modeling & Messaging for Connected Systems
An Introduction to Software Architecture
LitwareHR v2: an S+S reference application
DAT381 Team Development with SQL Server 2005
Saranya Sriram Developer Evangelist | Microsoft
Jochen Seemann Program Manager Enterprise Tools Microsoft Corporation
Delivering great hardware solutions for Windows
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

EMEA

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

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

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

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

EMEA 6  Building Service Oriented Applications is complex

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

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

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

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 ? ?

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 + 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 ( ) * «derived» Low-level Implementation languages

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

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

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

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 + 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 ( ) * «derived» Low-level Implementation languages

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 …

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

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

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

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

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

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

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

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

EMEA 25 Introducing codename Whitehorse

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

EMEA 27

EMEA 28

EMEA 29

EMEA 30

EMEA 31 Demo (movie) From PDC Session: TLS345 ( available at

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

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

EMEA 34 Patterns Physical architecture Logical architecture

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

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

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

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

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

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

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

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

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

EMEA 44 Further Information  Whitepapers on MSDN, Visual Studio Enterprise

EMEA Please complete your session feedback form THANK YOU