Aligning design, development and operational constraints in building complex IT systems' - PowerPoint PPT Presentation

1 / 45
About This Presentation
Title:

Aligning design, development and operational constraints in building complex IT systems'

Description:

Aligning design, development and operational constraints in ... city : String country : String email : String groupId : String password : String ... – PowerPoint PPT presentation

Number of Views:28
Avg rating:3.0/5.0
Slides: 46
Provided by: clemens7
Category:

less

Transcript and Presenter's Notes

Title: Aligning design, development and operational constraints in building complex IT systems'


1
(No Transcript)
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
"What do you mean it doesn't run in production?
It runs fine on my machine?!"
Anonymous developer
4
Aligning constraints issues (example)
System Infrastructure Team
Application Development Team
Tension
  • Develop software components
  • Meet functional requirements
  • Maintain servers and network
  • Meet operational requirements

Deployment
  • They talk about
  • Components
  • Services
  • Layers
  • They talk about
  • Clusters, Farms
  • Firewalls
  • Load Balancing

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
  • Building Service Oriented Applications is complex

7
New Business Requirements
Automate business processes Value chains with
partners Customer and supplier self service
Improve ROI of IT Lower operating costs Cut time
to market
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
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
Application Servers and standards Schemas and
databases Code and attributes Configuration
files Project structures Physical server
configurations
Service oriented architecture Messaging and
protocols Security Caching and state
management Deployment policies
constraints Heterogeneous platforms
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
Where Does Complexity Arise?
entity
entity
0..1
User
Credit Card
1
address String
accountNumber String
city String
cardType String
country String
expirationDate Long
email String
nameOnCard String
groupId String
uid String
password String
userUid String
secretNumber Integer
1..
state String
setValues ( )
status String
getValues ( )
uid String
userId String
1
  • High Level Concepts

zip String
derived
entity
entity
Seller
Buyer
1
1...
entity
entity
Auction
Bid
categoryUid String
amount Float
creditCardAccount String
auctionUid String
creditCardExpiration Long
buyerUid String
0..1
creditCardName String
cancelExplanation String
creditCardType String
date Long
endTime Long
status String
itemUid String
uid String
minimumBidIncrement Float
sellerUid String
startingPrice Float
startTime Long
status String
timezoneUid String
uid String
setValues ( )
getValues ( )
?
  • Low-level Implementation languages

package com.microsoftpearlcircle.auction.auctionma
nager.business.auctionmanager import
java.rmi.RemoteException import java.util.Vector
12
Abstraction Decreases Complexity
  • General Purpose Abstractions

C, Java, etc
  • Bytecode or machine languages

Assembler, Pcode, CLR IL
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
  • A case study building a connected system
    using with Web Services

15
Where Does Complexity Arise?
entity
entity
0..1
User
Credit Card
1
address String
accountNumber String
city String
cardType String
country String
expirationDate Long
email String
nameOnCard String
groupId String
uid String
password String
userUid String
secretNumber Integer
1..
  • High Level Concepts
  • Activities
  • Messages
  • Security
  • Reuse
  • Components
  • Protocols

state String
setValues ( )
status String
getValues ( )
uid String
userId String
1
zip String
derived
entity
entity
Seller
Buyer
1
1...
entity
entity
Auction
Bid
categoryUid String
amount Float
creditCardAccount String
auctionUid String
creditCardExpiration Long
buyerUid String
0..1
creditCardName String
cancelExplanation String
creditCardType String
date Long
endTime Long
status String
itemUid String
uid String
minimumBidIncrement Float
sellerUid String
startingPrice Float
startTime Long
status String
timezoneUid String
uid String
setValues ( )
getValues ( )
?
package com.microsoftpearlcircle.auction.auctionma
nager.business.auctionmanager import
java.rmi.RemoteException import java.util.Vector
  • Low-level Implementation languages

16
Scattered Concepts
?
Project Files and templates
Deployment Policies And Packages
.asmx files
.asmx code behinds
source code Statements and attributes
XML Configuration Files and schemas (e.g. WSDL
files)
17
Replaced By A Holistic View
Web Service Interaction DSL
Project Files and templates
Deployment Policies And Packages
.asmx files
.asmx code behinds
source code Statements and attributes
XML Configuration Files and schemas (e.g. WSDL
files)
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
Simplify Using DSLs
Strategic Objectives
Manual Procedures
Business
Business Processes and Entities
Services, Messages, Contracts, Schedules
XML, Database, Classes, Code
Technology Architecture
Logical Data Center
IT
20
Whats Inside A Viewpoint?
Strategic Objectives
Manual Procedures
Business
Business Processes and Entities
Services, Messages, Contracts, Schedules
XML, Database, Classes, Code
Technology Architecture
Logical Data Center
IT
21
Whats Inside A Viewpoint?
Strategic Objectives
Manual Procedures
Business
Business Processes and Entities
Services, Messages, Contracts, Schedules
XML, Database, Classes, Code
Technology Architecture
Logical Data Center
IT
22
Example 1
Strategic Objectives
Manual Procedures
Business
Business Processes and Entities
Services, Messages, Contracts, Schedules
XML, Database, Classes, Code
Technology Architecture
Logical Data Center
IT
23
Dynamic Systems Initiative (DSI)
24
Whidbey Solutions
An application designer
A system hosting designer
A logical data center designer
25
  • Introducing codename Whitehorse

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

27
(No Transcript)
28
(No Transcript)
29
(No Transcript)
30
(No Transcript)
31
Demo (movie)
From PDC Session TLS345(available at
http//sitestream.microsoft.com/pdc2003)
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
Applying A Service Façade Pattern
Service
Project Structures References Default XSD
schemas Security Policy Access Policy Pass-thru
Logic Filters
Policy Management
Selected Messages
Customer Management
Customer Self-Service
34
Patterns
35
Deployment patterns
36
Deployment Plan
Solution Simple Web Application
Database Clusters
Web Clients
Web Application Farm
DAC
UIC
Data Sources
BC
UIP
Clients
37
Deployment Plan
Solution Extended Enterprise Application
Database Clusters
Web Clients
Web Farm
Application Farm
DAC
BC
UIP
UIC
Data Sources
Clients
SA
SI
38
Deployment Plan
Solution Smart Client Application
Database Clusters
Smart Clients
Web Farm
Application Farm
DAC
BC
UIP
UIC
Data Sources
SI
SA
39
Aspect Weaving Instrumentation
Pointcut
Aspect
Policy Management
Pointcut
Code
Pointcut
Customer Management
Aspect
Pointcut
Pointcut
Customer Self-Service
Pointcut
Aspect
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
Enterprise Design Tools
Goal Simplify design and deployment of SOAs
  • 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

42
DSLs 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
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
Further Information
  • Whitepapers on MSDN, Visual Studio
    Enterprisehttp//msdn.microsoft.com/vstudio/enter
    prise

45
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com