Sistem Distribusi Data Melalui COM+ Dengan Visual Basic Artikel ini telah dipublikasikan pada majalah Mikrodata Vol. 5 Series 17, May 2002. Agus Kurniawan
[email protected] http://blog.aguskurniawan.net
1. Pendahuluan Pernahkan anda membuat aplikasi komponen ActiveX yang kemudian diakses oleh aplikasi client seperti Visual Basic, Active Server Page (ASP) ataupun Visual C++ ? , kalau aplikasi client yang mengakses komponen tersebut dalam jumlah yang normal maka komponen ActiveX dapat melayani tetapi bila aplikasi client banyak mengakses komponen ini dalam jumlah yang sangat besar dengan memakai macam aplikasi baik desktop maupun web maka bisa dipastikan kinerja servis yang diberikan oleh komponen tersebut akan menurun, lebih parah lagi bisa terjadi error. Untuk mengatasi ini Microsoft memperkenalkan teknologi apa yang disebut dengan Microsoft Transaction Server (MTS). MTS inilah yang menangani permintaan dari luar ke komponen ini sehingga manajemen pengaturan akses dapat diatasi. Sejalan dengan meningkatnya teknologi informasi, teknologi MTS juga mengalami kelemahan ketika akses ke komponen sudah terlalu banyak dari batas akses dalam waktu bersamaan sehingga ini mendorong Microsoft memperbaiki teknologi MTS ini dan ujung-ujungnya Microsoft mengeluarkan teknologi COM+ yang disertai pada Operating System Windows 2000 dan XP Pada artikel ini akan dibahas bagaimana membuat komponen semacam ActiveX yang jalan di lingkungan COM+ dengan menggunakan Visual Basic 6 pada OS Windows 2000 dan untuk sisi client dapat digunakan OS Windows 2000 , XP, NT, Me dan 9.x.
2. Apakah itu Komponen COM+ Komponen COM+ merupakan komponen hasil pengembangan dari COM (Component Object Model) dan MTS (Microsoft Transaction Server). Dengan menggunakan komponen COM+ kita dapat membuat sistem aplikasi distribusi berbasis komponen dan aplikasi multi-tier. COM+ juga merupakan versi upgrade dari COM dan MTS (versi 2.0) yang menjanjikan kemampuan yang handal dalam menangani masalah distribusi data. Sebenarnya COM+ hanya ada di Operating system Windows 2000 dan XP, sedangkan pada Windows NT masih tetap pakai MTS.
3. Keuntungan Komponen COM+ Keuntungan-keuntungan yang diberikan oleh COM+ antara lain:
1|Halaman
1. Support pada COM+ partition yang memungkinkan aplikasi berjalan dalam multi versi COM+ diinstall dan dikonfigurasi dalam mesin yang sama. 2. Running aplikasi COM+ sebagai NT Service. 3. Pemakaian memori yang kecil 4. Pengaturannya mudah karena dapat dilakukan proses pause dan meng-non aktif-kan komponen COM+ 5. Adanya proses dumping sehingga jika komponen ini rusak atau error makan tidak akan mengganggu proses komponen yang lain 6. Adanya setting untuk aplikasi pooling 7. Adanya fasilitas Message Queue yang digunakan untuk menampung permintaan data dari luar yang sangat banyak.
4. Membuat Komponen Server COM+ Untuk lebih memahami bagaimana itu komponen COM+ maka kita langsung membuat aplikasi COM+ melalui studi kasus (gambar 1) yaitu Membuat aplikasi login yang terhubungan dengan sistem database yang seperti tergambar pada gambar 2
Gambar 1, Diagram Use Case
Gambar 2, Aplikasi client-server pada sistem login Sebelum membuat aplikasi komponen server COM+, terlebih dulu kita akan membuat databasenya. Untuk kasus ini, database-nya yang digunakan adalah Microsoft 2|Halaman
Access 2000. Sistem database yang akan kita buat tidak terlalu komplek. Berikut langkah-langkahnya: 1. Jalankan Microsoft Access 2000 2. Tulis nama filenya LoginDB.mdb 3. Buat tabel dengan nama Tlogin dengan field sebagai berikut Nama Field
Tipe Field
UserID Text Password Text 4. Isi data dalam tabel Tlogin secukupnya Setelah membuat databasenya, langkah selanjutnya melakukan konfigurasi database pada ODBC. Berikut ini caranya: 1. Jalankan Data Source ODBC pada control panel, administrative tool 2. Tekan tombol Add, maka akan keluar window untuk memilih driver dan pilih Microsoft Access Driver (*.mdb), kemudian tekan tombol Finish dan akan muncul window ODBC Microsoft Access Setup 3. Isi nama Data Source Name yaitu LoginDB dan tekan tombol Select, cari file database access yang baru kita buat : LoginDB.mdb. Setelah selesai semua tekan tombol OK. Langkah-langkah membuat komponen server COM+ 1. Jalankan Visual Basic dengan memilih aplikasi ActiveX DLL 2. Beri nama kelas module dengan nama LoginSys dan nama project LoginApp. 3. Karena komponen kita yang akan dibuat mengakses database, maka tambahkan reference yaitu klik menu Project->References…. Pada windows Reference pilih komponen Microsoft ActiveX Data Objects 2.7 Library (memakai versi 2.6 juga boleh) dan COM+ Service Type Library digunakan untuk mengakses COM+ pada windows 2000. 4. Pada bagian kelas module LoginSys, tambahkan line code berikut: Option Explicit Private UserID As String Private Password As String Public Function Validation(UsrID As String, Passw As String) As Boolean ' penanganan error On Error GoTo ErrHandler Dim obj As ObjectContext Set obj = GetObjectContext() Dim Conn As New ADODB.Connection Dim RecSet As New ADODB.Recordset ' koneksi ke database Conn.ConnectionString = "DSN=LoginDB;" & _ "UID=sa;pwd=;" Conn.Open
3|Halaman
' lakukan query untuk mengecek UserID RecSet.Open "Select * FROM TLogin WHERE UserID='" & UsrID & "'", Conn ' Kalau tidak ada berrati UserID tidak terdaftar If (RecSet.EOF) Or (RecSet.BOF) Then Validation = False Else ' password salah If RecSet(1) <> Passw Then Validation = False Else Validation = True End If End If ' Tutup koneksi database RecSet.Close Conn.Close Set RecSet = Nothing Set Conn = Nothing obj.SetComplete Set obj = Nothing Exit Function ErrHandler: obj.SetAbort Err.Raise vbObjectError, "LoginApp.LoginSys.Validation", Err.Description Exit Function End Function
5. Compile menjadi file DLL dengan cara klik menu File->Make LoginApp.dll
5. Konfigurasi Komponen COM+ Pada Component Service Setelah komponen COM+ dibuat (file LoginApp.dll) maka kita akan melakukan konfigurasi di bagian Component Service dibagian control panel – Administrative tool yang tampilannya icon seperti gambar dibawah.
Gambar 3, Bentuk icon aplikasi Component Service Berikut ini langkah-langkah untuk konfigurasi komponen ke Component Service:
4|Halaman
1. Jalankan aplikasi Component Service dibagian control panel – Administrative tool
Gambar 4, Tampilan aplikasi Component Service 2. Klik kanan folder COM+ Applications, dan pilih menu New->Application sehingga akan muncul Wizard. Ikuti wizard tersebut, pilih Create an empty application dan akan muncul window untuk mengisi nama aplikasi, isi dengan COMvb dengan Activation type berupa Library Application. Setelah itu tekan tombol Next dan diteruskan menekan tombol Finish. Pada Component Service akan muncul folder seperti gambar dibawah
Gambar 5, Menambah Aplikasi baru ke COM+ 3. Pada Component Service klik kanan di bagian folder COMvb->Components, pilih menu New->Component sehingga akan muncul wizard, pilih Import component(s) that are already registered , kemudian wizard akan menampilkan semua daftar komponen dan pilih komponen yang baru kita buat LoginApp.LoginSys dan lalu tekan tombol Next yang dilanjutkan menekan tombol Finish. Hasilnya komponen yang kita buat sudah running dalam lingkungan COM+ seperti terlihat pada gambar dibawah ini:
5|Halaman
Gambar 6a, Menambahkan komponen LoginApp.LoginSys ke lingkungan COM+
Gambar 6b, Komponen LoginApp yang sudah running di lingkungan COM+
6. Membuat Aplikasi Client Dengan Visual Basic Dibagian ini, kita akan membuat aplikasi client yang akan mengakses komponen COM+. Berikut ini langkah-langkah untuk membuat aplikasi client: 1. Jalankan aplikasi Visual Basic dengan project baru, Standard EXE dengan nama TestCOMplus 2. Buat unit interface seperti pada gambar ini
6|Halaman
Gambar 7, Tampilan UI untuk aplikasi client Pada bagian properties, TextBox1 diberi nama UserTxt dan TextBox2 diberi nama PassTxt serta nilai properties PasswordChar berupa * 3. Klik dua kali tombol Login dan tambahkan line code sebagai berikut: Private Sub Command1_Click() ' initialisasi object COM+ Dim obj As Object Set obj = CreateObject("LoginApp.LoginSys") ' mengecek validation user dan password If obj.Validation(UserTxt.Text, PassTxt.Text) Then MsgBox "Sukses proses login", vbOKOnly, "Sukses" Else MsgBox "Gagal login, coba diulang lagi", vbOKOnly, "Error" UserTxt.SetFocus End If Set obj = Nothing End Sub
4. Run aplikasi ini, masukan userID dan password
7. Kesimpulan Dengan menggunakan aplikasi COM+, kita dapat mengoptimalkan akses ke aplikasi dan lebih efisien dan stabil dan ini adalah salah satu cara untuk memdapatkan fitur seperti yang diinginkan
8. Referensi: MSDN Library
7|Halaman