efek snow

Senin, 13 Juni 2016

SOA (Service Oriented Architecture)




Arsitektur Enterprise
SOA (Service Oriented Architecture)

Dosen Pengampu:
Reza Maulana, S. Kom., M.T



KELOMPOK 1 :
1.                Laila Inayatul Faidah                      (51013017)
2.                Lilly Santosa                                     (51013018)



PROGRAM STUDI STRATA SATU SISTEM INFORMASI
STMIK KHARISMA MAKASSAR
TAHUN AJARAN 2016/2017



BAB I
PENDAHULUAN

1.1         Latar Belakang
Sebagai contoh dari definisi SOA dapat disederhanakan seperti jika anda sebagai seorang eksekutif yang sedang berpergian ke luar negeri. Saat anda 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 ketinggalan. Anda tidak perlu khawatir, karena melalui sebuah alat khusus yang disediakan hotel, semua gadget anda masih tetap saling bertukar data. Anda juga bisa mengisi semua baterai gadget anda tanpa dipusingkan oleh charger yang ketinggalan. Alat khusus tersebut bisa dibilang bekerja dnegan menggunakan service oriented architecture (SOA). Pada kasus ini, SOA bekerja untuk menghilangkan hambatan-hambatan interaksi antar gadget serta perbedaan konektor ke sumber daya utama.
Dalam bisnis perusahaan akan selalu mendapatkan tantangan yang datang dari permintaan pelanggan dan persaingan pasar. Hal ini menuntut perusahaan agar secara cepat merespon dengan membuat inovasi. Namun inovasi ini terbentur dengan teknologi yang sedang berjalan di perusahaan dan mengakibatkan cost yang besar ketika akan melakukan inovasi. Hal inilah yang akhirnya membatasi perusahaan dalam berinovasi, sehingga pelanggan bisa saja tidak loyal dan pesaing melakukan inovasi yang lebih canggih.
Ketika kita berpikir dengan arsitektur tradisional, tentunya akan sulit dan butuh effort yang besar untuk berinovasi. Bisnis proses yang terlanjur berjalan dengan aplikasi-aplikasi yang ada, ternyata mempunyai platform dan tempat yang berbeda. Dengan SOA (Service Oriented Architecture) hal ini dapat dipecahkan. Bisnis proses dipecah kedalam service-service. Service adalah bagian dari bisnis proses yang kumpulan fungsi, prosedur atau proses yang memberikan respon jika diminta. Service ini dapat saling berkomunikasi walaupun berbeda platform.

1.2        Rumusan Masalah
Pada makalah ini, akan kami sampaikan penjelasan tentang service oriented architecture (SOA). Dalam makalah ini dijelaskan mengenai definisi SOA, karakteristik, kelebihan dan kekurangan SOA, cara kerja dan cara menggunakan SOA, Revolusi SOA.

1.3     Tujuan
Tujuan makalah ini adalah menerapkan konsep SOA pada pengembangan sistem sehingga memiliki interoperability lintas platform dan mampu berkomunikasi dengan unit lain dengan menyediakan service yang dapat diakses oleh aplikasi lain.



BAB II
PEMBAHASAN

2.1       Arsitektur Enterprise
Arsitektur Enterprise (AE) atau yang dalam bahasa inggris dikenal dengan Enterprise Architecture (EA), mempunyai beberapa pengertian, di antaranya adalah sebagai berikut :
1.    Enterprise Architecture merupakan deskripsi dari misi stakeholder yang di dalamnya termasuk informasi, fungsionalitas/kegunaan, lokasi organisasi dan parameter kinerja. Arsitektur enterprise menggambarkan rencana untuk mengembangkan sebuah sistem atau sekumpulan sistem. (Osvalds, 2001)

2.    Enterprise Architecture secara berkelanjutan mempengaruhi manajemen organisasi serta area teknologi yang ada dalam organisasi untuk pengembangan blueprint sistem informasi (Ducet et al, 2008) dari berbagai disiplin baik secara teori maupun praktis.
Latar belakang dibentuknya konsep architecture enterprise adalah adanya kebutuhan organisasi dalam membangun sistem informasi untuk memisahkan data, proses, infrastruktur teknologi, orang, waktu, dan motivasi dalam suatu kerangka kerja architecture enterprise (Zachman, 2003). Kebutuhan pemisahan komponen informasi yang berjalan dalam suatu perusahaan dimaksudkan untuk menghindari pengulangan data, proses, dan kesalahan identifikasi kebutuhan teknologi yang berjalan dalam suatu sistem informasi agar berjalan secara efektif dan efisien.
Mengapa harus memiliki arsitektur enterprise? Karena perkembangan teknologi informasi dan komunikasi yang semakin kompleks, menuntut hadirnya rancang bangun yang komprehensif. Ada beberapa manfaat dari arsitektur enterprise (Katili, 2004), salah satunya adalah memperlancar proses bisnis. Keuntungan dasar dalam membangun sebuah arsitektur enterprise adalah untuk menemukan dan mengurangi pengulangan pada proses bisnis. Penyebab pengulangan ini dikarenakan pandangan organisasi yang berbeda-beda pada data atau proses bisnis. Pendekatan dasar untuk membangun arsitektur enterprise adalah memfokuskan pada data dan proses

