Daniel Fisher
daniel.fisher@devcoach.de
Software Architect | CTO
devcoach®
Michael Willers
michael.willers@devcoach.de
Software Architect | CTO
devcoach®
 Experts each with 10+ years experience
 Development
 Architecture
 Consulting & Coaching
 Community activists
 Annual Software Developer Community Event
 Deep knowledge and skills on
 Service Orientation & Agile Methods
 Web & Data access
 Security & Deployment
 Real Projects – Not just cool demos!
Setting objectives
A walk through
An outlook
Summary
You want to build a house…
You hire a software architect…
You discuss requirements…
Prototyping…
Sorry, not much to show you right now…
Prototyping…
You wanna see some UML diagrams?
Prototyping…
But trust me – it’s going to be great!
The Result…
12 months later…
Static Structure
„Point of no return“ due to late „visual“ results
No adjustments during the project
Result: You buy the black box
Human failure
DRY: Don‘t repeat yourself (e.g. Writing a DAL)
More code means more bugs 
Result: Errors occur „by design“
Model
Your Business Requirements
To describe capabilities
To enable your software to solve business problems
Your Application
To match capabilites
To enable „design for change“
Your Development
To have a structure
To enable adjustments often an early if nessecary
Your Operations
To identify application health
To enable immediate response on issues
...think up in front!
Before you start modeling it is a must to think
through the domain and understand the
context!!!
If you only understand parts of it, think of it
again!!!
Adjust your mind setting from time to time ;-)
Mobile Phones
Mobile Computing
Various Form Factors
Branch
Networks
Wireless
Access
ERP
System
Public
Web Portal
Intranet
Portal
Client
Applications
CRM
System
Custom
Systems
Custom
Systems
Custom
Systems
From Towards
Loosely-coupled resources provide
services which are designed to
interact with each other
You have to be very agile
Aggregating foreign content
Switching business partners
Your operational costs explode
Complex systems are complex to manage
A new host system is not an option
You start small and fast grow is obvious
Almost every sucessful web site
Your business model rocks!
Clerk knows
what’s next
Decisions
influence next
step and
destination
Steps triggered
by input, yield
outputDept A
Dept Q
Dept T
devcoach® SOA3
Define Tasks
Devide a huge package of work into smaller units
aka Services
Build Interfaces
Describe capabilities and data of a task
aka Service Contract
Create Interaction
Describe how tasks act in combination
aka Workflow
BlueBooks – Yet another book store?
Feature Driven Development
Create a Project Vision and Personas
What is the project all about and who will use it
Define Modules
Devide a huge package into smaller units
E.g. a Service
Define Features
Describe capabilities of a module
E.g.: Business capabilities of a service
Define Tasks
Describe the steps needed to implement a feature
Project Organization using TFS
devcoach ® Feature Driven Development
Business
Requirements
Functional
Specification
Solution Design
Non-Functional
Specification
Operations
Design
Infrastructure
Design
The application is slow or not very
responsive
The typical answer:
+ +
The Result:
x
Deployment
Patch Management
Backup
Troubleshooting
Guides adding the RIGHT instrumentation and
ONLY the instrumentation your application needs
Allows your IT Operations to identify and sovle
issues BEFORE your customer calls in
Application, Component,
Service or Dependency
Example:
Transport Order Application
Transport Web Service
Warehouse Management
Application
Arranged into a Logical
Hierarchy
Shipping Service
Transport Order
Application
Warehouse
Management
Application
Transport
Web Service
Part of a Module that
an administrator would
want to monitor
Can only be in one
health state at a time
(e.g. green, yellow, red)
Example:
Configuration
Database
Security
General Functionality
Transport Order
Application
Configuration
Database
Security
General Functionality
Car
Engine
Transmission
Fuel
Mirrors
State of a Feature
Green – Aspect Functioning Normally
Yellow – Aspect is partially functioning but
at some degraded level
Red – No Service is being provided by this
Aspect
Detectors
Indicate the State of an Aspect
Performance Counters
Windows Events
Absence of Event
Example:
Event ID 24 = Server Not Found
Event ID 24 occurs
What impact does a Feature
have on its Module?
What impact does a Module
have on its Parent?
Example:
Because the connectivity of the
Web Service is Red, the impact
on the Transport order
Application is also Red.
However, the impact on the
Shipping Service is only yellow
because the Warehouse
Management Application is
green
Shipping Service
Transport Order
Application
Warehouse
Management
Application
Transport
Web Service
<<Feature>>
Data Access
<<Feature>>
Data Access
<<Feature>>
Connectivity
<<Feature>>
Data Access
Car
Engine
Transmission
Fuel
Generate event logs for deployment!
Building applications by assembling existing
building blocks (aka services)
Over the internet
For end users (simplicity)
We see Microsoft Popfly as a kind of
Preview for future technologies
Building Applications with Popfly
Business today means being agile
Agility results in distributed computing
The nature of distributed computing requires
new kind of tools
Designing and Building
Deployment and Operations
Modeling and code generation is the next level
XAML will be a first class citizen
OSLO will be Microsoft‘s answers for these
challenges?
Software em versão completa para avaliação
2 incidentes de suporte gratuito profissional
Acesso antecipado às versões beta
software exclusivo: Capacity Planner
actualizações de segurança e service packs
formação gratuita ….e muito mais.
www.microsoft.com/portugal/technet/subscricoes
Software em versão completa para avaliação
Suporte técnico 24x7 para incidentes
Acesso antecipado às versões beta
Microsoft Office
Software Assurance
formação gratuita ….e muito mais.
www.microsoft.com/portugal/msdn/subscricoes
www.microsoft.com/learning
Complete o questionário de
avaliação e devolva-o no balcão
da recepção…
…e habilite-se a ganhar 1 percurso de
certificação por dia! Oferecido por:
…e habilite-se a ganhar 1 percurso de
certificação MCTS por dia! Oferecido por:
…e habilite-se a ganhar 1 curso e exame por
dia! Oferecido por:
© 2008 Microsoft Corporation. Todos os direitos reservados.
Esta apresentação destina-se apenas a fins informativos.
A MICROSOFT NÃO FAZ GARANTIAS, EXPRESSAS OU IMPLÍCITAS NESTA APRESENTAÇÃO.

