0

Integrasi sistem

Perkara yang terkandung dalam artikel ringkas ini bermula dengan niat saya menjelaskan integrasi sistem dalam talian. Apa itu integrasi sistem? Integrasi sistem dalam talian adalah kacukan dua sistem yang dibangunkan secara berasingan dan dikelompokkan dalam satu sistem lain. Contohnya membangunkan sistem Log Masuk Tunggal untuk semua sistem dalam urusan elektronik kerajaan. Atau contoh yang lebih jelas ialah gabungan pengurusan akaun bank yang melibatkan Tabung Haji dengan Bank Islam, Bank Kerjasama Rakyat dan Bank Simpanan Nasional. Apabila disebut integrasi, tidak boleh tidak sistem-sistem yang dibangunkan berkongsi data setara yang akan menjadi rujukan perantara sistem. Perantara sistem boleh jadi laman web sehenti (bagi kes sistem Log masuk Tunggal / Single Sign-On [SSO]) atau Mesin Deposit Tunai (CDM).

Pada masa hadapan, Malaysia akan memiliki suatu sistem yang memerlukan satu ID dan kata laluan untuk membuat urusan-urusan elektronik semua agensi kerajaan. Bermakna seseorang tidak lagi perlu mencipta 10 akaun elektronik untuk berurusan dengan 10 agensi kerajaan. Perkara berkenaan SSO disenyapkan seketika sehingga idea tersebut menjadi nyata dalam masa terdekat. Masih ingat lagikah kita kepada anjuran bekas PM terdahulu berkaitan Sumber Terbuka? Dalam bahasa Inggeris ia disebut Open Source. Antara matlamat galakan penggunaan perisian Sumber Terbuka adalah penjimatan membayar lesen perisian. Hal ini kerana perisian Sumber Terbuka bebas diguna, diubah suai dan dikongsi. Perisian berlesen biasanya mahal dan tidak mampu dibayar oleh sesetengah penyedia perkhidmatan online. Antara contoh lesen Sumber Terbuka yang popular adalah Apache 2.0, Lesen Awam Mozilla, Lesen Awam Eclipse, Lesen Awam Am GNU (GPL), Lesen MIT.

Menyedari hakikat betapa pelesenan perisian atau kerangka sistem komersial sangat mahal dan berubah dengan pesat, tidak boleh tidak penggunaan Sumber Terbuka menjadi alternatif popular agar pelaburan yang optima dibuat bagi mengekalkan sistem stabil dan dikemas kini setiap masa. Hal ini bermakna lebih banyak pakar diperlukan bagi mengelak kebergantungan kepada perkhidmatan selepas jualan seperti yang diamalkan sebelumnya. Senario ini boleh dijelaskan seperti berikut. Jika sesebuah firma membeli perisian komersial, sebarang permintaan untuk meminda mana-mana fungsi, antaramuka dan lain-lain (istilah IT: customization) boleh dibuat melalui pasukan sokongan syarikat yang menjualnya. Berbeza halnya dengan firma yang menggunakan perisian Sumber Terbuka percuma, syarikat tersebut perlu mewujudkan satu pasukan khas untuk kerja-kerja customization.

Mengapa ditulis perkataan percuma dalam para di atas? Hakikat betapa sesetengah negara rantau di dunia yang terkebelakang dalam teknologi, firma-firma yang menggunakan Sumber Terbuka menawarkan produk yang dikenal sebagai Edisi Enterprise (EE). Lawan kepada EE ialah Edisi Masyarakat (Community Edition – CE). Salah satu yang menjadi peneraju dalam Sistem Pengurusan Kandungan (CMS) Sumber Terbuka ialah LIFERAY. Artikel ini lebih menjurus kepada kacukan dua kerangka sistem yang berbeda. Tahukah anda? LIFERAY menggunakan kerangka JAVA. Manakala kebanyakan sistem awal agensi kerajaan menggunakan kerangka .NET (baca dot net). Bagaimana halnya laman web yang dibangunkan menggunakan .NET mahu ditukar dengan laman web yang menggunakan JAVA? Dari segi kandungan biasa seperti artikel, imej tiada masalah. Ia sama seperti kaedah copy & paste. Tetapi bagaimana dengan sistem yang melibatkan borang-borang dalam talian?

Bayangkan sebuah portal (portal A) yang memiliki beribu-ribu akaun pengguna. Setiap pengguna telah memiliki transaksi dalam laman sesawang asal. Transaksi tersebut perlu dipaparkan juga dalam laman sesawang baharu (portal B). Laman sesawang lama tidak boleh diakses secara terus sama sekali. Secara analogi, kita ingin memasuki sebuah bilik menggunakan satu kunci. Pintu bilik tersebut hanya boleh dibuka dengan membuka pintu utama. Kedua-dua pintu dibuka dan ditutup serentak. Laman web dengan pengurusan kandungannya menyediakan fungsi akaun pengguna mempunyai satu persamaan iaitu ID. ID boleh jadi nama pengguna (username), nombor pengenalan diri atau alamat emel. Untuk log masuk ke sistem semakan baki pinjaman PTPTN atau Jobsmalaysia misalnya, ID yang ditetapkan adalah nombor MyKad. Akaun laman web KWSP atau bank dalam talian, IDnya berupa username. Portal yang menggunakan CMS LIFERAY mempunyai tiga pilihan ID iaitu nama skrin, alamat emel dan Open ID.

Disebabkan portal A dan B berbeza dari segi CMS, masing-masing mempunyai struktur pangkalan data pengguna berbeza. Anatomi data akaun pengguna tidak sama. Boleh jadi akaun pengguna portal A memiliki 20 rekod dalam tiga table. Manakala akaun pengguna portal B memiliki 20 rekod dalam satu table. Bagi membolehkan kedua-dua sistem dalam diintegrasi, token dari portal B perlu dikembalikan (parsed) kepada portal A. token bermaksud sesuatu yang mempunyai nilai boleh dilihat atau ketara (tangible) bagi mewakili nilai abstraks. ID diguna sebagai token asalkan nilainya sepadan dalam kedua-dua portal yang dibangunkan. Bagaimana memastikan ada satu nilai sepadan? Data pengguna portal A perlu dimigrasi ke dalam pangkalan data pengguna portal B. Pengguna portal B masih perlu melakukan hal sama iaitu mengemas kini profil terlebih dahulu sebelum membuat transaksi. Timbul satu soalan, tidakkah akan berlaku konflik komunikasi antara .NET dan JAVA? Jawapannya ya. Dan inilah salah satu ‘jambatan’ yang menghubungkan .NET dan JAVA.