310 likes | 676 Views
Kelompok. Rendra Ridho Haqiqi (210.511.137) Sigit Prabowo (210.511.139) Muhammad Farhan (210.511.167). Service Oriented Architecture (SOA). Definisi Services Oriented Architecture. Karakteristik Services Oriented Architecture. Services Oriented Architecture & Web Service.
E N D
Kelompok • Rendra Ridho Haqiqi (210.511.137) • Sigit Prabowo (210.511.139) • Muhammad Farhan (210.511.167)
Service Oriented Architecture (SOA) DefinisiServices Oriented Architecture KarakteristikServices Oriented Architecture Services Oriented Architecture & Web Service Keuntungan/ManfaatpenggunaanServices Oriented Architecture SOA atau Service Oriented Architecture adalah istilah di dunia TI yang banyak dibicarakan. Namun tidak ada salahnya saya memulai tulisan atau artikel ini dengan penjelasan singkat mengenai service oriented architecture. Cara menggunakan Services Oriented Architecture Cara kerja Services Oriented Architecture Revolusi Services Oriented Architecture PerkiraanTren SOA dijamanskrngdan yang akandatang Aplikasi SOA Aplikasi SOA didunia java
Service Oriented Architecture (SOA) adalah prinsip desain yang diinginkan untuk membangun system terdistribusi yang reliable dan mengirimkan service fungsionalitasnya, dengan menambahkan penekanan pada loose coupling antar pengguna service. Dengan kata lain SOA adalah suatu pendekatana arsitektur system yang merepresentasikan proses bisnis menjadi bentuk service yang lebih efisien dan tingkat ketergantungan yang lebih rendah satu sama lain. Service Oriented Architecture (SOA)
Suatukonsepbiasanyadikenaldarikarakteristiknya, olehsebabituuntukmengenallebihdekatapakah SOA itu, marikitacaritahuapakarakterisitiknya. Komponen-komponen yang dibangundalam SOA berinteraksibebasdanlepassatusama lain, denganbersifat loose coupled sebuahservisdapatdigunakanoleh program atauservislainnyatanpaperlumemperhatikan platform atauteknologi yang digunakanolehservistersebut. Karakteristik SOA Sebagai contoh, misalnya sebuah aplikasi HR yang bertugas untuk menyimpan data data elearning dari divisi learning center, maka aplikasi tersebut tinggal memanggil servis dari aplikasi e-learning tersebut tanpa harus memperhatikan platform dari aplikasi e-learning tersebut. Gambar 2.1 Loose Coupled
Karakteristik SOA 2. Karakteristik ke dua adalah, SOA tersusun dari dua bagian, yaitu service interface dan service implementation. sebagai contoh misalnya ada servis cetak sertifikat pelatihan, dalam mencetak sebuah sertifikat pelatihan maka ada data yang diinputkan kedalam servis 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 apakah service implementation, service implementation adalah bagaimana sebuah data input di proses dalam servis tersebut hingga menghasilkan output, atau bisa dikatakan service implementation berisi logic proses dari sebuah servis. Gambar 2.2 Service interface & service implementation
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. Karena penerapan SOA pada umumnya akan menggunakan bahasa sejuta platform yaitu eXtensible Markup Language(XML). Karakteristik SOA Gambar 2.3 Service Interface & Service Implementation 3. Karakteristik yang ke tiga adalah Servis harus business oriented, maksudnya disini adalah setiap service yang disediakan harus melakukan suatu aktifitas bisnis tertentu
Dalam hal ini SOA mempunyai beberapa karakteristik : • Logical view, service yang dilihatdari level operasibisnis yang diidentifikasi • sebagai interface yang independen. • Message orientation, Sebuah service yang berhubungan dengan client yang • bertukar message. • Discription Orientation, Servive yang didekripsikansebagaimesinpengolah • metadata. • Network Orientation, Service dituntutuntukdipakaididalamjaringan. Hal ini • menenkankanpada kebutuhanservice yang secara otomatissertamudah • ditemukan. • Platform neutrality, Pesandisampaikanmelalui interface yang menggunakan • platform netral (multi platform) dan format data yang standartseperti XML. Karakteristik SOA
Service Interface, menyatakanbagaimana service tersebutdapatdipanggilseperti • parameter input / output danlokasiiaberada. • Service implementation, sangatterkaitdenganteknologipemrograman yang • digunakan. SOA tidakperlumemperdulikanbagaimanasebuah service di • implementasikan. • Service Business Oriented, setiap service yang didefinisikanharusmelakukansuatu • aktifitasbisnistertentu. Karakteristik SOA
Setelah sekian panjang penjelasan mengenai SOA, lalu muncul pertanyaan, bagaimana cara menerapkan SOA diperusahaan ini, jawabnya sangat sederhana, gunakanlah Web Service, walaupun ada cara cara yang lain yang bisa digunakan untuk implementasi SOA ini. Web Service merupakan sekumpulan fungsionalitas yang dapat diakses melalui Internet Protocol (IP) standar. Web Service banyak digunakan untuk aplikasi sistem yang terdistribusi secara heterogen baik dari sistem operasi sampai model objek. Kekuatan dari Web Service adalah menggunakan model messaging berbasis teks untuk komunikasi yang memungkinkan dapat beroperasi secara efektif pada platform yang berbeda. Oleh karena itulah Web Service banyak digunakan dan diakui secara luas. SOA dan Web Services
SOA dan Web Services Gambar 4.1 Konsep Web Service
Web service mempunyai prinsip kerja mengembalikan hasil service dalam bentuk XML yang berorientasi pada data yang tidak dapat langsung di konsumsi oleh user. Oleh sebab itu webservice sering juga dikatakan bersifat application-centric bukan human-centric. Kira kira gambar berikut ini dapat memberikan gambaran dari maksud tersebut. SOA dan Web Services untuk dapat menggunakan layanan webservice maka webservice dapat dipanggil menggunakan tiga model messaging : 1. XML-RPC 2. SOAP 3. HTTP GET/POST
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 perubahan proses – proses bisnis di dalamnya agar mampu menjawab tuntutan pasar terkini. • Pada prinsipnya, memulai sebuah inisiatif SOA dimulai dengan membangun sejumlah service yang kelak dapat di-reuse (digunakan kembali). Disini ada beberapa pendekatan yang bisa kita ambil : • Kita dapat memulai dengan membangun dari scratch (dari desain awal) 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. Keuntungan/Manfaatpenggunaan SOA
Kita dapat membuat program – program 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 interfacenya 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 bisa juga digabungkan membentuk service baru yang lebih tinggi, seperti Service 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. Keuntungan/Manfaatpenggunaan SOA
Services pun dapat dibeli dari pihak ketiga (misalnya sebuah perusahaan penyedia jasa informasi pemeringkat kredit). Selain itu saat ini vendor – vendor paket aplikasi juga sudah memodifikasi produknya agar tersedia dalam bentuk services yang dapat dipanggil secara web services. Keuntungan/Manfaatpenggunaan SOA 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. Gambar Keuntungan yang ditawarkan SOA dalam berbagai level
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. Keuntungan/Manfaatpenggunaan SOA
Web Service menerapkan arsitektur SOA, maka cycle proses web service akan sama dengan SOA. Dalam web service bekerja pada infrastruktur melayani : mekanisme penemuan lokasi web service, mekanisme deskripsi service yang meliputi bagaimana menggunakan service dan bagaimana format standart dalam komunikasi. Penggunaan infrastruktur ini requester entity dapat mengikat dan menggunakan web service dengan beberapa cara, tetapi cycle interaksi dalam web service akan selalu sesuai dengan cycle SOA Cara menggunakan 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. Cara Kerja SOA
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. Cara Kerja 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 Revolusi SOA
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 Revolusi SOA
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. Organisasi-organisasi akan terus mencari cara untuk mengurangi biaya TIOrganisasi-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. Perkiraan-perkiraanTren SOA
Peningkatan fokus pada Business IntelligenceBusiness 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%. Perkiraan-perkiraanTren SOA
Peningkatan penerimaan dan permintaan untuk software sebagai sebuah layananSoftware 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. Perkiraan-perkiraanTren 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. Aplikasi SOA 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.
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. Aplikasi SOA dalamdunia Java 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. Aplikasi SOA dalamdunia Java 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).
http://novhard.files.wordpress.com/2010/08/enterprise-service-oriented-architecture.pdfhttp://novhard.files.wordpress.com/2010/08/enterprise-service-oriented-architecture.pdf http://muhammadnurcahyopratomo.blogspot.com/2012/10/implementasi-service-oriented.html http://forfun.imanuelrevelino.com/?p=5 http://subari.blogspot.com/2008/03/soa-service-oriented-architecture.html http://12puby.blogspot.com/2011/07/service-oriented-architecture-soa.html http://blog.ub.ac.id/debie/?p=52 http://e-riset.darmajaya.ac.id/jurnal-ik/wp-content/uploads/2009/10/hendro1.pdf http://www.oracle.com/technetwork/articles/javase/soa-142870.html http://www.galih.web.id/2010/05/service-oriented-architecture-soa-dan.html Referensi