44
ARC02 Modeling and Composition for Software today and tomorrow Daniel Fisher [email protected] e Software Architect | CTO devcoach® Michael Willers [email protected] e Software Architect | CTO devcoach®

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

Embed Size (px)

Citation preview

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!

Agenda

Setting objectivesA walk throughAn outlook Summary

You want to build a house…

You hire a software architect…

You discuss requirements…

Software Projects...

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…

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

SOA is not about architecture!SOA is about a mind setting!

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!

Once upon a time...

Tasks...

Scalability

Interfaces...

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

Modeling yourApplication

BlueBooks – Yet another book store?

Demo

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:

+ +

Operations Non functional issue #1

The Result:

x

Deployment

Patch Management

Backup

Troubleshooting

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

Features

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

Determining Feature State

Modeling yourOperations

Generate event logs for deployment!

Demo

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

ModelingComposite Applications

Building Applications with Popfly

Demo

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?

Thank you!

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

© 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.