2.2       SOA (Service Oriented Architecture)
Menurut OASIS, SOA adalah sebuah cara untuk mengatur, memanfaatkan dan mendistribusikan informasi/service dibawah domain/platform yang berbeda. Memberikan sebuah sarana standar untuk ditawarkan, ditemukan dan memberikan interaksi dengan service lain sehingga memberikan hasil baru sesuai dengan apa yang diharapkan. Dalam perancangan aplikasi, menggunakan SOA, aplikasi akan memanggil modul-modul yang sudah dibangun sebelumnya. Pendekatan modular ini bukanlah suatu hal baru. Teknik-teknik pemrograman terkini telah mengedepankan pendekatan modular dalam membangun aplikasi. Akan tetapi SOA berbeda dengan modular pembangunan aplikasi tersebut karena komponen (service) pada SOA dibangun dan berinteraksi dengan service lain secara bebas dan lepas (loose coupled).
SOA menggambarkan pola yang membantu sebuah aplikasi client terhubung pada sebuah service. Pola tersebut menyajikan mekanisme yang digunakan untuk menggambarkan sebuah service, mempublikasikan dan menemukan service, dan berkomunikasi dengan service. Pola tersebut digambarkan pada Gambar 1 (Manes 2003).

SOA membagi fungsi-fungsi menjadi unit-unit yang berbeda (layanan), yang dapat didistribusikan melalui suatu jaringan dan dikombinasikan serta digunakan ulang untuk membentuk aplikasi bisnis. Layanan-layanan ini saling berkomunikasi dengan mempertukarkan data antar mereka atau dengan mengkoordinasikan aktivitas antara dua atau lebih layanan. Konsep SOA sering dianggap didasari atau berkembang dari konsep-konsep yang lebih lama dari komputasi terdistribusi dan pemrograman modular.

2.3       Karakteristik SOA
Suatu konsep biasanya dikenal dari karakteristiknya, karakteristik dari SOA adalah:
1.    Komponen-komponen yang dibangun dalam SOA berinteraksi bebas dan lepas satu sama lain, dengan bersifat loose coupled sebuah servis dapat digunakan oleh program atau servis lainnya  tanpa  perlu  memperhatikan  platform  atau  teknologi  yang  digunakan  oleh  servis tersebut
Sebagai contoh, 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.

2.    SOA tersusun dari dua bagian, yaitu service interface dan service implementation.
Sebagai contoh misalnya ada service cetak sertifikat pelatihan, dalam mencetak sebuah sertifikat pelatihan  maka  ada  data  yang  diinputkan  kedalam  service  tersebut  misalnya  NIK,  Kode Pelatihan, dan ada data yang di outputkan yaitu sertifikat pelatihan. Input/Output inilah yang dikatakan service interface atau dengan kata lain parameter parameter input/output dari sebuah service. Lalu service implementation adalah bagaimana sebuah data input di proses dalam service tersebut hingga menghasilkan output, atau bisa dikatakan service implementation berisi logic proses dari sebuah service. Service implementation sangat terkait dengan teknologi pemrograman yang digunakan. Dalam SOA, SOA tidak memperdulikan service implementationnya di bangun dengan bahasa pemrograman apa, yang penting implementation dapat menerima input dan mengeluarkan output sesuai dengan Interfacenya.

3.    Servis harus business oriented, maksudnya disini adalah setiap service yang disediakan harus melakukan suatu aktifitas bisnis tertentu. Misalkan Customer Lookup, Fund Transfer, Check Inventory, dan sebagainya.

2.4       Web Service dan SOA
Bagaimana cara menerapkan SOA di perusahaan? 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.
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.

2.5       Kelebihan dan Kekurangan SOA
Implementasi SOA pada perusahaan membutuhkan biaya yang cukup besar, tetapi dengan perencaaan yang baik, SOA dapat memberikan keuntungan yang besar.
 Kelebihannya antara lain:
