Jumat, 25 Juni 2010

Service Interface


Di musim Piala Dunia saat ini, Anda ingin menyaksikan siaran langsung pertandingan kesebelasan kesukaan di layar televisi. Ternyata kabel TV belum terhubung ke sumber listrik. Anda ambil kabel listrik TV dan hubungkan ke stopcontact (istilah kerennya "colokan") yang tertanam atau menempel di dinding. Dari kegiatan kecil, ringan, dan sederhana ini Anda bisa mulai menambah ilmu lagi salah satu bagian dari SOA (Service Oriented Architecture), yakni service interface. Lalu, apa hubungan colokan listrik dengan SOA?

Dari yang digambarkan pada tulisan Analogi SOA, kita bisa menarik kesimpulan bahwa Software atau Sistem Aplikasi berbasis SOA tersusun dari berbagai service yang saling berinteraksi. Berbagai service itu tersusun dalam komposisi atau terorkestrasi sedemikian rupa hingga membentuk suatu fungsi bisnis misalnya layanan penjualan atau pelayanan pelanggan. Agar service yang dan yang lain bisa saling berinteraksi, ia membutuhkan penghubung, dan penghubung itu dinamakan service interface, atau kita sebut saja interface.

Kembali ke cerita nonton siaran langsung Piala Dunia tadi, agar kita bisa menikmati service (layanan) TV kita membutuhkan service dari PLN berupa tenaga listrik. Service TV berupa gambar dan suara membutuhkan service tenaga listrik. Agar dua service itu bisa saling berinteraksi, dibutuhkan penghubung atau interface, dan interface itu berupa stopkontak dan kabel colokan.

Sebelum membicarakan lebih lanjut tentang interface. Sekedar mengingat kembali apa yang ditulis di Analogi SOA, sadarkah kita bahwa sebuah service berupa TV sebetulnya juga merupakan susunan dari banyak service? Ada IC pengubah frekuensi elektromagnet menjadi pulsa listri analog atau digital, IC pengatur warna gambar, tabung atau layar LCD untuk menampilkan gambar. Demikian juga service berupa tenaga listrik dari PLN, ia merupakan hasil dari interaksi banyak service: PLTA, PLTU, atau generator bertenaga disel, jaringan kabel SUTET, layanan para pegawai dan banyak service yang lain.

Kembali ke pokok pembicaraan kita, service interface. Kita tahu bahwa suatu service, misalnya TV, membutuhkan interface agar bisa dipakai. Persoalan akan timbul jika ternyata interface yang tersedia itu tidak standar. Betapa repotnya kalau berbagai peralatan listrik yang ada di rumah kita seperti kulkas, TV, kipas angin, pemutar DVD dan banyak lagi yang lain mempunyai interface berupa kabel colokan yang berbeda-beda alias tidak stardar. Artinya di tembok rumah kita juga harus dipasang berbagai stopkontak berbeda-beda. Di samping tidak praktis, tentu saja juga akan mengganngu estetika. Atau suatu produk misalnya TV, interface yang disediakan berbeda antara merek satu dengan merek yang lain. Kita pasti bisa membayangkan betapa menjengkelkannya jika tiadanya standarisasi seperti itu.

Sayangnya, tiadanya standarisasi itulah yang terjadi di dunia teknologi informasi, khususnya perangkat lunak atau software. Di bidang perangkat keras atau hardware, standarisasi sudah mengalami banyak kemajuan, misalnya dengan ditemukannya USB. Sekarang untuk menghubungkan berbagai peralatan seperti printer, harddisk eksternal, atau mouse ke komputer, cukup dengan satu jenis interface: USB. Di bidang software, standarisasi interface antar komponen atau potongan software hampir tidak ada standarisasi, dan baru mulai dicanangkan dan digalakkan sejak munculnya konsep SOA.

Standar utama yang dipakai dalam SOA untuk melakukan pertukaran data atau informasi (dalam SOA lebih sering disebut sebagai message) adalah XML (eXtensible Markup Language). Secara teknis, XML adalah berkas teks (text file). Karena berupa teks, ia dikenali oleh sistem operasi apa saja (Unix, Linux, Windows, Mc OS, dsb), bahasa pemrograman apa saja (Java, .Net, PHP, dsb), dan bisa disalurkan lewat protokol apa saja (HTTP, FTP, SMTP, SOAP, dsb). Dengan kata lain, XML menjadi sarana yang sangat ampuh untuk melakukan pertukaran data/informasi, dan untuk integrasi antar berbagai aplikasi baik yang ada dalam satu organisasi maupun antar organisasi.

Dan yang paling menggembirakan adalah bahwa XML telah relatif lama dijadikan standar oleh Organisasi Standar dunia seperti W3C (World Wide Web Consortium) dan OASIS (Organization for the Advancement of Structured Information Standards). Vendor-vendor besar pembuat software seperti IBM. Microsoft, Oracle, HP, Software AG, dan berbagai organisasi open source pembuat platform SOA telah mengadopsi dan mematuhi standar tersebut.

Dengan adanya standar XML sebagai interface bagi berbagai service yang ada di muka bumi, akan memberi dampak yang sangat positif berupa sumbangan dunia TI bagi kemajuan dunia bisnis, kemudahan dan kenyamanan bagi manusia dalam bertukar informasi, dan melakukan berbagai kegiatan sehari-hari. Dan seringkali tanpa kita sadari, manfaat itu sudah kita nikmati sejak beberapa tahun terakhir ini. Misalnya, ketika kita belanja buku melalui Amazon.com dan kita meminta pengririmannya menggunakan DHL misalnya, kita menggunakan sebuah aplikasi web yang merupakan orkestrasi dari berbagai sowtware/aplikasi yang ada di Amazon itu sendiri, penyedia kartu kredit (VISA, Mastercard, atau lainnya) dan di DHL. Belanja semacam itu bagi saya merupakan pengalaman yang mengasyikkan. Kita bisa melakukan pelacakan terhadap buku yang kita pesan dan informasi yang kita dapat relatif real time, tanggal dan jam berapa buku kita ada dimana, buku kita sudah sampai di bandara Soekarno-Hatta kapan dan sebagainya. Dengan demikian kita bisa pesan ke seorang teman untuk mewakili menerima buku kita jika kebetulan kita harus keluar kantor.

Bukan sebuah mimpi yang mengada-ada rasanya jika kita mempunyai visi ke depan tentang saling berinteraksinya berbagai aplikasi besar/kecil yang ada di planet bumi ini yang siap membantu kita dalam melakukan kegiatan bisnis, sosial, maupun pribadi dengan cara yang murah, mudah, mengasyikkan dan menyenangkan. Semoga.

Samsurizal R

4 komentar:

  1. Jujur kenapa ga dari dulu saya temukan blog ini.. Pembahasan nya menarik sekali. Tapi kelihatan nya blog nya masih baru ya Sir??

    BalasHapus
  2. Bung Robert, pertama-tama saya sampaikan selamat datang, dan terima kasih telah bersedia mampir di blog kami.

    Betul bung, blog ini masih baru. Didorong oleh keinginan untuk sosialisasi SOA dengan bahasa yang mudah dimengerti oleh kalangan yang lebih luas, bukan hanya untuk praktisi TI.

    BalasHapus
  3. Terima kasih juga Sir, saya akan jadi pengunjung tetap bolg ini. :)

    BalasHapus
  4. Pak mau tanya, perbedaan mendasar EAI dan SOA apa ya pak? saya kurang mengerti karena dua-duanya, "mengelompokkan service", atau kalau saya salah, tolong dikoreksi pak, terima kasih

    Ronald

    BalasHapus