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