Jumat, 07 Maret 2008

SOA (Service Oriented Architecture)


Apakah SOA itu?
SOA atau Service Oriented Architecture adalah istilah di dunia TI yang banyak dibicarakan. Sesuai dengan namanya SOA adalah sebuah pendekatan dalam merancang (arsitek) suatu aplikasi dengan menggunakan kembali (reuse) komponen-komponen yang sudah ada sebelumnya. Dalam hal ini, komponen-komponen tersebut memberikan suatu jenis layanan bisnis (service) tertentu seperti antara lain: mengecek credit rating, mencari data customer, mengecek status inventori, melakukan transfer dana, dan lain sebagainya.

Dengan kata lain,SOA adalah sebuah arsitektur kerangka kerja berbasis standar terbuka yang memungkinkan perusahaan-perusahaan untuk saling mengintegrasikan data yang sebelumnya hanya tersimpan rapat di markas para pelanggan, mitra, atau pemasok.Dengan kata lain,SOA merupakan arsitektur yang mendukung integrasi bisnis sebagai layanan yang terhubung dan menjadi jalan menuju inovasi.(SOA juga menjadi strategi bisnis berbasis teknologi dan hasil evolusi untuk mengintegrasi berbagai sumber informasi dari sumber kode atau platform yang berbeda-beda)
Sebagai contohnya,Anda seorang eksekutif yang sedang bepergian ke luar negeri. Saat membongkar barang bawaan di kamar hotel, Anda baru sadar ternyata charger untuk laptop dan PDA Anda ketinggalan. Parahnya, wireless USB yang berfungsi untuk saling bertukar data antara handphone, PDA dan laptop Anda juga ikut tertinggal.
Anda tidak perlu khawatir, karena melalui sebuah alat khusus yang disediakan hotel, semua gadget anda masih tetap bisa saling bertukar data. Anda juga bisa mengisi semua baterai gadget Anda tanpa dipusingkan oleh charger yang ketinggalan.Alat khusus tersebut bisa dibilang bekerja dengan menggunakan pendekatan Service Oriented Architecture (SOA). Pada kasus Anda, SOA bekerja untuk menghilangkan hambatan-hambatan interaksi antar gadget (HP, PDA, dan laptop) serta perbedaan konektor ke sumber daya utama.
Melihat deinisi SOA di atas,nampak sekali bahwa istilah SOA sangat kental terkait dengan sektor pengembangan aplikasi dari TI. Tidak bisa dipungkiri, perangkat lunak aplikasi adalah aset TI yang terpenting yang memungkinkan TI memberikan dukung-annya terhadap bisnis yang dijalankan perusahaan.

Tanpa perangkat lunak aplikasi, bank, pabrik dan perusahaan penyedia jasa tidak dapat beroperasi. Dan usaha untuk memelihara dan mengembangkan aplikasi yang ada agar tetap dapat mendukung perkembangan usaha yang semakin dinamis adalah suatu usaha yang menggunakan sumber daya TI yang paling besar baik dari sisi waktu maupun biaya. Jadi, apakah yang membuat SOA sedemikian menarik bagi para pengambil kebijakan TI?

Karakteristik dari SOA

Seperti yang dideinisikan diatas,SOA adalah suatu cara perancangan aplikasi dengan menggunakan komponen-komponen atau pelayanan yang sudah ada.Dengan kata lain, suatu aplikasi dibangun secara modular. Sebenarnya pendekatan modular ini bukanlah sesuatu yang baru. Teknik - teknik pemrograman masa kini seperti object oriented programming, telah mengedepankan pendekatan modular dalam pembangunan aplikasi. Namun yang membuat SOA berbeda adalah komponen atau service tersebut dibangun dan berinteraksi satu sama lain secara bebas dan lepas (loose coupled).
Dengan bersifat loose coupled, sebuah service dapat di-panggil oleh program/service lainnya tanpa program pemanggil tersebut perlu memperhatikan di mana lokasi service yang dipanggil berada dan platform/teknologi apa yang digunakan oleh service tersebut. Loose coupling sangat penting bagi SOA karena dengan demikian pemanggilan sebuah service oleh service lainnya dapat dilakukan pada saat run-time.

