Presentation is loading. Please wait.

Presentation is loading. Please wait.

ARC400 Tools For Architects: Developing Service Oriented Systems Keith Short, Architect Visual Studio, Enterprise Tools Microsoft Corporation.

Similar presentations


Presentation on theme: "ARC400 Tools For Architects: Developing Service Oriented Systems Keith Short, Architect Visual Studio, Enterprise Tools Microsoft Corporation."— Presentation transcript:

1 ARC400 Tools For Architects: Developing Service Oriented Systems Keith Short, Architect Visual Studio, Enterprise Tools Microsoft Corporation

2 Visual Studio Team System Change ManagementWork Item TrackingReportingProject Site Visual Studio Team Foundation Integration ServicesProject Management Process and Architecture Guidance Visual Studio Industry Partners Dynamic Code Analyzer Visual Studio Team Architect Static Code AnalyzerCode ProfilerUnit TestingCode CoverageVisio and UML ModelingTeam Foundation ClientVS ProClass ModelingLoad TestingManual TestingTest Case ManagementApplication ModelingLogical Infra. ModelingDeployment Modeling Visual Studio Team Developer Visual Studio Team Test Application ModelingLogical Infra. Modeling Deployment ModelingClass Modeling

3 Development Teams Infrastructure Architect Solution Architect Project Manager Developer Tester End User

4 Main Points Building Service Oriented Applications can be a complex undertaking Improving frameworks and languages helps Modeling languages, tools and patterns have an important role to play We can avoid many past pitfalls

5 Agenda Complexity in connected systems Using modeling to reduce complexity Scenario 1 - web services and design for operations Scenario 2 – visualizing code Scenario 3 – implementing business processes Microsoft strategy and tools for Visual Studio 2005

6 Agenda Complexity in connected systems Using modeling to reduce complexity Scenario 1 - web services and design for operations Scenario 2 – visualizing code Scenario 3 – implementing business processes Microsoft strategy and tools for Visual Studio whidbey

7 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, contractsSecurity 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 ? ? New Business Requirements New Platform Technology Same Old ImplementationApproach

8 Building Software Today We still hand-stitch every application … Using low level programming constructs … Building every application as if it were the first of its kind …

9 Synthesis of Ideas Raising the level of Abstraction Modeling and domain specific languages Patterns and Frameworks Institutionalizing best practices Software Product Lines A context for systematic reuse Software component assembly Specification of contracts and software supply chains

10 Agenda Complexity in Connected Systems Using Modeling to Reduce Complexity Scenario 1 - Web Services and Design for Operations Scenario 2 – Visualizing Code Scenario 3 – Implementing Business Processes Microsoft Strategy and Tools for Visual Studio Whidbey

11 Abstraction Reduces Complexity Assembler, Pcode, CLR IL Bytecode or machine languages General Purpose Abstractions C#, Java, etc Domain Specific Abstractions

12 Telephone Billing Language call calendar month Call Record call length  base rate: £/s call length  friend discount rate: £/s store friends calls other calls - bill billing period store   + -

13  C(x) h    C(x)  t 2m  x  ih = – Modelling And Programming TextualPictorial Declarative Procedural class Magnox : NuclearPowerStation { public void dropRods () jo biscuits 24 green pat cakes 32 pink Employee name address promote Job description pay assign 0..* a>b && c==d call Call Record call length  base rate: £/s store 07713248

14 forms-centred applications build GUI from a collection of widgets Web database applications standard couplings between form and db string, textfile processing regexps, parsers, … (a,b,c)= str=~/ ]*)>/g; COTS applications Great Plains, SAP, Baan, … Where Are DSLs In Use Today?

15 Domain Specific Languages Encapsulate abstractions Narrow scope Graphical and/or textual Highly expressive Coarse-grained abstractions DSL patterns Must be cheap to implement using General purpose programming languages Specific framework completion Other modeling languages

16 Implementing DSLs

17 DSL And Framework Pattern CustomPartialClasses FrameworkPartialClasses FrameworkClasses Framework Config Files OtherFrameworkArtifacts uses uses completes FrameworkTools DSLEditor DSLDefinition generates OtherEditors edit / build generates

18 Agenda Complexity in connected systems Using modeling to reduce complexity Scenario 1 - web services and design for operations Scenario 2 – visualizing code Scenario 3 – implementing business processes Microsoft strategy and tools for Visual Studio Whidbey

19 .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 …

