Download Legacy Information System

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Legacy Information
System
SOFTWARE EVOLUTION AND MAINTENANCE
General Idea
Sistem Software Legacy adalah sistem software yang besar dan kita tidak tahu
cara untuk mengatasinya namun sangat penting untuk organisasi.
Fitur dari Sistem Legacy :
• Sangat besar dengan jutaan baris kode
• Ditulis dalam bahasa program kuno
• kurangnya dokumentasi yang konsisten
• manajemen data yang buruk
• sangat sulit
• berjalan pada prosesor lama
General Idea
Ada 6 kategori solusi untuk Legacy Information System (LIS) :
• Freeze.
• Outsource.
• Carry on maintenance.
• Discard and redevelop.
• Wrap.
• Migrate.
Wrapping
oWrapping adalah merangkum komponen legacy dengan lapisan software baru
yang menyediakan antarmuka baru dan menyembunyikan kompleksitas
komponen tua. Lapisan enkapsulasi dapat berkomunikasi dengan komponen
legacy melalui socket, Remote Procedure Calls (RPCs), atau API.
oBagian depan input wrapper menerima permintaan, kemudian
merestrukturisasi, dan memanggil objek target dengan argument direksturisasi.
oBagian depan output wrapper menangkap output dari wrapped entity,
restrukturisasi output, dan mendorong ke entitas yang meminta.
oWrapping bukan solusi untuk LIS
Type of Wrapping
Wrapper dibagi menjadi 4 kategori :
◦ Database wrappers : diklasifikasikan menjadi forward wrappers (fwrappers) and backward wrappers (b-wrappers).
◦ System service wrappers : mendukung akses layanan sistem yang
umum yaitu routing, sorting, dan printing.
◦ Application wrappers : merangkum transaksi online atau
sekumpulan proses
◦ Function wrappers : menyediakan antarmuka untuk memanggil
fungsi pada wrapped entity.
Figure 5.1Forward wrapper © ACM, 2006
Figure 5.2 Backward wrapper © ACM, 2006
Database Wrapper
Figure 5.3 Levels of encapsulation ©IEEE,
1996
Level of Encapsulation
Level of Encapsulation
Process Level :
Pekerjaan pada server dimulai dengan menerima input data, mengakses
database, dan menghasilkan output data. Input dan output data terkandung
dalam file.
File input diciptakan oleh klien dan ditransfer ke server oleh wrapper.
Setelah selesai, wrapper mengambil alih file output untuk diteruskan ke klien
Transaction Level :
Menangani komunikasi host ke klien
Melakukan restart dan recovery task, exception handling, rollback,dan
commit.
Level of Encapsulation
Program Level
:
Sekumpulan program dipanggil dalam wrapper. Wrapper mengganti program input dengan
data input yang dating dari aplikasi klien. Selain itu, output dari wrapped program ditangkap,
diformat ulang, dan dikirim ke klien.
Module Level :
Pertama, wrapper menyangga nilai-nilai yang diterima diruang alamat sendiri. Kemudian,
nilai-nilai yang disangga diteruskan ke modul yang diminta. Akhirnya, nilai-nilai output dari
modul yang diminta diteruskan ke klien.
oProcedure Level
:
Membangun parameter antarmuka dan jika dibutuhkan menginisialisasi variable global
sebelum memanggil prosedur.
Constructing a Wrapper
Sistem legacy di bungkus kedalam 3 tahapan :
◦ Sebuah wrapper dibangun
◦ Program target disesuaikan.
◦ Interaksi antara program target dengan wrapper diverifikasi
Sebuah wrapper adalah program yang menerima input
pesan dari program klien, mengubah input menjadi
representasi internal, dan memanggil sistem target dengan
pesan baru diformat.
Figure 5.4 Modules of a wrapping framework
Constructing
a Wrapper
Constructing a Wrapper
External Interface : Antarmuka pada wrapper yang diakses oleh klien, wrapper
dan klien berkomunikasi melalui pesan yang meliputi header dan body.
Internal Interface : antarmuka yang terlihat pada server. Antarmuka internal
tergantung pada bahasa dan jenis wrapped entity.
Message Handler : untuk menangani pesan agar tingkat kecepatannya stabil.
Interface Converter : mengubah internal interface menjadi external interface,
dan sebaliknya.
I/O emulator : mencegat input dan output dari wrapped entity.
Adapting a Program from Wrapper
& Screen Scraping
Sebuah wrapped program dimodifikasi sampai batas tertentu, dan diharapkan program
yang dimodifikasi terus beroperasi dalam mode normal. Program beradaptasi dengan
bantuan alat, 4 bantuan alat yaitu :
◦ Transaction wrapper.
◦ Program wrapper.
◦ Module wrapper.
◦ Procedure wrapper.
o Screen Scraping : Bentuk modern dari wrapping yaitu menggunakan grafis dan
antarmuka yang lebih canggih menggantikan antarmuka berbasis teks.
Migration
oMigrasi adalah alternative terbaik ketika wrapping tidak cocok dan
pembangunan kembali tidak dapat dilakukan karena beresiko tinggi.
oMigrasi melibatkan perubahaan, sering termasuk restrukturisasi
sistem, peningkatan fungsi, atau memodifikasi atribut, tetapi
mempertahankan fungsi dasar dari sistem yang ada.
oMigrasi terdiri dari 3 langkah utama :
oPerubahan skema yang sudah ada menjadi skema target
oPerubahan data
oPerubahan program
Migration
Schema Conversion : menerjemahkan skema database legacy ke
dalam struktur database yang setara dengan teknologi baru.
Transformasi skema dilakukan dalam 2 tahap proses. Yang pertama
DBRE bertujuan untuk memulihkan skema konseptual yang
mengekspresikan semantic dari struktur sumber data. Yang kedua
adalah straightforward yang memperoleh target physical schema
dari conseptual schema.
Data Conversion : Pemindahan data instansi dari legacy database ke
target database. Data conversion membutuhkan 3 langkah : extract,
transform, and load (ETL).
Migration
Program Conversion : memodifikasi program untuk
mengakses database yang sudah dimigrasi, bukan legacy
database.
Testing and Functionality : Sangat penting untuk
mengetahui bahwa output dari target sistem sama dengan
output LIS.
Migration Planning
Kegiatan perencanaan migrasi terdiri
dari 13 langkah :
Step 7: Understand the target technology.
Step 8: Evaluate the available technologies.
Step 1: Perform portfolio analysis.
Step 9: Define the target architecture.
Step 2: Identify the stakeholders.
Step 10: Define a strategy.
Step 3: Understand the requirements.
Step 11: Reconcile the strategy with the
needs of the stakeholder.
Step 4: Create a business case.
Step 5: Make a go or no-go decision.
Step 6: Understand the LIS.
Step 12: Determine the resources required.
Step 13: Evaluate the feasibility of the
strategy.
Metode Migrasi
Tidak ada satu pun pendekatan yang dapat diterapkan ke seluruh
jenis legacy systems, hal ini dikarenakan mereka memiliki perbedaan
masing-masing pada skala, kompleksitas, dan resiko kegagalan pada
saat migrasi.
7 Jenis Pendekatan
-Cold turkey
-Database first
-Database last
-Composite database
-Chicken little
-Butterfly
-Iterative
Cold Turkey
Strategi Cold Turkey juga sering disebut sebagai pendekatan Big
Bang.
Cold Turkey menyangkut dalam redesigning dan recoding LIS mulai
dari awal menggunakan platform eksekusi baru, software arsitektur
modern, alat-alat baru, dan database baru.
Saat pendekatan ini diterapkan, salah satu orang harus menjamin
bahwa sistem yang direnovasi akan mencakup banyak fitur baru
selain fungsi yang disediakan oleh legacy system.
Cold Turkey (lanjutan)
Resiko kegagalan meningkat karena kompleksitas
migrasi.
Pendekatan ini dapat diterapkan, jika legacy sistem
stabil, fungsi yang telah terdefinisi dengan baik, dan
dalam ukuran kecil.
Database First
Database first juga sering dikenal sebagai forward
migration method.
Method first ini memindahkan database, termasuk data,
ke DBMS modern, dan kemudian secara bertahap
memindahkan legacy aplikasi program dan interface-nya.
LIS secara bersamaan bekerja dengan sistem baru melalui
forward gateway, sementara interface dan aplikasi legacy
direkayasa ulang.
Database First (lanjutan)
Diimplementasikan sebagai
modul software, sebuah gateway
yang menengahi antara
komponen operational software.
Database First memungkinkan
aplikasi LIS untuk mengakses
database pada sisi target seperti
ditunjukkan pada gambar
berikut.
Database First (lanjutan)
Forward gateway menerjemahkan panggilan aplikasi legacy ke
panggilan target.
Demikian pula, keluaran dari reengineered database
diterjemahkan untuk digunakan oleh legacy sistem.
Pendekatan ini memiliki tiga kekurangan utama:
pertama, pendekatan ini hanya berlaku untuk legacy sistem yang benar-benar
telah terurai.
Kedua, struktur database yang baru harus didefinisikan sebelum migrasi dapat
dijalankan.
Ketiga, sulitnya dalam pembangunan forward gateway.
Database Last
Database last hanya cocok untuk LIS yang benar-benar telah terurai
Dalam pendekatan ini, aplikasi legacy secara bertahap bermigrasi
ke target platform, namun database legacy tetap pada platform asli.
Migrasi database dikerjakan terakhir.
Sama seperti pendekatan database-first, sistem informasi didukung
oleh sarana gateway.
Target aplikasi mengakses database LIS melalui reverse gateway.
Database Last (lanjutan)
Seperti diilustrasikan pada gambar, reverse gateway menerjemahkan panggilan
dari aplikasi baru dan mengarahkan mereka ke legacy database.
Database Last (lanjutan)
Ada dua isu utama pada pendekatan Database Last:
Pertama, pemetaan dari skema target database ke legacy
database bisa lambat, sehingga berdampak pada aplikasi baru.
Kedua, beberapa fitur yang bermanfaat dari relational database,
yaitu pemicu, integritas, dan constraint tidak dapat dimanfaatkan
oleh aplikasi baru, karena fitur tersebut mungkin tidak ada dalam
legacy database.
Composite Database
Pendekatan composite database berlaku untuk sistem informasi
lagacy yang fully decomposable, semidecomposable, dan nondecomposable.
Dalam pendekatan composite database, sistem informasi target
dijalankan secara paralel dengan legacy sistem selama proses
migrasi.
Pada awalnya, sistem target adalah bentuk kecil, namun tumbuh
saat migrasi berlanjut.
Composite Database (lanjutan)
Sementara migrasi terus berlanjut, seperti yang ditunjukkan oleh gambar, dua sistem
membentuk sistem informasi komposite, menggunakan kombinasi forward dan reverse gateway.
Composite Database (lanjutan)
Setelah menyelesaikan proses migrasi, semua fungsi dari
sistem yang lama akan dikerjakan oleh sistem baru.
Dalam pendekatan ini, data dapat diduplikasi di kedua
database: legacy dan target.
Chicken Little
Strategi Chicken Little sedikit memurnikan strategi
Composite Database, dengan mengusulkan solusi migrasi
untuk fully decomposable, semidecomposable, dan
nondecomsosable legacy sistem dengan berbagai jenis
gateway.
Perbedaan antara gateway tersebut didasarkan atas:
Lokasi gateway di dalam sistem
Derajat fungsionalitas gateway
Chicken Little (lanjutan)
Untuk fully decomposed LIS, gateway database diletakkan antara
layanan database dan modul aplikasi.
Kata gateway database dapat berupa forward gateway atau reverse
gateway.
Baik forward gateway dan reverse gateway juga dikenal sebagai
gateway database.
Aplikasi gateway digunakan untuk LIS semidecomposable.
Chicken Little (lanjutan)
Aplikasi gateway telah
diilustrasikan pada gambar, dan
berlokasi di antara user dan
sistem interface dan aplikasi
legacy.
Chicken Little (lanjutan)
Untuk sistem nondecomposable
gateway sistem informasi terletak
antara pengguna dan sistem
informasi lain dan LIS
Butterfly
Metodologi Butterfly tidak membutuhkan akses secara bersamaan
dari kedua sistem legacy database sistem dan target database
sistem.
Target sistem tidak dioperasikan dalam mode produksi, pada saat
rekayasa ulang legacy sistem.
Dengan kata lain, sistem lama yang direkayasa ulang tetap
operasional selama tahap mirgrasi.
Selama proses migrasi, data hidup tidak disimpan secara
bersamaan baik dalam sistem baru maupun legacy sistem.
Butterfly (lanjutan)
Untuk data migrasi, metode Butterfly memperkenalkan
konsep berikut:
Sample DataStore, Legacy SampleData, dan Target SampleData
TempStore,
Data-Access-Allocator,
Data-Transformer,
Termination-Condition dan Threshold Value
Butterfly (lanjutan)
Migrasi sistem legacy diatur ke dalam enam langkah utama, yang
juga disebut sebagai fase.
Butterfly (lanjutan)
Kelemahan Metode Butterfly
Kelemahan utama metodologi Butterfly adalah bahwa legacy database
digunakan untuk membaca saja, sedangkan modifikasi ditempatkan terpisah,
yakni temporary database.
Akibatnya, ketika ada kebutuhan untuk mengakses beberapa data, sistem
membaca baik database lama maupun database target, ditambah temporary
database.
Sebagai hasil, ada peningkatan dalam waktu untuk mengakses data yang
dibutuhkan.
Itterative
Metode itterative menyiratkan bahwa salah satu komponen pada
suatu waktu direkayasa ulang.
Dengan demikian, legacy sistem secara bertahap berkembang
selama periode waktu.
Metode ini memungkinkan operasi simultan dari sistem yang
direkayasa ulang dan komponen dari legacy sistem.
Komponen sistem yang direkayasa ulang mengakses baik legacy
database or new database, berdasarkan pada lokasi data aktual.
Itterative (lanjutan)
Legacy metodologi membagi legacy data ke dalam dua kategori:
Primary data: data primer adalah data yang sangat penting
untuk fungsi bisnis sebuah aplikasi.
Residual data: Data-data ini tidak diperlukan untuk
melaksanakan fungsi bisnis aplikasi, tetapi digunakan oleh
legacy sistem.
Primari data terdiri dari dua jenis data:
 Data konseptual: Data ini menggambarkan konsep spesifik
untuk domain aplikasi
 Data Struktural: Data ini diperlukan untuk mengatur dan
mendukung struktur data yang digunakan untuk
mengakses data konseptual
Itterative (lanjutan)
Migration Process
-Menganalisis Legacy Sistem
-Mengklasifikasikan Data
-Mendesign ulang Basis Data
-Me-restore Komponenkomponen Legacy
-Migrasi Data
-Prosedur-prosedur Rekayasa
Ulang
-Test Kesetaraan
-Residural BD Kosong
-Iterasi
-Membersihkan MetaData
-Merekonstruksi Dokumentasi