Misalnya sebuah aplikasi core banking menyediakan sebuah service Fund Transfer, maka aplikasi-aplikasi banking lainnya seperti treasury, payment gateway, ATM switching dan sebagainya dapat memanggil service Fund Transfer tersebut tanpa perlu memusingkan di mana Fund Transfer tersebut berada di dalam jaringan dan teknik pemanggilan yang harus digunakan.Hal ini kontras dengan pendekatan tight coupling di mana dalam hal ini setiap aplikasi perbankan di atas masing-masing harus mempunyai fungsi Fund Transfer di dalamnya sehingga akan menyulitkan dan membutuhkan biaya/resource besar jika perlu merubah logic dari Fund Transfer ke requirement bisnis yang baru di dalam setiap aplikasinya.
Karakteristik lainnya adalah service dalam SOA disusun atas 2 hal: Service Interface dan Service Implementation.

Service Interface menyatakan bagaimana service tersebut dapat dipanggil seperti parameter input/output dan lokasi ia berada. Misalkan, service interface untuk Customer Lookup menyatakan berbagai cara untuk mendapatkan informasi tentang seorang ustomer (dari id customer atau nama dan sebagainya) dan struktur data customer yang dikembalikan. Service Implementation adalah bagaimana logic dari service Customer Lookup tersebut dijalankan.

Service implementation sangat terkait dengan teknologi pemrograman yang digunakan. SOA tidak perlu memperdulikan bagaimana sebuah service diimplementasikan.
Entah ditulis dengan bahasa Java atau COBOL, yang penting adalah bagaimana service tersebut dapat dipanggil dan memberikan informasi sesuai dengan Service Interface-nya.
Karakteristik SOA yang terakhir adalah service tersebut harus business oriented. Dalam arti, setiap service yang didiinisikan harus melakukan suatu aktiitas bisnis tertentu, misalkan Customer Lookup, Fund Transfer, Check Inventory, dan sebagainya. Tidak dapat dipungkiri pula bahwa keberhasilan SOA belakangan ini ikut dimotori oleh tingginya penerimaan teknologi web services di kalangan pengembang aplikasi. Walaupun ide tentang SOA telah ada sebelum web services dilahirkan, web services dan SOA saat ini telah menjadi suatu si-nergi dan bahkan beberapa kalangan menganggap dengan menggunakan web services maka ia telah menerapkan SOA.

KETERANGAN DAN GAMBAR SOA
Service Oriented Architecture (SOA) adalah sebuah permodelan perangkat lunak yang dibangun dengan pendekatan service oriented. Service oriented sendiri merupakan sebuah pendekatan yang memiliki visi ideal di mana setiap resource dari perangkat lunak terpartisi secara bersih satu sama lain [1]. Setiap resource ini disebut dengan service. Service ini merepresentasikan sebuah business logic atau automation logic dalam sebuah sistem besar. Setiap service memiliki otonomi sendiri yang membuatnya tidak tergantung satu sama lain. Setiap service dapat berkomunikasi satu sama lain melalui sebuah protokol yang sudah terstandardisasi sehingga memudahkan untuk melakukan integrasi service baru dan penyusunan ulang kumpulan service disebabkan proses bisnis yang berubah.
Gambar 1 Bagaimana service mengenkapsulasi logic

Saat ini, SOA merupakan sebuah solusi yang baik untuk permodelan sistem di perusahaan atau organisasi besar. Sebab, permodelan ini memiliki banyak kelebihan, diantaranya:
1. Dapat menyatukan berbagai sistem yang memiliki platform berbeda, seperti J2EE dan .NET. sebab dengan pendekatan ini, yang pengembang akan memilih untuk membangun sebuah layer di atas sistem รข€“ sistem tersebut yang dapat saling berkomunikasi dengan pesan yang sudah distandardisasi, misalnya menggunakan teknologi XML. Dalam sudut pandang SOA, kedua sistem itu masing-masingnya akan dianggap sebagai service.
2. Tahan terhadap perubahan. Perusahaan atau organisasi besar seringkali berubah struktur untuk meningkatkan efisiensi dan kinerja. Akibatnya, perangkat lunak juga terkena imbas untuk menyesuaikan diri terhadap proses bisnis yang baru. Permodelan perangkat lunak dengan SOA akan mengurangi effort untuk modifikasi perangkat lunak tersebut. Sebab, karena seluruh logic dari sistem sudah terpartisi secara bersih menjadi sekumpulan services, kita hanya perlu menyusun ulang seluruh service tersebut dan jika perlu menambahkan yang baru. Hal ini jelas mengurangi biaya.

