Application Migration using the Accelerated Delivery Platform

32
using the Accelerated Delivery Platform Transforming from Transforming from client/server client/server

description

Application Migration using the Accelerated Delivery Platform

Transcript of Application Migration using the Accelerated Delivery Platform

Page 1: Application Migration using the Accelerated Delivery Platform

using the Accelerated Delivery PlatformTransforming from client/serverTransforming from client/server

Page 2: Application Migration using the Accelerated Delivery Platform

2TRANSFORMING FROM CLIENT / SERVER© Copyright Capgemini 2007 All Rights Reserved

AgendaAgenda

Client/server Short overview

Issues with client/server applications Application issues

Portfolio issues

Re-engineering approach Automatic conversion is hard

Re-engineering approach

Capgemini’s Accelerated Delivery Platform Introduction

Key benefits for re-eningeering

Page 3: Application Migration using the Accelerated Delivery Platform

Setting the outlineTransforming from client/serverTransforming from client/server

Page 4: Application Migration using the Accelerated Delivery Platform

4TRANSFORMING FROM CLIENT / SERVER© Copyright Capgemini 2007 All Rights Reserved

IntroductionIntroduction

Client/server Popular paradigm during the ’90s

Client/server architecture Typically two tier

Client: user interface

Server: database

Data centric

Business logic in presentation and database

Typical client/server tools Visual Basic or ASP

PowerBuilder

Oracle Designer and Developer

SQLWindows

DataFlex, FoxPro, Clipper, DBase

Page 5: Application Migration using the Accelerated Delivery Platform

5TRANSFORMING FROM CLIENT / SERVER© Copyright Capgemini 2007 All Rights Reserved

IssuesIssues

Quality of code Client/server is a limited architecture

Applications are not built to last

Copy-and-paste programming

Decentralized business logic

Lots of bug fixes and patches have lowered quality of applications

Often low on documentation

Future Business has come to depend on client/server

applications

Maintenance increasingly difficult and expensive

New requirements cannot be implemented

New platforms unsupported

Page 6: Application Migration using the Accelerated Delivery Platform

6TRANSFORMING FROM CLIENT / SERVER© Copyright Capgemini 2007 All Rights Reserved

IssuesIssues

Portfolio’s of applications Multiple tool sets

Overlapping business logic

Missing business logic

Contradicting business logic

Multiple occurrences of the same data

Varying levels of documentation

Automated transformation is unlikely Scattered business logic

Contradicting business logic

Source and target architectures differ too much

Platform requirements differ, e.g. from Windows to web and mobile

Re-engineering is inevitable

Page 7: Application Migration using the Accelerated Delivery Platform

7TRANSFORMING FROM CLIENT / SERVER© Copyright Capgemini 2007 All Rights Reserved

Why automated conversion is unlikelyWhy automated conversion is unlikely

In field validation On forms Behind forms In database calls

In stored procedures Behind triggers Validation?

Application

Database

Traditional client/server

Businesslogic

Presentation

Process

Business

Data access

Databases /Services

Multi-tier applications

?

?

?

?

???

Where doesthe business logic go?

Where doesthe business logic go?

Page 8: Application Migration using the Accelerated Delivery Platform

A pragmatic approachTransforming from client/serverTransforming from client/server

Page 9: Application Migration using the Accelerated Delivery Platform

9TRANSFORMING FROM CLIENT / SERVER© Copyright Capgemini 2007 All Rights Reserved

ApproachApproach

1. Portfolio scan Which tools have been used? How many of these tools are deceased or

unsupported? What applications are present? When do these applications go out of date?

2. Reusability discovery What domains are covered? Which business logic can be salvaged? Which components and services can be discovered? Advice on introducing service orientated architecture

3. Vitality index Which applications need to be ported? What is the business case for these applications? What business priorities are there? What business risks are lurching without

transformation Advice on porting applications

Page 10: Application Migration using the Accelerated Delivery Platform

10TRANSFORMING FROM CLIENT / SERVER© Copyright Capgemini 2007 All Rights Reserved

ApproachApproach

4. Re-engineering Re-engineer each individual application Maximize reuse using service oriented

architecture Apply Accelerated Delivery Platform / Trinidad Re-engineering approach

Model smart use cases from existing user interface Model domain model from existing data models Generate base application, often up to 75% Investigate and build in business logic Connect new application to central services Migrate existing data

5. Program management Porting a single application is a software

development project Total portfolio porting requires program

management

Page 11: Application Migration using the Accelerated Delivery Platform

Agile re-engineeringTransforming from client/serverTransforming from client/server

Page 12: Application Migration using the Accelerated Delivery Platform

12TRANSFORMING FROM CLIENT / SERVER© Copyright Capgemini 2007 All Rights Reserved

Agile re-engineering approachAgile re-engineering approach

1. Model smart use cases from existing user interface Apply smart use case modeling guidelines Introduce standard stereotypes Generate user interface specification Fill-in the blanks

