2008 - techdays pt: modeling and composition for software today and tomorrow
TRANSCRIPT
ARC02Modeling and Composition for Software today and tomorrowDaniel [email protected] Architect | CTO devcoach®
Michael [email protected]
Software Architect | CTO devcoach®
www.devcoach.com 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!
You want to build a house…
You hire a software architect…
You discuss requirements…
Software Projects...
What is the problem?
Static Structure„Point of no return“ due to late „visual“ resultsNo adjustments during the projectResult: You buy the black box
Human failureDRY: Don‘t repeat yourself (e.g. Writing a DAL)More code means more bugs Result: Errors occur „by design“
What can we do?Model
Your Business RequirementsTo describe capabilitiesTo enable your software to solve business problems
Your ApplicationTo match capabilitesTo enable „design for change“
Your DevelopmentTo have a structure To enable adjustments often an early if nessecary
Your OperationsTo identify application healthTo enable immediate response on issues
Modeling means...
...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 ;-)
The Business Perspective today
Mobile PhonesMobile Computing
Various Form Factors
BranchNetworks
WirelessAccess
ERP System
Public Web
Portal
Intranet Portal
Client Application
s
CRMSystem
CustomSystemsCustomSystemsCustomSystems
Being agile...From Towards
Loosely-coupled resources provide services which are
designed to interact with each other
When use SOA
You have to be very agileAggregating foreign contentSwitching business partners
Your operational costs explodeComplex systems are complex to manageA new host system is not an option
You start small and fast grow is obviousAlmost every sucessful web siteYour business model rocks!
Interaction
Clerk knows what’s next
Decisions influence next step
and destination
Steps triggered by input, yield
outputDept ADept Q
Dept T
devcoach® SOA3
Define Tasks Devide a huge package of work into smaller unitsaka Services
Build InterfacesDescribe capabilities and data of a taskaka Service Contract
Create InteractionDescribe how tasks act in combinationaka Workflow
Feature Driven Development
Create a Project Vision and PersonasWhat is the project all about and who will use it
Define ModulesDevide a huge package into smaller unitsE.g. a Service
Define FeaturesDescribe capabilities of a moduleE.g.: Business capabilities of a service
Define TasksDescribe the steps needed to implement a feature
Modeling yourDevelopment Process
Project Organization using TFSdevcoach ® Feature Driven
Development
Demo
OperationsThe Managability Gap
Business Requirements
Functional Specification
Solution Design
Non-Functional Specification
Operations Design
Infrastructure Design
Operations Non functional issue #1
The application is slow or not very responsiveThe typical answer:
+ +
What is a Health Model?Guides adding the RIGHT instrumentation and ONLY the instrumentation your application needsAllows your IT Operations to identify and sovle issues BEFORE your customer calls in
Modules
Application, Component, Service or DependencyExample:
Transport Order ApplicationTransport Web ServiceWarehouse Management Application
Arranged into a Logical Hierarchy
FeaturesPart of a Module that an administrator would want to monitorCan only be in one health state at a time (e.g. green, yellow, red)Example:
ConfigurationDatabaseSecurityGeneral Functionality
Feature StateState of a Feature
Green – Aspect Functioning NormallyYellow – Aspect is partially functioning but at some degraded levelRed – No Service is being provided by this Aspect
DetectorsIndicate the State of an AspectPerformance CountersWindows EventsAbsence of EventExample: Event ID 24 = Server Not Found
Event ID 24 occurs
Determining Module StateWhat 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 OrderApplication
WarehouseManagement Application
Transport Web Service
<<Feature>>Data Access
<<Feature>>Data Access
<<Feature>>Connectivity
<<Feature>>Data Access
An outlook on Composite Applications
Building applications by assembling existing building blocks (aka services)
Over the internetFor end users (simplicity)
We see Microsoft Popfly as a kind of Preview for future technologies
Summary
Business today means being agileAgility results in distributed computingThe nature of distributed computing requires new kind of tools
Designing and BuildingDeployment and Operations
Modeling and code generation is the next level
XAML will be a first class citizenOSLO will be Microsoft‘s answers for these challenges?
Outros RecursosPara Profissionais de TI
Beneficie de 40% de desconto.
Faça a sua Subscrição em
www.gettechnetplus.com e utilize
o promocode TLNW08
Software em versão completa para avaliação2 incidentes de suporte gratuito profissionalAcesso antecipado às versões betasoftware exclusivo: Capacity Planneractualizações de segurança e service packsformação gratuita ….e muito mais.
www.microsoft.com/portugal/technet/subscricoes
Outros RecursosPara Programadores
Software em versão completa para avaliaçãoSuporte técnico 24x7 para incidentesAcesso antecipado às versões betaMicrosoft OfficeSoftware Assuranceformação gratuita ….e muito mais.
www.microsoft.com/portugal/msdn/subscricoes
Outros RecursosCertificações
www.microsoft.com/learning
Até 30 Junho 08, beneficie de uma
segunda tentativa para fazer o seu
exame de certificação!
Questionário de Avaliação Passatempo!
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:
Session Code Session Name