2008 - TechDays PT: Modeling and Composition for Software today and tomorrow

  • 1.
    Daniel Fisher daniel.fisher@devcoach.de Software Architect| CTO devcoach® Michael Willers michael.willers@devcoach.de Software Architect | CTO devcoach®
  • 2.
     Experts eachwith 10+ years experience  Development  Architecture  Consulting & Coaching  Community activists  Annual Software Developer Community Event  Deep knowledge and skills on  Service Orientation & Agile Methods  Web & Data access  Security & Deployment  Real Projects – Not just cool demos!
  • 3.
    Setting objectives A walkthrough An outlook Summary
  • 4.
    You want tobuild a house… You hire a software architect… You discuss requirements…
  • 5.
    Prototyping… Sorry, not muchto show you right now…
  • 6.
    Prototyping… You wanna seesome UML diagrams?
  • 7.
    Prototyping… But trust me– it’s going to be great!
  • 8.
  • 9.
    Static Structure „Point ofno return“ due to late „visual“ results No adjustments during the project Result: You buy the black box Human failure DRY: Don‘t repeat yourself (e.g. Writing a DAL) More code means more bugs  Result: Errors occur „by design“
  • 10.
    Model Your Business Requirements Todescribe capabilities To enable your software to solve business problems Your Application To match capabilites To enable „design for change“ Your Development To have a structure To enable adjustments often an early if nessecary Your Operations To identify application health To enable immediate response on issues
  • 11.
    ...think up infront! Before you start modeling it is a must to think through the domain and understand the context!!! If you only understand parts of it, think of it again!!! Adjust your mind setting from time to time ;-)
  • 12.
    Mobile Phones Mobile Computing VariousForm Factors Branch Networks Wireless Access ERP System Public Web Portal Intranet Portal Client Applications CRM System Custom Systems Custom Systems Custom Systems
  • 13.
    From Towards Loosely-coupled resourcesprovide services which are designed to interact with each other
  • 15.
    You have tobe very agile Aggregating foreign content Switching business partners Your operational costs explode Complex systems are complex to manage A new host system is not an option You start small and fast grow is obvious Almost every sucessful web site Your business model rocks!
  • 20.
    Clerk knows what’s next Decisions influencenext step and destination Steps triggered by input, yield outputDept A Dept Q Dept T
  • 21.
    devcoach® SOA3 Define Tasks Devidea huge package of work into smaller units aka Services Build Interfaces Describe capabilities and data of a task aka Service Contract Create Interaction Describe how tasks act in combination aka Workflow
  • 22.
    BlueBooks – Yetanother book store?
  • 23.
    Feature Driven Development Createa Project Vision and Personas What is the project all about and who will use it Define Modules Devide a huge package into smaller units E.g. a Service Define Features Describe capabilities of a module E.g.: Business capabilities of a service Define Tasks Describe the steps needed to implement a feature
  • 24.
    Project Organization usingTFS devcoach ® Feature Driven Development
  • 25.
  • 26.
    The application isslow or not very responsive The typical answer: + +
  • 27.
  • 28.
    Guides adding theRIGHT instrumentation and ONLY the instrumentation your application needs Allows your IT Operations to identify and sovle issues BEFORE your customer calls in
  • 29.
    Application, Component, Service orDependency Example: Transport Order Application Transport Web Service Warehouse Management Application Arranged into a Logical Hierarchy Shipping Service Transport Order Application Warehouse Management Application Transport Web Service
  • 30.
    Part of aModule that an administrator would want to monitor Can only be in one health state at a time (e.g. green, yellow, red) Example: Configuration Database Security General Functionality Transport Order Application Configuration Database Security General Functionality
  • 31.
  • 32.
    State of aFeature Green – Aspect Functioning Normally Yellow – Aspect is partially functioning but at some degraded level Red – No Service is being provided by this Aspect Detectors Indicate the State of an Aspect Performance Counters Windows Events Absence of Event Example: Event ID 24 = Server Not Found Event ID 24 occurs
  • 33.
    What impact doesa Feature have on its Module? What impact does a Module have on its Parent? Example: Because the connectivity of the Web Service is Red, the impact on the Transport order Application is also Red. However, the impact on the Shipping Service is only yellow because the Warehouse Management Application is green Shipping Service Transport Order Application Warehouse Management Application Transport Web Service <<Feature>> Data Access <<Feature>> Data Access <<Feature>> Connectivity <<Feature>> Data Access
  • 34.
  • 35.
    Generate event logsfor deployment!
  • 36.
    Building applications byassembling existing building blocks (aka services) Over the internet For end users (simplicity) We see Microsoft Popfly as a kind of Preview for future technologies
  • 37.
  • 38.
    Business today meansbeing agile Agility results in distributed computing The nature of distributed computing requires new kind of tools Designing and Building Deployment and Operations Modeling and code generation is the next level XAML will be a first class citizen OSLO will be Microsoft‘s answers for these challenges?
  • 40.
    Software em versãocompleta para avaliação 2 incidentes de suporte gratuito profissional Acesso antecipado às versões beta software exclusivo: Capacity Planner actualizações de segurança e service packs formação gratuita ….e muito mais. www.microsoft.com/portugal/technet/subscricoes
  • 41.
    Software em versãocompleta para avaliação Suporte técnico 24x7 para incidentes Acesso antecipado às versões beta Microsoft Office Software Assurance formação gratuita ….e muito mais. www.microsoft.com/portugal/msdn/subscricoes
  • 42.
  • 43.
    Complete o questionáriode avaliação e devolva-o no balcão da recepção… …e habilite-se a ganhar 1 percurso de certificação por dia! Oferecido por: …e habilite-se a ganhar 1 percurso de certificação MCTS por dia! Oferecido por: …e habilite-se a ganhar 1 curso e exame por dia! Oferecido por:
  • 44.
    © 2008 MicrosoftCorporation. Todos os direitos reservados. Esta apresentação destina-se apenas a fins informativos. A MICROSOFT NÃO FAZ GARANTIAS, EXPRESSAS OU IMPLÍCITAS NESTA APRESENTAÇÃO.