Web Services seringkali dikaitkan atau bahkan disamakan dengan SOA. Namun sebenarnya keduanya adalah hal yang sangat berbeda. SOA adalah sebuah konsep untuk pengembangan perangkat lunak, sementara Web Services adalah sebuah aplikasi web yang berinteraksi dengan aplikasi web lainnya untuk pertukaran data. Pembangunan SOA tidak harus menggunakan Web Services, sebab ada bermacam-macam teknologi lain yang memungkinkan, tapi menggunakan Web Services untuk membangun sebuah sistem SOA adalah langkah yang baik.

SOA dan Web Services

Web Services adalah sebuah teknik pemrograman di mana sebuah service menggunakan standar-standar berbasis XML dalam menjelaskan interface dan protocol yang harus digunakan untuk memanggil service tersebut. Standar-standar tersebut adalah:
• SOAP (Simple Object Access Protocol): Menjelaskan protokol tentang bagaimana sebuah web service dapat dipanggil.
• WSDL (Web Services Deinition Language): Sebuah format XML yang menjelaskan interface dari sebuah web service (parameter input dan output).
• UDDI (Universal Description, Discovery and Integration): Sebuah direktori yang berisi daftar web service yang dapat ditemukan dan dipanggil oleh aplikasi lainnya.Dengan standar di atas, web services sangat mendukung implementasi SOA dimana karakteristik SOA seperti loose coupling dan service interface disediakan oleh teknologi web services. Pertanyaannya adalah, apakah dengan menggunakan teknik web services, SOA sudah akan terwujud?



Benefit yang dijanjikan dan Bagaimana Memulainya?
Sesungguhnya apa yang dijanjikan oleh SOA tidak hanya terbatas pada penghematan biaya dan tenaga dari upaya pembangunan aplikasi, namun pada akhirnya adalah terwujudnya suatu organisasi yang mampu dengan cepat mengadaptasi proses-proses bisnis didalamnya agar mampu menjawab tuntutan pasar terkini. Bagaimana penghematan itu bisa terjadi? Bagaimana kita bisa memulainya? Pada prinsipnya, memulai sebuah inisiatif SOA dimulai dengan membangun sejumlah service yang kelak dapat di-reuse. Disini ada beberapa pendekatan yang bisa kita ambil:
- Kita dapat memulai dengan membangun dari scratch beberapa service misalnya dalam rangka suatu usaha pembangunan aplikasi yang baru atau menulis ulang sebuah aplikasi yang sudah ada.Keuntungan dari pendekatan ini adalah service yang kita bangun dapat benar-benar dirancang agar kelak dapat di-reuse secara maksimal. Tentu saja, pendekatan ini membutuhkan waktu dan tenaga yang paling banyak dibandingkan pendekatan lainnya.
- Kita dapat membuat programprogram yang sudah ada menjadi service oriented. Hal ini bisa dilakukan terhadap program-program yang sudah dibangun secara modular sehingga tinggal menambahkan teknik-teknik web services di dalamnya. Jadi, dibuatkan service interface-nya tanpa merubah logika jalannya program. Dengan demikian pengetesannya cukup pada interface-nya saja, sedangkan fungsi/logika di dalamnya tidak perlu dites lagi karena tidak berubah.
- Aplikasi-aplikasi yang sudah ada,terutama aplikasi yang dibeli secara paket seperti ERP, CRM dan lain-lain, dapat ”dibungkus” agar dapat dipanggil melalui interface web services. Dari aplikasi-aplikasi tersebut, kita dapat membuat beberapa service mulai dari level service terendah seperti Customer Lookup atau sampai level yang tertinggi seperti Create Invoice.Service level rendah dapat pula digabungkan membentuk service baru yang lebih tinggi, seperti
servis Fund Transfer dibangun atas servis Validate Account, Check Balances, Debit Account dan Credit Account. Pendekatan ini sangat dimungkinkan mengingat beberapa vendor SOA menyediakan adapter-adapter untuk beberapa paket aplikasi yang terkenal seperti SAP, Siebel dan lain-lain sehingga business logic di dalamnya dapat dipublikasikan sebagai services.
- Services pun dapat dibeli dari pihak ketiga (misal sebuah perusahaan penyedia jasa informasi pemeringkat kredit). Selain itu saat ini vendor-vendor paket aplikasi juga sudah memodiikasi produknya agar tersedia dalam bentuk services yang dapat dipanggil secara web services.