2. Model domain model from existing data model Harvest from reference business models

Capgemini holds reference models for pensions, mortgages, health care, insurances, claims

Apply object-relational transformation rules Set up ID strategy Introduce associations and compositions

Enrich model Introduce enumeration patterns Model value objects in domain model, such as ISBN,

Sofinummer, Bank account Model reference patterns in domain model

Page 13: Application Migration using the Accelerated Delivery Platform

13TRANSFORMING FROM CLIENT / SERVER© Copyright Capgemini 2007 All Rights Reserved

Agile re-engineering approachAgile re-engineering approach

3. Generate base application with Tobago MDA, often up to 75% - 80% Apply reference architecture Generate target user interface Process logic in use cases Business logic Data / services logic

4. Investigate and re-build in business logic Extract reusable business logic to domain

services Centralize business logic Connect new application to key services

5. Migrate existing data Apply automated migration scenario’s when

possible Migrate data to centralized services using

generated code

Page 14: Application Migration using the Accelerated Delivery Platform

Why this approach worksTransforming from client/serverTransforming from client/server

Page 15: Application Migration using the Accelerated Delivery Platform

15TRANSFORMING FROM CLIENT / SERVER© Copyright Capgemini 2007 All Rights Reserved

Why this approach worksWhy this approach works

Key accelerators in re-engineering approach Harvest from available business reference models Standardized re-modeling existing applications High productivity code generation Only address deviations from standard implementation Standardized documentation in model Reference architectures supporting services Easy to use frameworks

Key benefits Industrialized re-engineering approach Extreme standardization Emphasis on process and business logic Open platform High maintainability courtesy of created traceability Easily extensible to other platforms Growing community

Page 16: Application Migration using the Accelerated Delivery Platform

Introducing theIntroducing theAccelerated Delivery PlatformAccelerated Delivery PlatformExtreme quality at extreme speed

Page 17: Application Migration using the Accelerated Delivery Platform

17TRANSFORMING FROM CLIENT / SERVER© Copyright Capgemini 2007 All Rights Reserved

Accelerated Delivery PlatformAccelerated Delivery Platform

Page 18: Application Migration using the Accelerated Delivery Platform

18TRANSFORMING FROM CLIENT / SERVER© Copyright Capgemini 2007 All Rights Reserved

The Accelerated Delivery PlatformThe Accelerated Delivery Platform

What is the Accelerated Delivery Platform (ADP)?

A unified agile software development collaboration platform that encompasses high speed, high quality delivery of working software in distributed environments

What accelerators does it include?

Full agile lifecycle

Smart use cases to capture structured requirements

Pragmatic estimation based on smart use cases

Agile dashboarding to facilitate progress tracking

Unified testing throughout the project lifecycle

Reference architectures to support reuse and standardization

Model driven development to increase productivity and quality

Frameworks to drive high speed software development

Upgrade competences through training and coaching

Page 19: Application Migration using the Accelerated Delivery Platform

19TRANSFORMING FROM CLIENT / SERVER© Copyright Capgemini 2007 All Rights Reserved

What’s in ADP?What’s in ADP?

Integrated platform Set of integrated accelerators High speed, high quality software

development

Agile methodology Smart is a full agile lifecycle Agile (and RUP) best practices Integrated project management From project proposal to application

management

Industrialized requirements Smart use cases Industrialize requirement management Easy handover between business analysis

and software development

Page 20: Application Migration using the Accelerated Delivery Platform

20TRANSFORMING FROM CLIENT / SERVER© Copyright Capgemini 2007 All Rights Reserved

What’s in ADP?What’s in ADP?

Pragmatic estimation Smart estimation

Easy-to-use, repeatable project estimation

Applicable to most types of projects

Agile dashboards Real-time project progress

Burn down charts, BI and reporting

Flexible and solid technology High quality software development technologies

Includes generators and frameworks

Various development environments

Coaching and learning Standards and guidelines, community wiki

Various workshops available

Coaching on the job

Page 21: Application Migration using the Accelerated Delivery Platform

21TRANSFORMING FROM CLIENT / SERVER© Copyright Capgemini 2007 All Rights Reserved

What’s in ADP?What’s in ADP?

Standardization Standardized modeling and testing techniques Software architectures Model and domain driven software development High speed and high quality software

Community Open user community Includes wiki and community meetings Knowledge sharing between companies worldwide

Learning 8 courses at Capgemini Academy 4 courses at international seminar organizers Coaching on-the-job Quick project start-up Fast knowledge distribution

Page 22: Application Migration using the Accelerated Delivery Platform

Introducing smart use casesIntroducing smart use cases

Page 23: Application Migration using the Accelerated Delivery Platform

23TRANSFORMING FROM CLIENT / SERVER© Copyright Capgemini 2007 All Rights Reserved

Smart use casesSmart use cases

What are smart use cases? Smart use cases represents the highly

standardized functional requirements in software development projects.

Smart use cases are independent of approach, methodology and platform

