No Slide Title

Download Report

Transcript No Slide Title

Evolution of Legacy Systems
Strategic and managerial
issues based on a case
Herman Tromp, Ghislain Hoffman
ELISA workshop, Amsterdam, Sep. 23, 2003
INTEC
Department of Information Technology
http://www.intec.rug.ac.be
What is legacy

Legacy :


Money, etc. (to be) received by a person by the will of
and at the death of another person
Something handed down from ancestors or
predecessors
(source : dictionary)
Legacy has a


Positive connotation : value
Negative connotation : old, out-of-date, inappropriate
for current use
INTEC - Department of Information Technology
What is a legacy system?
A legacy system is an operational system that has
been designed, implemented and installed in a
radically different environment than imposed by
the current ICT strategy. It is also a system that
still contains considerable business value and is
critical for operations.
(Note : other definitions are available)
INTEC - Department of Information Technology
Context

The ARRIBA project (see companion paper)
 Migration at LCM (this paper)





Largest organisation in Belgium, responsible for health
care allowances (interfaces with government agencies,
hospitals and indivual citizens in a variety of ways)
Large scale systems, parts of it about 30 years old
“home developed” (no commercial software was
available then)
Urgent need to migrate (hardware is becoming
obsolete)
Objective of this paper : to discuss the strategic
and managerial issues of legacy migration
INTEC - Department of Information Technology
A few position statements ...
... from the lessons learned
 Large scale systems can only be succesfully
migrated through evolution
 Evolution implies more than code refactoring (it
can hardly be refactored)
 Evolution must also consider architecture,
information models, persistency techniques,
business culture, ...
 ... and thus has severe implications on strategy
and management ...
 ... and is seriously impacted by these.
INTEC - Department of Information Technology
As is – What is “large scale”
Average number of BS2000 transactions by day
700.000
600.000
500.000
400.000
300.000
200.000
100.000
0
1995
1996
1997
INTEC - Department of Information Technology
1998
1999
2000
2001
As is – Numbers, numbers, numbers
Sequential passes per month.
300
250
200
150
100
50
0
1996
1997
1998
INTEC - Department of Information Technology
1999
2000
2001
As is – Numbers, numbers, numbers
System
Subsystem
Code
Assurabilité
Assurabilité
Assurabilité
Assurabilité
Assurabilité
Indemnités
Indemnités
Intersoc
Service social
Soins de santé
Soins de santé
Soins de santé
Soins de santé
Soins de santé
Soins de santé
Soins de santé
Soins de santé
Soins de santé
VHS
Total
Audit
CRM
AA
AC
AS
AX
CB
UA
UK
PI
CS
CF
CR
GA
GC
GH
GO
GX
GZ
PT
PE
19
Divers
Banque Carrefour
Audit
Fanchise
ALC
Audit
Correcttion Val.
Adm. Hospital.
Accident
Divers
Prestations à terme
INTEC - Department of Information Technology
# prog.
# lines
5
8.321
8
16.710
1094 1.213.254
44
60.455
162
146.678
8
6.441
450
473.835
118
151.572
196
248.740
52
47.483
71
96.036
5
19.658
57
187.976
243
360.862
96
109.675
157
191.815
470
419.867
230
244.307
107
138.667
3573 4.142.352
Technical view on “as is”
Four distinct types of processing:





1. Transactional, under control of a transaction monitor
 Many concurrent access points – ACID requirements imposed
by the transaction monitor
2. Batch or volume transactions
 Single point of access – ACID requirements met by JCL scripts
(experience based)
3. Sequential transactions
 The whole database is scanned - ACID requirements met by
running programs (experience based)
4. Journaling operations
 Sequential copy of medical acts – no database involved
All those manually scheduled depending on the time of
the day
INTEC - Department of Information Technology
Drivers for legacy evolution






Redefinition of corporate strategy, e.g. from a data
processing model to a multichannel service oriented
model
Business process redefinition and reorganisation, due to
rapidly changing legal requirements
Cost of ownership of the current system (diversity of
systems, corporate take-overs, software maintenance
costs)
Lack of existence of a corporate information model
Lack of a well defined architecture
Outright end of life situation (no proper database system,
phasing out of a line of hardware and system software,
etc…)
INTEC - Department of Information Technology
Specific drivers in the present case






Predominance of COBOL code
Business logic is hidden in JCL and in the heads
of the operators
No database : data is stored in a flat file system...
... Which is a home-brewn version of an IDMS
database
Data is stored in a single file and accessed
through a wrapper (its usage is obscured by the
presence of multiple entry points)
The wrapper performs logical to physical
mapping down to the disk block level, and is also
responsible for hashing, garbage collection, etc.
INTEC - Department of Information Technology
Specific drivers in the present case

Knowledge of business logic is present, but the
expertise on how to translate it into an
implementation is getting lost (people are
leaving)
 “New” technologies are not very well understood,
but experiments and POC’s are ongoing (but not
in core operations)






ERP
EAI and message brokers
Data warehousing
J2EE based application servers
RDBMS
(This seems to be a typical situation)
INTEC - Department of Information Technology
Evolving legacy systems





First option: rewrite from scratch (Big Bang)
Second option: refactor (rewrite in new context)
Third option: migrate (geriatric operation)
Fourth option: reuse by trying to define
components
Fifth option: a mix of the first four options
Evolution is the way to go ...
INTEC - Department of Information Technology
A management view