Dengan membangun suatu koleksi services, penghematan dapat dimulai. Jika pada proyek yang pertama, waktu dan tenaga yang dihabiskan paling besar, maka proyek selanjutnya, usaha yang dikeluarkan akan makin kecil karena sudah banyak tersedia services sebagai hasil dari proyek sebelumnya yang dapat di-reuse. Selain itu, waktu pengerjaannya juga semakin cepat sehingga memungkinkan perusahaan untuk memberikan layanan bisnis yang makin responsif terhadap tuntutan pasarnya. Dan bila hal ini menyangkut meningkatnya jumlah transaksi atau pelanggan, maka nilai kembalian secara inansial dari proyek SOA akan semakin nyata.


BAGAIMANA CARA KERJA SOA?

Inovasi membutuhkan perubahan dan SOA memudahkannya.SOA bekerja seperti charger untuk semua fungsi, atau dengan kata lain SOA membangun interface yang bisa diakses oleh berbagai macam software. Selama ini, sebuah software dibangun dengan cara mengikat data dan alat pemrosesnya dalam satu rangkaian. Tentu saja, semakin banyak software yang dibutuhkan akan membuat perusahaan mengeluarkan uang dan tenaga lebih banyak lagi. Demikian pula dengan semakin banyaknya lalulintas data antar software tersebut yang secara otomatis akan meningkatkan ongkos perusahaan. Teknologi SOA bertugas untuk meringankan masalah tersebut dengan cara mengurangi hambatan integralisasi.

Melihat karakternya, SOA saat ini banyak diminati perusahaan-perusahaan keuangan dan perbankan. Namun, industri asuransi dan telekomunikasi juga banyak yang mengadopsi teknologi SOA. Hal ini disebabkan fleksibilitas dan arsitektur yang ditawarkan SOA cukup handal untuk mengurangi berbagai hambatan interaksi antar software dan memotong rangkaian proses dalam sebuah jaringan yang kadang cukup berbelit.
Untuk menggambarkan bagaimana SOA bekerja dalam sebuah perusahaan atau institusi bisnis, dapat mengambil contoh transaksi pembelian barang melalui internet yang dilakukan seorang netter atau pelanggan. Dalam sistem TI pengecer yang menggunakan sebuah SOA, pembelian barang secara online itu memicu serangkaian transaksi lainnya. Misalnya, kartu kredit pelanggan diverifikasi, bagian pengiriman barang diberi tahu, gudang diminta untuk menyesuaikan persediaan barang, dan catatan-catatan pembukuan diperbaharui. Transaksi-transaksi tersebut berupa input informasi yang dikirim melalui sistem atau software-software yang berlainan, yang kadang tidak sesuai dan tidak bisa berhubungan satu sama lain. Namun, teknologi SOA telah memungkinkan infrastruktur yang mendukung transaksi tersebut untuk dibaurkan dan dikombinasikan secara integral.

Di atas kertas, semuanya memang terlihat semudah membalik telapak tangan. Faktanya, membangun sebuah SOA memiliki berbagai tantangan yang tidak mudah. Salah satu tantangan terbesar yang dihadapi pelanggan adalah menentukan dari mana harus memulai SOA. Banyak departemen TI yang menerapkan layanan Web dalam sebuah SOA, mereka memulai dari yang paling mudah lalu meningkat ke bagian yang lebih sulit dan kompleks. Yang perlu diingat, membangun sebuah SOA yang baik haruslah menyelaraskan tujuan utama bisnis perusahaan dengan teknologi yang tepat sasaran. Jaringan yang baik dan terpadu merupakan salah satu kunci keberhasilan penerapan SOA. Tentu saja dengan biaya yang sesuai dengan kebutuhan.
Service-oriented Architecture (SOA) membantu perusahaan mengakomodasi perubahan secara lebih baik dengan menyediakan fleksibelitas untuk pemanfaatan sumber TI yang lebih baik pula. Lebih khusus, perencanaan ini menawarkan pendekatan arsitektural dalam lingkungan komputasi terencana dan teratur yang dibangun pada layanan yang secara bebas berangkaian, dapat digunakan kembali, dan berbasis standar serta dapat berubah sesuai dengan bergesernya kebutuhan bisnis. Inilah kebutuhan dan proses bisnis yang fokusnya membantu enterprise untuk bisa sukses dan bersaing dengan makin meningkatnya standar TI, berarti: fleksibelitas bisnis tergantung fleksibelitas TI.


