Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application...

29
Application Lifecycles: 2 case studies Joris Van Looveren [email protected] zondag 21 februari 2010

Transcript of Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application...

Page 1: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

Application Lifecycles:2 case studies

Joris Van [email protected]

zondag 21 februari 2010

Page 2: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

Background info... (1)

Joris Van LooverenVolvo IT - Gent (Oostakker)[email protected]

Background

Computer science @ VUB (some time ago...)

Now: (web) application development at Volvo IT

zondag 21 februari 2010

Page 3: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

Background info... (2)Volvo IT

IT services branch of Volvo Group(Volvo Group = most everything motorised... except cars)

Service areas:

Hardware:- everything network-related- computing environment (= computers & intranet)

Software:- licenses for commercial software- custom application development

zondag 21 februari 2010

Page 4: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

ContentsApplication lifecycle?

Case studies @ Volvo IT

2 applications:Infoshop: simpleANDON: complex

Observations

Questions

zondag 21 februari 2010

Page 5: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

Application Lifecycle (1):Wikipedia definition

zondag 21 februari 2010

Page 6: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

Application Lifecycle (1):Wikipedia definition

JIRA

JUnitJABD

CVSSubversion

zondag 21 februari 2010

Page 7: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

Application Lifecycle (2)

Many different aspects

Static concepts - focused on “how” - tools to use to perform tasks

However:- not “forward-looking” doesn’t address possible changes- how do we prepare?

Ergo: can we find out what changes are likely to happen?

zondag 21 februari 2010

Page 8: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

Application Lifecycle:Case studies

2 case studiesapplications built by Volvo IT

1. ANDONproduction quality follow-up application

2.InfoshopPortal for providing all kinds of reporting to end-users

2 extremes of the complexity spectrum

how did they change of their lifetimes?

zondag 21 februari 2010

Page 9: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

Application Lifecycle

Initial Development

Deploy to production

Changes

Retirement

- user initiated- infrastructure change - ...

- business driver

- change in business process- replacement- ...

Maintenance- bug fixes- “keep it running”

zondag 21 februari 2010

Page 10: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

Application Lifecycle

Initial Development

Deploy to production

Changes

Retirement

- user initiated- infrastructure change - ...

- business driver

- change in business process- replacement- ...

Maintenance- bug fixes- “keep it running”

What happenshere?

zondag 21 februari 2010

Page 11: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

Case study 1: Infoshop

2 extremes of the complexity spectrum

zondag 21 februari 2010

Page 12: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

Oracledatabase

Report Bursting Engine

Infoshop

Infoshop:original structure

Networkshare

zondag 21 februari 2010

Page 13: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

Infoshop:constraints

Java expertise available in-house

Oracle used for Business Intelligence systems

Reports too large and numerous for DB→ external storage required

zondag 21 februari 2010

Page 14: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

Infoshop:choices

Monolithic J2EE application

External file share for document storage- protection against data loss- no storage on application server

Spring (dependency injection)

Data access through iBatis(= named query manager)

zondag 21 februari 2010

Page 15: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

Infoshop:current structure

Oracledatabase

Report Bursting Engine

Infoshop

Networkshare

zondag 21 februari 2010

Page 16: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

Infoshop:changes

Nothing really changed?!

Server migrations:WebSphere 5 → WebSphere 6 → WebSphere 7

reason: end-of-life by IBM

no real issues; just drop app onto server!

Several smaller changes

zondag 21 februari 2010

Page 17: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

Case study 2: ANDON

zondag 21 februari 2010

Page 18: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

DB2database

uploadbreakdown

ANDONweegbrug

digitaltacho

toolsoft

weegbrug

digitaltacho

toolsoft

VDAHDOC

= VCOM

= file share

= HTTP

weegbrugprinter

ANDON:original structure

PDA

zondag 21 februari 2010

Page 19: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

ANDON:structure

Loosely coupled set of modules

technology: individual J2EE projects

server: IBM WebSphere on zLinux= linux in VM on z/OS (mainframe)

“interaction” mostly through DB

most modules process external inputaggregation in DB

zondag 21 februari 2010

Page 20: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

ANDON:constraints

Java expertise available in-house

DB2 used company-wide in external systems

interface with 3rd party systems(weigh bridge, ToolSoft, digital tacho)- driver software by vendor- what can vendor provide?- quality of 3rd party software “variable”

zondag 21 februari 2010

Page 21: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

ANDON:choices

Loosely coupled set of modules- independent development- independent redeploy possible in many cases

Lots of file sharing (!!)- protection against data loss (file remains if server dies while processing)- access arbitration by OS- network transfer by OS

Proprietary data access mechanism- EJBs deemed too complex (pre EJB3)

zondag 21 februari 2010

Page 22: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

DB2database

uploadbreakdown

ANDONweegbrug

digitaltacho

toolsoft

weegbrug

digitaltacho

toolsoft

VDAHDOC

= VCOM

= file share

= HTTP

weegbrugprinter

ANDON:current structure

= Web service

PDA

zondag 21 februari 2010

Page 23: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

ANDON:changes

Server migrations:WebSphere 5 → WebSphere 6 → WebSphere 7

reason: end-of-life by IBM

problems: WAS5→WAS6: file sharing semantics changed → introduction of web servicesWAS6→WAS7: webservice technology changed

User complaint:complete rewrite of Weighbridge module

Lots of small changes to individual moduels

zondag 21 februari 2010

Page 24: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

Observations (1):technological evolution at Volvo ITTechnological evolution for NEW java web apps:

Spring + Hibernate

“Template application”empty application (in-house) that contains the most common components

Styles in CSS

Ajax components

Custom build + deploy cycle

zondag 21 februari 2010

Page 25: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

Observations (2)

Parallel evolutions:

New technologies introduced in new apps

Per application:- conform to infrastructure changes (in casu: server changes)- change according to user requirements- regular maintenance

zondag 21 februari 2010

Page 26: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

Observations (3a):application specific

External systems WILL outlast your application- 3rd party systems: * vendor out of business * vendor cannot perform changes * vendor charges too much for changes * ...- databases * data store harder to change

Infrastructure changes more important to support- product end-of-life

zondag 21 februari 2010

Page 27: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

Observations (3b):application specific

Technological (Java) innovations:

most likely introduced in new applications(new frameworks, new Java version)

most likely not retrofitted in old applicationsunless:- as part of significant changes- when no expertise left

zondag 21 februari 2010

Page 28: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

Observations (4):general considerations

Budgets!- there’s never enough for all “necessary” changes- driver of all changes

Maintenance- “keep it running”- often no time/budget for structural maintenance (e.g. framework upgrade → not visible)- very hard to keep architectural uniformity across applications

zondag 21 februari 2010

Page 29: Application Lifecycles: 2 case studies - LORElore.ua.ac.be/Teaching/CapitaMaster/Application lifecycles.pdf · Application Lifecycles: 2 case studies Joris Van Looveren joris.van.looveren@volvo.com

Any questions?

zondag 21 februari 2010