1.    Penghematan
Dengan membangun suatu koleksi service, penghematan dapat dimulai. Jka 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.
2.    Kecepatan
Dalam SOA, proses bisnis dipecah dan disederhanakan dalam bentuk services yang lebih kecil. Ketergantungan yang ada antar service harus diminimalisir, sehingga apabila terjadi perubahan pada suatu proses bisnis, cukup service yang berkaitan saja yang mengalami perubahan. Dengan begini, sistem dapat merespon perubahan dengan cepat.
3.    Real-time responsive
Dalam service-service tersimpan business dan batasan-batasan dalam bisnis dan service-service ini disimpan dan dikelola dalam sebuah server apliasi yang disebut ESB. Sehingga berbagai jenis aplikasi dapat mengakses business rules tersebut. Apabila terjadi suatu perubahan terhadap business rules, ESB akan mengelolanya secara otomatis, sehingga rules yang baru akan berlaku saat itu juga.
4.    Channel independent
Bisnis berkaitan dengan banyak pihak, baik dari pelanggan maupun supplier dan memungkinkan adanya berbagai jenis aplikasi yang berbeda-beda. Dengan adanya service dan ESB, memungkinkan berbagai aplikasi tersebut untuk mengakses business rules yang telah kita definiskan, sehingga pihak-pihak yang berkaitan dengan organisasi tidak tergantung lagi terhadap suatu aplikasi tertentu yang telah kita definisikan.
5.    Waktu pengembangan yang lebih singkat
Bisnis proses yang dipecah dalam bentuk service yang lebih kecil memungkinkan perubahan dan pengembangan pada service yang tertentu saja. Karena pengembangan dilakukan secara rerfokus, waktu yang dibutuhkan pun menjadi lebih sedikit.
6.    Mengurangi duplikasi
Service dalam SOA dikelola dalam server aplikasi yang disebut ESB. Karena service dikelola secara terpusat, hal ini akan mengurangi kemungkinan adanya duplikasi sistem. Selain itu, bentuk service yang memungkinkan reuseability juga mengurangi adanya fungsi yang sama yang ada di dalam sebuah sistem.

Kekurangan yang dimiliki SOA adalah:
1.    Kegagalan dalam membuat business case untuk SOA
Bagian IT seringkali membuat kesalahan dengan menganggap proyek SOA sebagai proyek IT. Padahal SOA bukanlah proyek yang dapat dikerjakan IT sendiri. Tetapi harus mencakup seluruh departemen dalam organisasi. Proses bisnis dimiliki dan dijalankan oleh tiap-tiap departemen. Oleh karena itu diperlukan keterlibatan setiap depatemen untuk mendapatkan pengertian yang lebih mendalam setiap proses bisnis yang diolah.
2.    Menyerahkan proyek SOA sepenuhnya ke vendor
Terkadang perusahaan mempercayakan sepenuhnya proyek SOA kepada vendor, dan bergantung hanya kepada teknologi. Padahal SOA bukan hanya masalah teknologi, dan pengembangannya pun tidak dapat diserahkan sepenuhnya kepada pihak luar. Yang mengetahui secara detail mengenai proses bisnis yang ada dalam perusahaan hanyalah orang-orang yang ada dalam perusahaan tersebut. Oleh karena itu sebaiknya proses tidak diserahkan sepenuhnya kepada vendor diluar perusahaan.
3.    Kegagalan dalam rencana dan eksekusi awal dalam implementasi
SOA akan membawa banyak perubahan perusahaan dalam perusahaan. Karena itu perlu waktu yang tepat untuk melakukan implementasi agar tidak menimbulkan resiko yang tinggi. Perencanaan perlu dilakukan secara matang. Dan perencanaan dan waktu yang tepat untuk implementasi tidak dapat dialihkan tanggung jawabnya kepada vendor.

2.6       Cara Kerja SOA
Inovasi membutuhkan perubahan dan SOA memudahkannya. 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. 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.
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.

2.7       Revolusi SOA
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. 
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.
            Peranan SOA dalam integrasi proses bisnis, pada 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 layanan 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, bukanlah kepuasan yang akan didapatkan nasabah.
                       



BAB III
PENUTUP
3.1       Kesimpulan
  • SOA memiliki sifat-sifat yang istimewa yang dapat menyelesaikan berbagai persoalan bisnis dan pendidikan. Sifat-sifat tersebut adalah loosely coupled dan konsep reuse serta interoperability.
  • Loosely coupled memungkinkan setiap layanan yang ada tetap bisa berajalan dengan baik, meskipun layanan lainnya tidak berjalan dengan baik.
  • Reuse memungkinkan adanya pembagian kerja atau desentralisasi beban dari berbagai layanan yang ada. 
  • Interoperability memungkinkan layanan menjamin dan menjadikan bisa berbagai jenis platform dan standard dokumen ataupun sistem saling berkomunikasi dengan baik.




Referensi







 

Tidak ada komentar:

Posting Komentar