Revolusi SOA

Orientasi layanan dan integrasi SOA mengubah permainan bisnis modern. SOA memungkinkan enterprise menciptakan setelan layanan terkait dan terintegrasi, yang mendukung proses bisnis. Layanan ini juga improvisasikan cara merancang, mengatur, dan mengoptimalisasi proses bisnis dengan memungkinkan solusi yang terbentuk secara efisien, penggunaan ulang aset yang ada, serta perubahan fleksibelitas. SOA membantu enterprise melepaskan diri dari kebergantungan dalam mereduksi biaya perawatan dan operasional. Tujuannya adalah menciptakan integrasi platform yang dapat diubah, diatur, diskalasikan dan terbuka serta dapat membantu menutup celah antara bisnis dan teknologi terkait pandangan akan proses bisnis enterprise.
Sinopsis keuntungan SOA yang dihadirkan bisnis ini bervariasi, yaitu:
• Akselerasi proses bisnis
• Ekstensi kemampuan mengkolaborasikan bagian dalam dan luar bisnis
• Fleksibelitas dan efisiensi
• Inovasi
• Penggalan laporan TI, kekurangan dan resikonya
• Pemakaian ulang fungsi dan interface
• Reduksi kompleksitas
• Reduksi biaya
• Menjaga ketentraman kompetisi global

Saat teknologi, metodologi dan standar industri SOA matang, SOA menjadi lebih praktis bagi semua kalangan industri. Hasilnya, jenis perusahaan, kapasitas dan industri apapun saat ini dapat mendistribusikan SOA, dengan potensi hasil yang sangat besar. Tetapi di regional lain, khususnya perusahaan di kawasan Asia harus berhati-hati dalam mengimplementasikan SOA dengan tepat sebagai sebuah perjalanan dan bukan keputusan buru-buru


Inovasi Tanpa Batas (SOA)

Organisasi-organisasi terus berinvestasi dalam teknologi dan akan terjadi sebuah perpindahan tetap dalam manajemen. Pengguna-pengguna TI terus mengawasi ROI dan TCO dari investasi-investasi TI mereka. Tren 2006 akan berlanjut ke 2007.
Bertumbuhnya edukasi TI, pengembangan produk, ERP, CRM, HCM, layanan-layanan software atau bahkan integrasi usaha, semuanya adalah hasil dari evolusi TI dan penggunaannya untuk membangun usaha di seluruh dunia. Indonesia adalah sebuah pelanggan TI yang signifikan di wilayah ini.
Dalam sebuah pasar berkembang seperti Indonesia, konsolidasi menjadi semakin penting dan banyak organisasi TI bergerak menuju konsolidasi usaha. Dengan merger dan akuisisi-akuisisi, menjadi penting bagi perusahaan untuk memastikan integrasi yang mulus dari penggabungan aset-aset keuangan, sistem-sistem dan proses-proses, manusia, teknologi, IPR, produk-produk dan layanan-layanan dari hasil merger ini. Agar hal ini bisa berjalan lancar, organisasi harus mengadopsi sebuah pendekatan service-oriented architecture (SOA).
Seiring dengan persiapan perusahaan Indonesia untuk menghadapi persaingan keras dari perusahaan-perusahaan besar internasional dan dengan komoditas TI dan pengembangan teknologi baru, semakin banyak organisasi telah mulai dengan serius mengeksplorasi penggunaan TI inovatif untuk membantu mereka berkembang. Tahun 2007 ini akan ditandai dengan munculnya dan menjadi dewasanya alat-alat khusus TI seperti solusi software sebagai sebuah layanan, komputasi grid, business intelligence, CRM, dan HCM. Tidak hanya organisasi-organisasi besar yang akan mengadopsi teknologi-teknologi baru ini, bahkan UKM di Indonesia akan memintanya. Peningkatan baru ini bisa diatribusikan ke peningkatan lingkungan usaha yang bersaing dan juga garis batas yang ketat diatur oleh pembuat kebijakan dalam memastikan good governance.
Hasilnya adalah masalah-masalah yang berhubungan dengan kepatuhan, transparansi, dan pembobolan keamanan informasi pun menjadi titik-titik perhatian. Karena semakin banyak perusahaan Indonesia berpartisipasi sebagai penyedia, kontraktor atau pelanggan-pelanggan dalam ekosistem perdagangan global, pengertian akan penggunaan norma-norma kepatuhan global menjadi penting bagi perusahaan-perusahaan.
Saat ini, tanpa melihat di mana perusahaan tersebut berada, jika melakukan usaha dalam skala global, yang sekarang banyak dilakukan perusahaan Indonesia, mereka perlu dimengerti praktik-praktik terbaik dan ukuran kepatuhan yang diadopsi oleh perusahaan di berbagai tempat. Menjadi semakin penting bagi mereka untuk mampu melakukan usaha dengan perusahaan-perusahaan lain di seluruh dunia secara mulus dan bertanggung jawab.