Motivation (why ?)
Objectives (where ?)
Basic postulates and constraints (environment)
Critical success factors (how to measure
success)
Risk assessment
Methodology (how)
INTEC - Department of Information Technology
Motivation
LCM needs to make sure that it develops and maintains a strategic technology direction,
keeps current with industry development, and employs the selected technologies appropriate
to reach its long-term objectives: to be the leader in the healthcare and related social services.
The strategic decision to start the REFAC project (Reorganisation of the Financial,
Administrative and Control circuits) implies a complete revision of the “Health Care”
information system.
This revision is minimally based on the installation of a relational database.
The IT Management considers this project to be an excellent opportunity to carry out the first
steps in leaving the current platform BS2000.
However involving some risks, this migration operation appears to be essential and
inevitable for the future.
Movement to a new environment will reduce support requirements, enable faster responses
to development needs, and permit staff to be reassigned to support emerging new
technologies. Viewing data as an institutional asset will improve the quality of reports,
allow LCM staff to respond easily to rapidly expanding requests for information,
and provide a service oriented users environment.
INTEC - Department of Information Technology
Objectives





Set up a evolution plan from the BS2000 towards a
new platform
Define a new technical infrastructure to be developed
and installed
Create an efficient and flexible application and data
architecture.
Accompany this with a budgetary, HRM and business
reengineering plan.
Make the necessary budgets available
INTEC - Department of Information Technology
Postulates and constraints








Migration by stages (no big bang)  evolution
Stage by stage synchronisation of data
Definition of a corporate information model
accessible through a relational data base (Oracle 9x)
Business Process Reengineering
Real time system with availability 24x7
J2EE based thin client architecture via portal and
application servers
No data replication (?)
Interface with existing CRM and financial systems
INTEC - Department of Information Technology
Critical success factors





Affordable but significant proof of concept
Quick win definitions
Succesful implementation of a strategic application
suite within 2 years
Management and stakeholder support
Support of users (business and regular)
INTEC - Department of Information Technology
Risk assesment








Unfeasibility (technology mix, integration of
COBOL/Java)
Complexity
Performance (is already a problem)
Obsolescence of techniques
Lack of pragmatism
Unmanageable systems (related to complexity)
Cost control (hard ...)
Lack of (human) resources
INTEC - Department of Information Technology
Methodolody and planning
Evaluation of the “as-is” situation (investigation
of COBOL code, underlying data structures, ...)
 Determine a “to-be” business and application
architecture
 Determine a “to-be” technical and deployment
architecture
 Evaluate evolution scenario’s between the “as-is”
and “to-be” situation

Any methodology should reflect the structure of the
organisation.
INTEC - Department of Information Technology
Conclusion ? Some empirical laws





“A system that is used will be changed “
(Lehman)
“An evolving system increases its complexity,
unless work is done to reduce it” (Lehman)
“A system reflects the organisational structure
that built it” (Conway)
“What applies to small systems does not apply to
large ones” (DeRemer)
“Architecture wins over technology” (MorrisFerguson)
INTEC - Department of Information Technology
Appendix – accessing information

Some extra information ...
INTEC - Department of Information Technology
Access
Actual access to applications
Open
terminals
applications
UTM
MUT
LEASY
INTEC - Department of Information Technology
Future Access
Future access to applications
Data interface
Terminals
Applications
Connector
RDBMS
JDBC
Application Server
Intranet
http-Server
Internet
Browser
Browser
PC
PC
INTEC - Department of Information Technology
Handling data in COBOL
MONITOR
- openen Leasy cataloog
- openen files
- openen transactie
- initialisatie
- oproepen FHL
- oproepen user-programma
- sluiten files
FILEHANDLER
MUT
User
Programma
- lezen leden
- omzetting fys-log - log-fys
- wegschrijven leden
MUx
MUx
M08
- business logica
- oproepen FHL
- oproepen sub-programma
FILEHANDLER
LEASY
POT
UID
VCS
SUBProgramma
- business logica
- oproepen FHL
- oproepen sub-programma
VAKA
OONS
INTEC - Department of Information Technology
GIFT
Data streams
OpenUtm
500 trx
Sequential
Batch
1200 seq
300 BC
160 BTM
MUT
5.700.000 leden
Read
Updates
Logging
externe data
- PPR --> BTM
performatie
- USER --> BC
- PRINT --> REMOTE
INTEC - Department of Information Technology
Physical data organisation
RNR
DAT
RNM1
x 2
FSP
1
9...9
2
z
3
9...9
299
9...9
300
9...9
x x RNM1 RNR1 2
RNR2
r 1
13.125 records van 1 PP
(PAM-pages = 2k)
r r
RNR2 1
z z RNM RNR
2 HV
y
IND
301
RNR1
RNM1
free
end
s s RNM RNR 4
13.125 records van 1 PP
(PAM-pages = 2k)
y y RNM RNR 2 HV 9...9
Einde DATA
Begin Vrije Ruimte
free
20 %
end
Einde fichier
INTEC - Department of Information Technology
15.000.000 records
van 1K (DAM-rcords)
Example of a data structure
INFO LID
- FICNR
- ADRES
- HV + FREE Adres
- LNG
- RNR
- RNM
- SW-SKIP
- SEQNR
- UNIEK (adm_id)
- DATUM Wijzig
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
R
e
c
o
r
d
0000000000000000
0000000000000000
0000000000000000
XXX
0000000000000000
E11 09
- LNG
- NR
- BATCH-DAT
- BATCH- PROGID
E11 08
- ONL-DAT
- ONL-PROGID
- ONL-PERSNR
- DEL-PDL
- SEQNR
E11 07 PDL
1
R
e
c
o
r
d
E11 06
BYD 05
ATT 04 DEL
2
BYD 03
MUT 02
ADM 01
INTEC - Department of Information Technology