There is a clear and pragmatic approach towards modeling smart use cases from business processes, in service oriented architectures, and even from existing applications

An easy-to-use estimation technique exists to estimate size and complexity of projects based on smart use cases

An associated testing technique allow for easy and early smart use case testing

Page 24: Application Migration using the Accelerated Delivery Platform

24TRANSFORMING FROM CLIENT / SERVER© Copyright Capgemini 2007 All Rights Reserved

Smart use casesSmart use cases

Why smart use cases? Allow Capgemini to solve requirements

issues for a growing number of customers, including Achmea, AFM, DFZ, GVB, Essent

Structure and standardize requirements

Easy to model

Proven technology

Are applied to various types of projects including .Net, Java, Sharepoint, BI and SAP

Allow for realistic estimates of projects

Are used as primary unit of work in Capgemini agile projects

Can service a primary unit of work in optimizing rightshore projects

Page 25: Application Migration using the Accelerated Delivery Platform

25TRANSFORMING FROM CLIENT / SERVER© Copyright Capgemini 2007 All Rights Reserved

Different levels of use casesDifferent levels of use cases

‘Regular’ use cases Only user goal level use cases

Use cases ‘as they are intended’

A single use case describesa single elementary business process

Differ in granularity too much

Law of Large Numbers does not apply

Smart use cases User goal and sub function level use cases

Good unit of work and estimation

A single elementary business process is modeledin a single use case diagram

A single user goal level use case + auxiliary use cases at sub-function level

Very similar granularity

NormalNormalIncidentalIncidentalRe-useRe-use

LikelyLikelyPossiblePossibleTraceabilityin codeTraceabilityin code

GoodGoodLousyLousyUnit of workUnit of work

EasierEasierHardHardEstimatesEstimates

UnifiedUnifiedVery differentVery differentGranularityGranularity

VisualVisualTextualTextualFormatFormat

Smartuse caseSmartuse case

Regularuse caseRegularuse case

Page 26: Application Migration using the Accelerated Delivery Platform

26TRANSFORMING FROM CLIENT / SERVER© Copyright Capgemini 2007 All Rights Reserved

Smart use cases - ExampleSmart use cases - Example

Page 27: Application Migration using the Accelerated Delivery Platform

Using the Accelerated Delivery PlatformModel driven developmentModel driven development

Page 28: Application Migration using the Accelerated Delivery Platform

28TRANSFORMING FROM CLIENT / SERVER© Copyright Capgemini 2007 All Rights Reserved

Model driven developmentModel driven development

How do we apply model driven development? Represent the functional requirements for a

project in standardized use cases Model the domain model for a project, and

map it to the smart use cases Export the project model (to XMI) Generate code and other artefacts using

Tobago MDA (free code generator) and a wide variety of templates

From smart use cases generate workflow, web pages, Windows forms, tasks, estimates, use case and UI documentation, etc.

From the domain model generate domain factories, domain objects, data layer objects, configuration files, table create statements, etc.

Page 29: Application Migration using the Accelerated Delivery Platform

29TRANSFORMING FROM CLIENT / SERVER© Copyright Capgemini 2007 All Rights Reserved

Model driven developmentModel driven development

Why model driven development?

Applied at a growing number of customers and projects, including DFZ, GVB, Essent, EnergieDirect, SRC, FleetSolutions, Kluwer

High productivity and high quality code

Easy to learn, pragmatic to apply

Allows for new and extended templates to generate even more artefacts

Generates .Net 2.0 and 3.x code

Generated code is open for extensions, such as adding presentation and business logic

Supported by rich frameworks in .Net

Page 30: Application Migration using the Accelerated Delivery Platform

30TRANSFORMING FROM CLIENT / SERVER© Copyright Capgemini 2007 All Rights Reserved

Forms

Use cases

Domainobjects

Data / Serviceclasses

Databases

Reference Architecture

TobagoMDA

Testscenario’s

FrameworksDocumentation

CurrentApplications

Businessmodels

Businessdomain

Smartuse cases

User interfacespecification

A pragmatic approachA pragmatic approachMap all work Map all work and business and business processes to processes to

smart use casessmart use cases

Set up your Set up your domain modeldomain model Establish and Establish and

support your support your reference reference

architecturesarchitectures

Generate your Generate your code using a code using a

text template text template engineengine

Finalize your Finalize your applicationapplication

Page 31: Application Migration using the Accelerated Delivery Platform

31TRANSFORMING FROM CLIENT / SERVER© Copyright Capgemini 2007 All Rights Reserved

Tobago MDATobago MDA

Fits APD TrinidadFits APD Trinidadarchitecturalarchitectural

layers and typeslayers and types

From user interface to From user interface to database and servicesdatabase and services

FromFromuse-casesuse-cases

FromFromdomain domain objectsobjects

Page 32: Application Migration using the Accelerated Delivery Platform

References and questionsReferences and questionswiki.trinidadplatform.org [email protected]