Perkiraan-perkiraan Tren SOA
1. SOA dan standar-standar terbuka akan menjadi sebuah feature penting dalam investasi infrastruktur TI yang semakin besar
Sebagaimana perusahaan-perusahaan di Asia Pasifik dipaksa untuk lebih cepat menjawab tantangan-tantangan persaingan dan pelanggan yang semakin besar, banyak dari mereka akan mencoba menggunakan sebuah Service-Oriented architecture (SOA) sebagai sebuah pembeda usahanya. Dengan SOA, organisasi-organisasi akan memiliki sebuah infrastruktur yang fleksibel dan bisa diadaptasi, yang akan membuat mereka untuk menjadi lebih luwes sekaligus di saat yang sama mengurangi biaya pengaturan lingkungan-lingkungan TI mereka.
2. Organisasi-organisasi akan terus mencari cara untuk mengurangi biaya TI
Organisasi-organisasi dalam berbagai ukuran akan terus mencari cara untuk mengurangi biaya infrastruktur TI usaha mereka. Komputasi grid dengan real application clusters dan sebuah teknologi dan software aplikasi terintegrasi dengan fungsi-fungsi yang spesifik dengan industri dan proses usaha yang bisa beradaptasi akan secara dramatis membantu mengurangi biaya implementasi dan manajemen software.
3. Peningkatan fokus pada Business Intelligence
Business Intelligence (BI) akan terus menjadi sebuah prioritas teknologi bagi CIO-CIO. Sebuah survei Gartner yang dilakukan di awal tahun 2006 dengan sekitar 1.400 CIO menempatkan BI sebagai prioritas teknologi nomor satu.
Sejarahnya, BI selalu "dianaktirikan" dan hanya digunakan untuk analisis yang melihat ke belakang seperti aplikasi-aplikasi pelaporan dan tipe query. Gelombang BI selanjutnya akan digunakan lebih luas dalam organisasi-organisasi dan enterprise mereka untuk menyediakan informasi analisis real time strategis bagi pembuatan keputusan usaha.
Perusahaan akan mendapatkan pemandangan-pemandangan usaha yang lebih lengkap dan tepat waktu dan juga mendorong aksi dan proses yang lebih efektif, melalui kombinasi database dan aplikasi-aplikasi analisis dan juga memasukkan alat-alat BI dalam proses-proses usaha. Organisasi terkemuka di wilayah ini menggunakan alat-alat BI dan aplikasi data warehousing.
Oracle adalah vendor paltform BI stand-alone dengan pertumbuhan tercepat di Asia Pasifik, tidak termasuk Jepang. Menurut sebuah laporan Gartner 15 Januari 2007 baru-baru ini, Oracle mencatat pertumbuhan pendapatan 64,8% di pasar BI stand-alone di Asia Pasifik di tahun 2005, dibandingkan dengan tahun sebelumnya. Pertumbuhan pasar rata-rata dalam pasar platform BI stand alone adalah 12,1%.
4. Peningkatan penerimaan dan permintaan untuk software sebagai sebuah layanan
Software sebagai sebuah layanan adalah istilah yang menjelaskan generasi berikutnya dari penghantaran, implementasi dan manajemen software. Semakin banyak organisasi di Asia Pasifik menemukan nilai software sebagai sebuah layanan. Organisasi-organisasi ingin orang-orang TI mereka berfokus dalam aktivitas yang memiliki return on investment (ROI) yang bisa diperlihatkan. Dengan melakukan outsourcing elemen-elemen kunci dari operasi TI mereka ke sebuah penyedia layanan yang sudah berpengalaman, usaha-usaha mencapai efisiensi yang lebih besar, mengurangi pengeluaran-pengeluaran TI ke sebuah biaya bulanan yang bisa diperkirakan dan meningkatkan kehandalan, skalabilitas, dan keamanan sistem TI mereka.

