SOA
SOA singkatan dari Services Oriented Architecture, sebuah arsitektur berbasiskan pelayanan, yang memungkinkan semua entitas menjadi sebuah pelayanan yang bersifat melayani. Lebih mudahnya implementasi SOA adalah merubah sebuah aplikasi yang pertama hanya dipakai untuk entry menjadi sebuah aplikasi yang dapat berinteraksi dengan aplikasi lain, dan sifatnya tidak point-to-point. Tentu saja SOA lebih luas dari contoh yang dijelaskan. SOA itu saat ini terkadang dipaksakan mengikuti produk yang dikeluarkan vendor, yang oleh vendor besar disebut SOA Suite, tetapi sebenarnya lebih luas dari yang kita bayangkan. Ini mirip dengan istila ERP atau CRM dalam dunia operasional, yang sebenarnya lebih luas dari sekedar aplikasi software belaka. SOA memang digembar-gemborkan oleh perusahaan vendor penyedia software, yang dianggap sebagai kartu as untuk memenangkan persaingan didunia terkolaborasi saat ini. Contoh SOA didunia non digital adalah cara melayani customer services dengan pelanggannya, atau sebuah server yang berjalan secara otomatis yang melakukan sebuah kegiatan untuk menghasilkan kegiatan sendiri secara otomatis. Yah, itu semua adalah contoh-contoh SOA. Yang menarik dari SOA ini adalah, tahun 2005, dicanangkan sebagai tahun SOA, dan apa sebenarnya dampak SOA bagi kehidupan manusia? sebenarnya dengan masuknya SOA sebagai fondasi sebuah kehidupan, akan membuat entitas yang terhubung didalamnya akan semakin peduli terhadap apa itu artinya kepuasan pelanggan. Contoh implementasi SOA yang baik di departemen bea cukai (misalnya), kepuasan administrasi antara exportir dan importir akan terjalin lebih transparan. Inilah inti utama dari SOA. Sebenarnya implementasi SOA dalam dunia non digital lebih cenderung kepada implementasi kepuasan pelanggan, dah how-to-nya memuaskan dari semua entitas yang memerlukan pelayanan tersebut, yang umumnya meliputi interaksi kepuasan para stakeholder atau antar stakeholder didalam kerja sama antar perusahaan. Yang tentu saja tidak dibahas dalam artikel ini.
Aplikasi SOA Sedangkan dalam dunia digital, SOA menjadi sangat menarik, apalagi dengan tekanan regional untuk membuat sebuah sistem yang transparan, cepat dan anti birokrasi, yang di Indonesia sering disebut sebagai Single Window. Dalam SOA dunia digital yang akan disebut SOA saja setelah ini, yang lebih khususnya dalam dunia perinternetan yang sangat berhubungan dengan Web, populer setelah berkembangkan sebuah mekanisme request-response yang memungkinkan pesan (message) terkirim dari satu titik ke titik lainnya. Protokol yang pertama dikembangkan Microsoft bernama BizTalk, kemudian dirubah oleh W3C menjadi Simple Object Application Protocol (SOAP), maklum BizTalk adalah sebuah merek dagang, dan merek dagang merupakan simbol ketertutupan. SOAP ini telah menjadi cikal bakalnya SOA berkembang. Interkasi sebuah sistem dengan sistem lain, atau mewrap sebuah aplikasi dari aplikasi tradisional menjadi aplikasi berbasis SOAP, secara tidak langsung telah merubah sebuah sistem tersebut menjadi sebuah aplikasi yang SOA Ready. SOAP adalah sebuah mekanisme implementasi XML yang terstandarisasi. Teknologi ini sering disebut sebagai Web Services, sebuah mekanisme melayani permintaan (messaging) yang mengacu pada protokol Web yang sering disebut HTTP. Tetapi tentu saja SOA itu bukan hanya Web Services saja. Ingat SOA itu lebih luas, dan lebih luas dari yang dapat kita bayangkan. Perkembangan Web Services sebagai media terbuka untuk interaksi, yang berbasis pada HTTP yang juga merupakan standar terbuka, membuat Web Services dengan SOAP sebagai icon teknologinya, telah membuat Web Services menjadi teknologi primadona dalam dunia SOA ini. Apalagi perbedaan namanya sangat jelas, SOA dan SOAP. SOAP Sebenarnya merupakan sebuah perwakilan dari sebuah envelope yang gunanya mirip dengan mekanisme melakukan surat menyurat. SOAP umumnya diciptakan lebih khusus, untuk surat menyurat resmi, seperti mengirim form purchase order, form pengajuan kredit, form meminjam buku. Sedangkan yang kurang formal dapat menggunakan XML saja. Dalam implementasinya SOAP yang flat ternyata memiliki kekurangan yang sangat banyak, apalagi SOAP ini seperti kakeknya HTML, berbentuk flat file, sehingga diasumsikan tidak aman, untuk itulah maka hadir beberapa implementasi SOAP yang tentu saja membuat SOA menjadi lebih secure dan siap digunakan. Standar berbasis Web Services yang lebih sering disebut dengan WS-Security adalah sebuah standar yang dikembangkan oleh OASIS yang juga mengembangkan teknologi ODF (Open Document Format). WS-Security ini memungkinkan melakukan implementasi Web Services yang terembed didalamnya security. Sebenarnya ada standar lainnya yang dapat digunakan untuk membuat sebuah implementasi SOA menjadi lebih aman, diantaranya SAML untuk identity management (di Indonesia populer disebut Single Identity Number), XACML, XKMS, XML-Sig, WS-Federation, WS-I Basic Profile. Sebenarnya kita juga dapat membuat implementasi sendiri, tetapi umumnya entitas pengeluar standar di dunia Web Services adalah bersifat internasional. Aplikasi SOA dalam dunia Java Didalam dunia Java, SOA sangat beragam, ini juga dikarenakan didalam dunia Java banyak sekali vendor penghasil SOA, dan tidak dipungkiri vendor-vendor besar Java, banyak yang menghasilkan SOA Suite yang sangat lengkap, plus editornya, sehingga membuat pengembangan berbasis layanan menjadi mudah. Yang membuat penulis terkesan adalah diubahnya sebuah AS/400 dengan aplikasi RPG yang dianggap kuno, menjadi SOA Ready, tentu saja dengan melakukan beberapa kompilasi ulang dan setting. Maklum AS/400 adalah teknologi paling tertutup yang pernah penulis gunakan. SOA didalam dunia Java, sebenarnya diposisikan sebagai extended platform, dan yang menarik, ternyata yang mengimplementasikan bukan hanya vendor, tetapi juga komunitasnya, yang paling terkenal tentu saja Apache dengan project WSnya (http://ws.apache.org), didalamnya banyak sekali project donasi dari vendor-vendor. Malah tidak sedikit projek di Apache bersaing keras dengan produk vendor Java besar, dan malah tidak sedikit vendor Java yang memasukan dan menjual produknya dengan aplikasi Apache didalamnya. Mulai dari AXIS yang dapat digunakan sebagai SOAP API, Santuari sebagai WS-Security. Ada teknologi menarik disekitar SOA yang dapat digunakan, diantaranya OpenESB dari SUN yang juga Open Source, Mule yang dianggap mbahnya, atau XFire dari CodeHaus. Yang lebih menarik lagi, didalam dunia Java, implementasi SOA juga distandarisasi seperti JAXM (JSR 67), Java API for ebXML (JSR 157), Web Services for J2EE (JSR 109), JAX-RPC (JSR 101), WS-Security (JSR 183), SAML (JSR 155). Indonesia, PASIR, dan IGOS Enterprise Tentu saja semua yang dijelaskan diatas adalah yang terjadi diluar negeri sana, bagaimana dengan Indonesia? Ternyata Indonesia sejak 2005 yang lalu telah mengeluarkan sebuah insiatif, disebut dengan PASIR (Program Arsitektur Sistem Informasi dan Interope(R)abilitas). PASIR merupakan sebuah inisiatif kolaborasi yang lahir dari gerakan IGOS (Indonesia, Go Open Source), yang akhirnya bergeser menjadi salah satu fondasi dari Aplikasi Telematika Terbuka di Kominfo. PASIR dibuat mulai sebuah POC (Proof of Concept) mengenai implementasi SOA di dalam pemerintahaan di Indonesia, yang mana versi awal dari POS dapat diakses di http://pustaka.igos-source.or.id, sedangkan versi berikutnya PASIR 2.0, sedang dalam pengembangan. Jadi dapat dikatakan PASIR adalah SOA versi Indonesia yang didukung oleh 5 kementerian pendukung IGOS, dan tentu saja secara langsung oleh departemen kominfo sebagai salah satu rekanan IGOS. Aplikasi POC PASIR di IGOS dapat dikatakan memposisikan diri sebagai IGOS Enterprise, solusi lainnya setelah IGOS Desktop yang menghasilkan banyak distro Linux lokal. Yang menarik dari PASIR ini adalah selain mengimplementasikan standar terbuka diantaranya SOAP dan WSDL, juga diOpen Sourcekan, dengan harapan dapat diimplementasikan kembali oleh rekan-rekan didalam pemerintahaan, ataupun swasta, karena implementasi berbasis SOA tidak terbatas antara pemerintah, tetapi juga dapat antara pemerintah dengan swasta, swasta dengan swasta. atau pelanggan dengan swasta. Apalagi saat ini diera mobile, telepon genggam saja sudah mendukung Web Services. Saat ini pengembangan PASIR 2.0 dilead langsung oleh kominfo, sedang mencari rekan-rekan dilingkungan pemerintah, sehingga pengembangan interoperabilitas antar pemerintah dapat dilakukan, tim ini dikepalai langsung oleh Bu Lolly sebagai salah satu direktur telematika di depkominfo. Semakin beragam entitas pemerintah yang bergabung, semakin sempurna implementasi yang dihasilkan. Rekanan pemerintah tidak tertutup departemen pusat, tetapi dapat antara departemen pusat, pusat dengan daerah, daerah dengan daerah, ataupun direktorat kementrian A dengan direktorat kementerian B. Adapun beberapa step implementasi yang dapat dihasilkan, diantaranyasebuah dokumentasi pemetaan proses pertukaran informasi antara departemen atau direktorat atau pemda, sampai aplikasi siap pakai. Implementasi PASIR karena bersifat Open Source, jadi tentu saja kolaborasi pemerintah ataupun swasta yang semakin banyak akan semakin baik. Saat ini implementasi PASIR menggunakan Java, sehingga kontribusi dari rekan-rekan lainnya terutama untuk solusi dotNet, PHP, Ruby, Python, Delphi atau PowerBuilder, ataupun Oracle Developer sangatlah diharapkan. Tentu saja inisiatif ini tidak akan berkembang pesat bilamana hanya menunggu tim PASIR menghasilkan. PASIR ini sangat erat hubungannya dengan interaktifnya sebuah entitas bertukar informasi. Saat ini PASIR Kit untuk 1.0 telah disediakan, dapat didownload di Pustaka IGOS atau mengkopi CDnya. PASIR Kit memasukan banyak aplikasi yang memungkinkan dikembangkannya aplikasi bukan hanya mendukung SOA tetapi juga dapat dikembangkan menjadi fondasi e-goverment.
CodeIgniter
CodeIgniter adalah sebuah framework yang menerapkan konsep Model-View-Controller (MVC) sebagai pola didalam mengembangkan aplikasi berbasis PHP. Dengan pola MVC ini memungkinkan developer untuk mengorganisir file-file untuk membangun aplikasi.
CodeIgniter berisi banyak sekali instant library yang memudahkan seorang programmer PHP didalam membangun aplikasi sehingga walaupun aplikasinya besar, seorang programmer tidak perlu mendefinisikan library-library tersebut dari awal. Sebagai contoh jika kita ingin membuat sebuah fungsi database untuk memunculkan list data dari sebuah table dengan query ‘SELECT’, maka kita hanya tinggal memanggil library yang sudah disediakan dan selebihnya akan dikerjakan oleh CodeIgniter.
Tidak ada komentar:
Posting Komentar