20 Issues Concept of Web service is “lost” among many files Developer must keep files in sync Refactoring engines ignorant of Web service concepts Can not process non-code files like schemas and config files Debugging, Intellisense, editors all ignorant of Web service concepts Source Control, Work Item, Tests all ignorant of Web Service concepts

21 .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 …A Holistic View Web Service Connectivity DSL

22 Services, Messages, Applications, Endpoints Services, Messages, Applications, Endpoints XML, Projects, DBs, Classes, Code XML, Projects, DBs, Classes, Code Physical servers & segments Deployment Units Deployment Units Abstraction/ Refinement packaged into deployed on

23 A DSL In Use Today

24

25 Web Service Connectivity Patterns Service Interface GatewayFaçade Layered Architecture AspectsTransactionsSecurityTransformations Validate against deployment infrastructure Transform into implementation artifacts

26 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

27 IT Operations doesn’t understand application requirements Development IT Operations Developers don’t understand operations policy Plan/Design DevelopmentTestingDeploymentOperations Challenges Span The IT Lifecycle

28 System Definition Model(Future) Development IT Operations Plan/Design DevelopmentTestingDeploymentOperations IT Operations doesn’t understand application requirements Developers don’t understand operations policy Challenges Span The IT Lifecycle

29 Increased communication and awareness (Today) Plan/Design DevelopmentTestingDeploymentOperations IT Operations Development IT Operations doesn’t understand application requirements Developers don’t understand operations policy Challenges Span The IT Lifecycle

30 Design For Operations Services, Messages, Applications, Endpoints Services, Messages, Applications, Endpoints XML, Projects, DBs, Classes, Code XML, Projects, DBs, Classes, Code Logical Data Center Logical Data Center Physical servers & segments Deployment Units Deployment Units Abstraction/ Refinement Abstraction/ Refinement Constraints packaged into deployed on

31

32

33

34 Logical DataCenter Logical system architecture patterns “Hardened IIS” – metabase settings MSA patterns Idc, edc Tiered architecture patterns Aspects Firewall settings Protocol settings Transformations Validate against web service application design Transform into implementation SDM

35 Agenda Complexity in connected systems Using modeling to reduce complexity Scenario 1 - web services and design for operations Scenario 2 – visualizing code Scenario 3 – implementing business processes Microsoft strategy and tools for Visual Studio Whidbey

36 Code Visualization Services, Messages, Applications, Endpoints Services, Messages, Applications, Endpoints XML, Projects, DBs, Classes, Code XML, Projects, DBs, Classes, Code Logical Data Center Logical Data Center Physical servers & segments Deployment Units Deployment Units Abstraction/ Refinement Abstraction/ Refinement Constraints packaged into deployed on

37

38 Agenda Complexity in connected systems Using modeling to reduce complexity Scenario 1 - web services and design for operations Scenario 2 – visualizing code Scenario 3 – implementing business processes Microsoft strategy and tools for Visual Studio Whidbey

39 DSL-To-DSL Mappings Services, Messages, Applications, Endpoints Services, Messages, Applications, Endpoints XML, Projects, DBs, Classes, Code XML, Projects, DBs, Classes, Code Logical Data Center Logical Data Center Physical servers & segments Deployment Units Deployment Units Abstraction/ Refinement Abstraction/ Refinement Constraints packaged into deployed on Business Processes and Entities Business Processes and Entities Abstraction/ Refinement Reconciliation

40 Business Process Implementation Business Process ImplementationPatterns Scheduled Process Scheduled Process Event-based Process Event-based Process User Process User Process Rules Process Rules Process Content Patterns New Employee New Employee Orders to Cash Orders to Cash

41 A Software Schema BusinessCapabilitiesBusinessCapabilities ManualProceduresManualProcedures TechnologyArchitectureTechnologyArchitecture Constraints Reconciliation Services, Messages, Applications, Endpoints Services, Messages, Applications, Endpoints XML, Projects, DBs, Classes, Code XML, Projects, DBs, Classes, Code Logical Data Center Logical Physical servers & segments DeploymentUnitsDeploymentUnits Abstraction/Refinement Constraints packaged into deployed on Business Processes and Entities Business Processes and Entities Reconciliation Abstraction/Refinement DSLsPatternsProcessesFrameworksComponentsTransformsConstraints Test Cases etc.