Solusi-solusi yang di-host (software sebagai sebuah layanan atau software as a service) telah mendapatkan banyak perhatian di tahun sebelumnya sebagai salah satu teknologi yang menjanjikan fleksibilitas dengan set-up yang lebih cepat dan biaya implementasi yang lebih rendah, sementara solusi on-premise terus menjadi sebuah pilihan deployment yang penting. Berkembangnya solusi-solusi yang di-host memberikan opsi bagi pelanggan-pelanggan untuk memilih dari kombinasi-kombinasi hybrid dari kedua solusi di-host (SaaS) dan on-premise untuk memenuhi kebutuhan usaha yang spesifik.

SOA dan Integrasi
Peranan SOA dalam integrasi proses bisnis,bisa dalam internal perusahaan maupun antar perusahaan. Dalam internal perusahaan,penerapan SOA memungkinan unit-unit bisnis bekerja secara sinergi, dari pabrikasi hingga distribusi dapat lebih sinkron. Kerjasama antar perusahaan bukan hal yang mustahil lagi pada masa ini. Sebuah perusahaan yang membuka layanan pembelian online harus dapat mengirimkan produknya kepada
customer.
Untuk itu,ia harus bekerja sama dengan agen pengiriman, yang akhirnya akan bekerja sama lagi dengan jasa penerbangan kargo. Bayangkan, jika masing-masing perusahaan itu menggunakan aplikasi yang tidak bisa saling berkomunikasi sehingga cara yang mungkin dilakukan hanyalah cara manual yang sudah pasti akan memakan waktu lama. Jika semua aplikasi yang dipakai sudah menerapkan SOA, masing-masing dapat saling berkomunikasi sehingga diperoleh hasil/respon realtime. Bayangkan juga sebuah agen perjalanan yang menyediakan jasa wisata liburan. Perusahaan ini harus bekerjasama dengan hotel dan jasa angkutan yang ada di lokasi wisata. Solusi yang umum dilakukan adalah membuat sistem integrasi untuk aplikasi yang ada. Itu berarti untuk setiap pembukaan lokasi wisata baru atau penambahan hotel baru, sistemnya harus di-setup agar dapat menyesuaikan. Proses setup ini jelas memakan waktu dan biaya yang tidak sedikit jika tidak menggunakan prinsip SOA.

SOA dan Akses Multi-channel

Sekarang ini hampir semua bank sudah memungkinkan nasabahnya mengakses layanan dari berbagai sumber, mulai dari cara konvensional melalui teler, cara laya-nan mandiri melalui ATM, lewat internet atau handphone, dan layanan hotline phone banking. Semua ini bertujuan makin memudahkan nasabah untuk mendapatkan layanan. Tetapi jika semua access-point itu tidak terintegrasi dengan baik, bukan kepuasan yang akan didapatkan nasabah.

Sebuah Permulaan dari Perjalanan Panjang
Penerapan SOA pada perusahaan jelas merupakan investasi yang mahal dan ber-jangka panjang. Perusahaan tidak akan mendapatkan manfaatnya secara langsung hanya dengan mengganti semua aplikasi yang dipakai mendukung SOA. Hanya ketika perusahaan dapat membuat proses bisnis baru, dan membuat aplikasi hanya dengan menggunakan servis yang telah ada baik sebagian maupun keseluruhan, barulah perusahaan itu memperoleh manfaat SOA. Ketika perusahaan itu merger dengan peru-sahaan lain dan diperlukan sebuah sistem pelaporan baru yang mengintegrasikan sistem yang ada, dapat dibuat dengan lebih cepat, barulah manfaat SOA dapat dirasakan. Penerapan SOA adalah sebuah awal dari perjalanan untuk mendapatkan fleksibilitas aplikasi yang digunakan untuk mendukung proses bisnis. SOA akan memisahkan mana yang menjadi keahlian orang TI dan orang bisnis. Tugas orang TI adalah merancang servis, sedangkan tugas orang bisnis adalah mengkombinasikan servis-servis yang ada untuk menghasilkan sebuah nilai baru, yang pada akhirnya menjadi sebuah keuntungan baru perusahaan.

Sejauh mana adopsi SOA di Asean?

Asean memang paling belakang mengadopsi SOA dari pada kawasan lain. Tahun ini, ada area-area yang tumbuh dan ada ketertarikan dari sektor-sektor pesat seperti finansial, asuransi, dan pemerintah diikuti telekomunikasi dan lainnya.

Menariknya di pemerintahan yang biasanya menghindari risiko kini sudah mulai cepat mengadopsi SOA. Dari mereka kami ketahui, mereka seperti sektor lainnya sudah menyadari perlu pendekatan arsitektur evolusi yang minim risiko daripada gonta-ganti aplikasi di sana-sini untuk menjamin TI mereka di lintas organisasi dapat melayani warga negaranya termasuk bertukar data dalam rangka penegakan hukum dengan baik. Komunikasi antarinstansi pun jalan.

Sektor asuransi pun kini berpikir proses membantu mereka dengan kemampuan menggunakan sistem secara tepat.

Apa risiko ketertinggalan mengadopsi SOA?

Saya kira pemimpin bisnis di Asean yang tidak mengambil peran dalam proses pengambilan keputusan SOA bisa mendapatkan kondisi yang tidak menguntungkan di tengah ketatnya persaingan bisnis.

Bagaimana SOA bekerja?

Inovasi membutuhkan perubahan dan SOA memudahkannya. SOA adalah arsitektur yang mendukung integrasi bisnis sebagai layanan yang terhubung dan menjadi jalan menuju inovasi.

Pada kasus merger dan akuisisi, biasanya banyak dilibatkan aplikasi serta data, dan tiap perusahaan sangat berbeda sistemnya satu sama lain ini mendorong CIO dan CEO harus cepat mengintegrasikan informasi. Dengan teknologi, dibantu adapter dan sistem, aplikasi tadi dapat saling berkomunikasi.

SOA juga menjadi strategi bisnis berbasis teknologi dan hasil evolusi untuk mengintegrasi berbagai sumber informasi dari sumber kode atau platform yang berbeda-beda.

Maklum saja, departemen yang berbeda di organisasi memilih paket CRM, SAP atau lainnya untuk manufaktur. Di bagian penjualan atau fungsi finansial ada software aplikasi lainnya.

Setiap departemen punya aplikasi dan database, kadang ada database pelanggan di satu titik dan ada aplikasi lain di bagian database.

Aplikasi-aplikasi ini dasarnya berbeda termasuk tekniknya. Peran CIO adalah melakukan perubahan agar menjadi lebih baik dan mengintegrasi ratusan program dan data.

Contoh dan tambahan
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.




Referensi:
• Wikipedia.com
• Ilmu Komputer.com
• Majalah Insite Metrodata
• Detikinet.com
• eBizzAsia.com
• Indocommit.com
• SDA-Indo.com

http://Subari.blogspot.com
*--------------------------------
Ade Permana Putra
Zainudin Ichwan
Wahyurizky Saputra
Sirul Halim
...

5 komentar:

Unknown mengatakan...

salam kenal ya mas/abang...
kenalkan aku mona...
sekarang lagi sibuk nyari judul TA
rencananya mau ngebahas tentang keamanan teknologi web service pada SOA...
jadi mohon bantuannya ya..

Unknown mengatakan...

nice, mantap sekali euy seperti sudah berpengalaman

Anonim mengatakan...

penjelasan yang benar2 jelas dan terperinci, apalagi make bhasa indonesia ^_^

terimaksih Pak, saya jadi mengerti tentang SOA sekarang.

Mike mengatakan...

Pak adakah hubungan antara Service Oriented Architecture (SOA) dan Service Orinted Software Engineering(SOSE)? Mohon penjelasannya Pak. Sebagai bahan buat paper OOSE. thx

Abram mengatakan...

mksh gan info nya. kebetulan sy juga lagi belajar ttg SOA