42 Recipes Build Families Of Applications Each Software Schema describes commonalities and variabilities The assets are grouped together and form the software template within Visual Studio Variabilities are configured using a variety of mechanisms to produce a member of the family Software Schema for.Net eCommerce Software Schema for.Net Marketing Apps BusinessCapabilitiesBusinessCapabilities ManualProceduresManualProcedures TechnologyArchitectureTechnologyArchitecture Constraints Reconciliation Services, Messages, Applications, Endpoints Services, Messages, Applications, Endpoints XML, Projects, DBs, Classes, Code XML, Projects, DBs, Classes, Code Logical Data Center Logical Physical servers & segments DeploymentUnitsDeploymentUnits Abstraction/Refinement Constraints packaged into deployed on Business Processes and Entities Business Processes and Entities Reconciliation Abstraction/Refinement BusinessCapabilitiesBusinessCapabilities ManualProceduresManualProcedures TechnologyArchitectureTechnologyArchitecture Constraints Reconciliation Services, Messages, Applications, Endpoints Services, Messages, Applications, Endpoints XML, Projects, DBs, Classes, Code XML, Projects, DBs, Classes, Code Logical Data Center Logical Physical servers & segments DeploymentUnitsDeploymentUnits Abstraction/Refinement Constraints packaged into deployed on Business Processes and Entities Business Processes and Entities Reconciliation Abstraction/Refinement

43 Agenda Complexity in connected systems Using modeling to reduce complexity Scenario 1 - web services and design for operations Scenario 2 – visualizing code Scenario 3 – implementing business processes Microsoft Strategy and Tools for Visual Studio Whidbey

44 UML And DSLs Tools render metamodel as defined by OMG Multiple, inter-twined sub-languages, defined by committee Extended partially using stereotypes and tags Syntax and Semantics defined by OMG committee Limited range of diagram styles Based on MOF – implementations in Java Engine can render any metamodel including UML Each DSL is defined using core model and focused on specific development task Directly extended with new types and associations Syntax and Semantics defined by language users No limits, though often based on template Small core model – implementation in CLR UMLDSL Approach

45 Visual Studio 2005 Team Architect DSLs for precise development Simplify design and deployment for SOA Designing and constructing connected applications from Web services Verify application settings against logical datacenter Code Visualization UML tools for documentation and drawing

46 Need A Designer Framework For a specific domain it must … Define a metamodel for the abstractions Define a graphical notation Define how a synchronization engine should work with related artifacts Define constraints between artifacts Be extensible

47 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

48 Team Architect Key Messages Reduces complexity Visual design for SOAs Facilitates communication Design for operations Bridges the communication gap between application development and IT operations Enables a vibrant partner ecosystem Extensions to the modeling surface

49 Further Information Whitepapers on MSDN, Visual Studio Enterprise http://msdn.microsoft.com/vstudio/enterpriseBloghttp://blogs.msdn.com/keith_short Article by Steve Cook from Enterprise Tools Architect Team http://www.bptrends.com/publicationfiles/01- 04%20COL%20Dom%20Spec%20Modeling%20Frankel- Cook.pdf http://www.bptrends.com/publicationfiles/01- 04%20COL%20Dom%20Spec%20Modeling%20Frankel- Cook.pdf Patterns and Practices on MSDN http://msdn.microsoft.com/practices/type/patterns/

50 Team System Sessions DayTimeSessionTopic Tuesday10:30DEV200 General Session: Team System Tuesday12:15DEVPNL2 Visual Studio Team System Partners Tuesday1:30 DEV 300 Project Management Tuesday1:30 ARC 304 Bridging the Gap Between IT and Dev Tuesday3:15 ARC 400 Developing SOAs Wednesday8:30 DEV 301 Software Testing Thursday1:30 DEV 302 Advanced Development Thursday3:15 DEV 303 Enterprise-Class Source Control Friday9:00 ARC 312 Designing for Deployment Friday12:15DEVPNL5 Implementing Software Processes http://msdn.microsoft.com/vstudio/enterprise

51 Assess your skills Take an eLearning course Subscribe to Microsoft TechNet Get the latest information on IT Pro and Developer Books to purchase online or at your local bookstore Find the course right for you and a Microsoft Certified Partner for Learning Solutions in your area Learn about the Microsoft certifications that can enable and advance your career www.microsoft.com/learning Learn more; Go Further Knowledge Needed; Knowledge Applied

52 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.


Download ppt "ARC400 Tools For Architects: Developing Service Oriented Systems Keith Short, Architect Visual Studio, Enterprise Tools Microsoft Corporation."

Similar presentations


Ads by Google