BAB II LANDASAN TEORI
2.1
Pengertian Service Oriented Architecture Service Oriented Architecture yang biasa disingkat dengan SOA ini pada dasarnya adalah suatu model arsitektur sistem yang membuat dan menggunakan proses bisnis dalam bentuk paket layanan sepanjang siklus hidupnya. Sesuai dengan namanya, arsitektur ini mengedepankan pada komponen-komponen yang memberikan suatu jenis layanan bisnis atau service tertentu. Secara garis besar, SOA (Service Oriented Architecture) adalah sebuah pendekatan dalam merancang (arsitek) suatu aplikasi dengan menggunakan kembali (reuse) dari komponen – komponen yang sudah ada sebelumnya (Hurwitz, 2007, page 30). Dalam bidang Information Technology, istilah Service Oriented Architecture berkembang dalam lingkup penggunaan service untuk menunjang kebutuhan pengguna software. Sehingga SOA dapat berperan sebagai arsitektur teknologi informasi yang dapat menunjang berbagai aplikasi untuk saling bertukar data dan berpartisipasi dalam proses bisnis yang terkait. Dalam sebuah lingkungan atau environment IT yang menggunakan SOA, proses didalamnya tersedia sebagai service yang independen yang dapat diakses tanpa pengetahuan tentang implementasi platform di belakangnya ataupun tersedia dalam sumber yang berbeda (Hurwitz, 2007, page 35). 7
8
Sehingga memungkinkan terbentuknya arsitektur kerangka kerja berbasis standar terbuka yang memungkinkan perusahaan untuk saling mengintegrasikan data yang sebelumnya terpecah menjadi terintegrasi dalam satu bagian. Hal ini menjadikan SOA sebagai sebuah service, berupa komponen terdistribusi yang dapat digunakan pada berbagai bahasa pemrograman dan platform. Proses integrasi ini sendiri mengakibatkan standarisasi interface dalam mengakses berbagai fungsi bisnis yang berbeda yang berjalan pada sistem yang berbeda. Fungsi – fungsi bisnis ini nantinya tidak akan terikat dengan sistem operasi ataupun bahasa pemrograman yang mendasari suatu aplikasi dan dapat diakses terus menerus oleh suatu lingkungan bisnis yang ada. Arsitektur tersebut juga menunjang berbagai aplikasi untuk saling bertukar data dan berpartisipasi dalam proses bisnis. Service Oriented Architecture dikatakan sebagai proses pembangunan standar berbagai interfaces yang digunakan sebagai media bantu dalam mengakses aplikasi untuk mengakses fungsi bisnis yang berbeda, serta di dalamnya terhubung berbagai inti bisnis dari backend system yang ada. Fungsi ini menjadi esensial dan penting kepada sistem bisnis yang lain yang tergabung dalam ekosistem perusahaan, sehingga standarisasi interface tersebut dapat digunakan secara luas dalam suatu perusahaan dan dapat menangani aplikasi yang berbeda baik dari segi bisnis ataupun fungsional (Seshadri, 2007, page 260-261)
9
Aplikasi yang terstruktur sesuai dengan prinsip-prinsip SOA akan dapat masuk ke dalam setiap skenario integrasi, terlepas dari protokol yang diperlukan. Proses integrasi ini sendiri tentu masih memiliki hambatan, seperti untuk menjembatani kesenjangan teknologi, seperti protokol komunikasi yang berbeda. Akan tetapi tetap diperlukan adanya upaya untuk menjembatani kesenjangan ini bila dibandingkan dengan kompleksitas mengintegrasikan aplikasi pada tingkat struktural (Krafzig, 2004, page 5051).
2.2
Peranan SOA dalam perkembangan Arsitektur IT Proses integrasi dan interoperability sesuai prinsip SOA inilah yang kemudian memacu perkembangan Arsitektur IT, dimana fleksibelitas bisnis yang berjalan tergantung pada fleksibelitas TI yang didukung dengan SOA. Akan terjadi suatu pengintegrasian bisnis proses yang didukung oleh infrastruktur IT dengan komponen layanan standar untuk mendapatkan peningkatan dari seluruh proses yang ada (Krafzig, 2004, page 34). Infrastruktur IT diharapkan dapat mencakup seluruh proses bisnis dan tidak hanya berfolus di satu bagian saja. Perkembangan bisnis yang semakin cepat juga menuntut IT dapat berkembang semakin fleksibel dan cepat mengikuti tuntutan pasar dan kebutuhan organisasi
10
Proses Integrasi yang diperlukan seiring semakin berkembangnya kompleksitas arsitektural dari suatu dekade ke dekade yang lain ini digambarkan dalam bagan dibawah ini:
Gambar 2.1 Proses Perkembangan Arsitektur IT (Dikutip dari Enterprise SOA: Service-Oriented Architecture Best Practices, 2004)
Dimana dalam Enterprise Architecture sekarang ini tersusun oleh teknologi yang independen, sehingga memungkinkan setiap aplikasi untuk berintegrasi dan memiliki fleksibilitas yang tinggi. Dalam software yang dikembangkan tersebut, arsitektur ini mempunyai peran sebagai pemberi pengaruh dari luar dan juga pengontrol. Sehingga arsitektur tersebut dapat melihat keseluruhan proyek pengembangan perangkat lunak yang ada dari poin strategi yang dikembangkan oleh perusahaan. Arsitek software tersebut secara konstan dihadapi pada perubahan dan penambahan fungsionalitas secara terus menerus yang akan mengakibatkan semakin meningkatnya kompleksitas sistem dan mengurangi efisiensi yang ada.
11
2.3
Cara kerja dan konsep Service Oriented Architecture SOA ini sendiri 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 dipanggil 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. Digambarkan di dalam gambar 2.2 di bawah contoh dari SOA sebagai suatu support sistem dari service yang dikembangkan perusahaan. Dimana SOA ini akan terhubung dengan banyak service lain sehingga akan bersifat shared service yang dapat diakses oleh siapapun. Service dibentuk dan dikelola dari data ataupun dari turunan sistem yang ada
12
Gambar 2.2 Arsitektur SOA (Dikutip dari SOA meta-model, The Linthicum Group, 2007)
Sehingga ke depannya SOA menjadi prinsip desain yang diinginkan untuk membangun sistem terdistribusi yang dipercaya dalam mengirimkan fungsionalitas service-nya, dengan menambahkan penekanan pada loose coupling antar pengguna service. Dalam hal ini SOA memiliki beberapa karakteristik,antara lain: -
Logical view, service yang dilihat dari level operasi bisnis yang diidentifikasi sebagai interface yang independen
-
Message orientation, Sebuah service yang berhubungan dengan client yang bertukar message.
13
-
Discription Orientation, Servive yang didekripsikan
sebagai
mesin pengolah metadata. -
Network Orientation, Service dituntut
untuk dipakai di dalam
jaringan. Hal ini menenkankan pada kebutuhan service yang secara otomatis serta mudah ditemukan. -
Platform neutrality, Pesan disampaikan melalui interface yang menggunakan platform netral (multi platform) dan format data yang standart seperti XML.
Arsitektur SOA dapat diimplementasikan dengan beberapa teknologi yang diantaranya adalah CORBA (Commond Object request Broker Architecture), Distributed Computing Environtment (DCE), Distributed Command Object Model (DCOM), Remote Method Ivocation (RMI), dan Web
Service.
Dari
sekian
banyak
teknologi
yang
dapat
mengimplementasikan SOA tersebut, Web Service-lah yang dianggap paling terdepan dikarenakan
mampu mengatasi solusi dari perbedaan aplikasi
yang ada serta dapat berjalan di banyak platform (Eric Newcomer, 2004). Sehingga dapat memudahkan dalam proses integrasi sistem seperti Bisnis to Bisnis (B2B), Bisnis to Customer (B2C) dalam aplikasi e-business dan Virtual Enterprise (VE). Cara kerja dari SOA ini menggunakan paradigma find-bind-execute seperti ditunjukan pada gambar 2.3. dalam gambar tersebut diilustrasikan siklus
dari interaksi service dalam arsitektur sistem SOA. Pada tahap
1,service provider mempublikasikan service yang dimilikinya ke registry
14
public. Tahap ke-2 service customer mencari service yang dibutuhkan ke registry public. Tahap ke-3, registry akan memeberikan respon berupa list service yang tersedia dalam registry yang dilengkapi dengan informasi alamat, cara pemanggilan service, return mengenali protocol
yang
digunakan.
yang
bakal
Kemudian
diperoleh
tahap
dan
ke-4 service
memberikan respon
Gambar 2.3 Cara Kerja SOA (Dikutip dari J2EE Platform Web Service, 2004)
Melalui proses ini terdapat kemudahan dalam proses pengambilan data maupun dalam akses mendapatkan registry yang dibutuhkan. Selain itu juga terdapat adanya pemisahan antara pengguna yaitu Customer dengan penyedia service yaitu Provider.
15
Proses pemisahan ini juga menguatkan proses security agar sistem yang sudah diregistry tidak bisa diakses oleh sembarang orang. Pemisahan role ini sendiri dapat memperkuat proses bisnis agar bisa bekerja secara lebih maksimal. Ciri utama SOA adalah mempromosikan melalui penggabungan komponen-komponen perangkat lunak. Diantara komponen perangkat lunak tersebut saling berinteraksi dalam satu kesatuan. Sedangkan keuntungan dari penggunaan Arsitektur SOA adalah fleksibel, dapat diukur (scalable), dapat diganti (replacability) dan fault tolerance.
2.4
Konsep Service dalam SOA Service adalah kelompok fungsi independen yang tidak saling berhubungan langsung kecuali ke interface service. Service ini dapat berjalan di berbagai platform sistem operasi, digunakan di berbagai lokasi serta ditulis dalam
berbagai
bahasa
pemrograman.
Service
bus
memungkinkan
komunikasi antara service-service tersebut melalui interface service. Interface service sendiri adalah metode standard komunikasi yang dapat dipakai siapapun tanpa membedakan siapa pembuatnya ataupun siapa yang menyediakannya. Service bus akan menyembunyikan bagian mana dari service yang berkomunikasi dengan aplikasi. Berikut ini dalam Gambar 2.4 adalah contoh service-bus dimana terjadi peranan antara workflow yang digunakan dengan service yang ada.
16
Gambar 2.4 Contoh Enterprise Service Bus (Dikutip dari Toward Realization of SOA, 2006)
Dalam
arsitektur
SOA,
Service
dapat didefinisikan
sebagai
komponen (software component) yang memiliki karakteristik seperti berikut ini : •
Dapat dideskripsikan dalam suatu bahasa formal
•
Dapat dipublikasikan pada suatu registry of service
•
Dapat ditemukan dengan menggunakan mekanisme standard
•
Dapat diminta/di-invoke melalui jaringan
•
Dapat dibangun bersama service lain .
17
Sehingga berdasarkan hal tersebut, jika digambarkan dalam model implementasinya dapat ditunjukkan dalam gambar 2.5 berikut:
Gambar 2.5 Model Implementasi Service dalam SOA (Dikutip dari Understanding SOA with Web Service, 2004)
Proses service ini yang kemudian menjadi vital, dimana inti dari SOA ini sendiri terdapat pada service. Sekumpulan service tersebut membentuk suatu komponen yang kemudian akan berkomunikasi satu sama lain. Service itu juga yang nantinya akan menjadi dasar dari aplikasi yang menggunakan arsitektur SOA. Dimana di dalam SOA akan dikembangkan pendekatan bagaimana untuk mendeskripsikan serta mengatur tiap – tiap service tersebut agar tepat guna dan bermanfaat. Service yang ada juga harus sejalan dengan fungsi bisnis yang dikembangkan, sehingga meskipun service tersebut berkembang semakin besar ke depannya, arsitektur IT yang menggunakan SOA dapat
18
mengikuti proses bisnis dengan baik. Kumpulan komponen yang dibentuk dari service bekerja sama dalam mengirimkan fungsi bisnis yang diwakili oleh service tersebut.
2.5
Web Service Web Service adalah sebuah metode komunikasi antara dua perangkat elektronik melalui World Wide Web. Sebuah web service menerapkan fungsi perangkat lunak yang disediakan pada suatu alamat jaringan melalui web ataupun cloud, service ini sendiri merupakan suatu layanan yang selalu hidup seperti yang ada dalam konsep utilitas komputer. Web Service dapat diimplementasikan pada lingkungan internal (Intranet) untuk kebutuhan integrasi antar sistem aplikasi ataupun pada lingkungan eksternal (Internet) untuk mendukung aplikasi Business to Business (B2B). Definisi Web Service menurut W3C sendiri adalah "A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machineprocessable format (specifically WSDL)". Sehingga dapat dikatakan Web Service menerapkan arsitektur SOA, hal inilah yang menyebabkan siklus proses web service akan sama dengan SOA. Dalam web service yang bekerja pada infrastruktur akan melayani proses seperti ini: Mekanisme penemuan lokasi web service, mekanisme deskripsi service yang meliputi bagaimana menggunakan service dan bagaimana format standar dalam komunikasi.
19
Berikut ini adalah beberapa karakteristik dari Web Service, antara lain: •
Merupakan application logic yang dapat diakses dan dipublikasikan menggunakan standar Internet (TCP/IP, HTTP, SMTP, FTP, JMS, Web).
•
Dideskripsikan dalam format XML.
•
Didentifikasikan dengan Universal Resources Identifier (URI)
•
Bersifat Loosely coupled, self-contained, modular dan terbuka (nonproprietary)
•
Digunakan untuk mendukung interoperabilitas interaksi machine-to-machine melalui jaringan Internet/Intranet.
Proses dari web service itu sendiri berdasarkan dari arsitektur SOA yang menerapkan penggunaan infrastruktur dari requester entity yang dapat mengikat dan menggunakan web service dengan beberapa cara, tetapi perputaran interaksi dalam web service akan selalu sesuai dengan perputaran arus SOA.
20
Proses ini dijelaskan lebih jauh seperti ditunjukan dalam gambar dibawah ini:
Gambar 2.6 Proses interaksi webservice (Dikutip dari W3C: Web Service Architecture, 2003)
Dimana didalam prose situ melibatkan Entitas Requester dan Entitas Provider, dan keduanya harus saling mengetahui satu sama lainnya, atau minimal salah satu mengetahui yang lainnya. Selain itu juga Entitas Requester dan Provider harus sama-sama setuju atas deskripsi service (Web Service Description / WSD) dan semantic yang akan mengatur interaksi antar agen (potongan software atau hardware yang mengirim dan menerima pesan) requester dan provider. Diharapkan deskripsi service dan semantic berdasarkan agen requester dan provider agar diantara keduanya dapat mempermudah dalam bertukar pesan.
21
2.6
SOA Governance Tata kelola SOA atau yang umum dikenal sebagai SOA governance ini merupakan proses dalam mengoordinasikan aktivitas pengembangan services, khususnya yang dilakukan sebuah entitas bisnis yang besar. Hal tersebut diperlukan untuk menjaga konsistensi dan interoperabilitas antar berbagai services. Patut digaris bawahi bahwa setiap orang yang terlibat dalam perusahaan yang menggunakan SOA meski berada dalam divisi ataupun lokasi yang berbeda perlu mengetahui service apa saja yang tersedia. Sehingga penggunaan kembali kode dan proses yang diperlukan dapat berjalan dengan baik. Tata kelola SOA yang baik juga akan mengurangi risiko ketidakserasian service dan upaya pengembangan yang terlalu berlebihan. Patut dilihat juga bahwa tata kelola SOA tidak hanya untuk tim IT saja, tetapi juga melibatkan kepentingan bisnis dari semua stakeholder. Hal ini menjadi vital, agar dapat mendukung proses bisnis yang dijalankan oleh perusahaan. Dikarenakan tata kelola SOA ini tidak dapat berjalan tanpa adanya bantuan dari tim managerial. Dalam konteks SOA governance ini sering disalah artikan oleh banyak orang. Sering kali SOA governance ini dianggap sebagai tata kelola dalam lifecycle service itu sendiri. Dan memfokuskan diri pada pengembangan service tanpa melihat tujuan dari menyukseskan bisnis yang dilakukan dan tujuan dari SOA itu sendiri.
22
Pengembangan SOA haruslah
sejalan
dengan tujuan bisnis,
memperkecil resiko di kemudian hari dan juga menyesuaikan dengan konteks organisasi yang ada. SOA governance ini dapat didefinisikan sebagai interaksi antara kebijakan (What), pembuat keputusan (who), dan proses (how) untuk memastikan kesuksesan dari SOA seperti yang digambarkan dalam gambar 2.7 di bawah ini:
Gambar 2.7 Alur dari SOA Governance (Dikutip dari SOA Governance: Framework and Best Practice, 2007)
Variabel 'What' menandakan keputusan apa yang harus dibuat untuk management yang lebih efektif, 'Who' berarti siapa yang harus mengambil keputusan dan yang mempunyai hak memberikan masukan, dan 'How' berarti bagaimanna proses akan disetujui dan diimplementasikan. Semua hal tersebut mengarah kepada strategi SOA, sehingga akan dapat sejalan dengan bisnis yang ada. Dan dapat menghasilkan hasil yang sesuai dengan ekspektasi awal serta merupakan bagian dari strategi SOA tersebut.
23
Kebijakan dan juga proses pendukung menjadi penting sehingga komunikasi berjalan lancar tidak hanya di satu arah saja, dan adanya pengawasan implementasi yang sudah dilakukan. Hal inilah yang merupakan inti dari tata kelola SOA, dengan menerapkan kebijakan dan prosedur untuk memastikan berjalannya sistem tepat waktu dan eksekusi yang sesuai dengan rencana awal (SOA governance best practice, 2007).
2.7
Kebutuhan Enterprise Software Architecture Berikut ini akan digambarkan beberapa karakteristik yang harus disediakan oleh perusahaan dalam membangun software architecture mereka untuk meningkatkan daya guna dan efisiensi: a. Simplicity Arsitektur yang dibuat harus sederhana sehingga memungkinkan untuk komunikasi yang efisien antara personil yang penting. Banyaknya orang yang terlibat dalam proses pembangunan aplikasi yang dikembangkan serta tiap - tiap orang ini memiliki peran yang berbeda dan sudut pandang yang berbeda. Setiap orang yang terdapat di perusahaan juga memiliki tingkat pemahaman terhadap teknologi IT yang berbeda. Diharapkan arsitektur yang lebih simple dapat menunjang peranan bisnis baik secara horizontal maupun vertikal. Sehingga arsitektur IT ini tidak hanya dimengerti
oleh
orang-orang
yang
memiliki
pengetahuan
computer saja,tetapi dapat diterapkan secara luas oleh seluruh lapisan perusahaan.
24
b. Fleksibilitas dan maintainability Setiap sistem perusahaan tunduk pada perubahan yang sedang berlangsung. Kondisi seperti ini yang terjadi terus menerus mengakibatkan adanya penyesuaian dengan kebutuhan yang baru terkait dengan kebutuhan pasar yang semakin berkembang, perubahan hukum, atau reorganisasi bisnis. Oleh karena itu, arsitektur harus mengarah pada sistem yang sangat fleksibel dan mudah dilakukan pengelolaan di dalamnya. Arsitektur harus menentukan komponen yang berbeda yang dapat disusun kembali dalam cara yang fleksibel. c. Reusability Hal ini telah menjadi tujuan utama rekayasa perangkat lunak selama beberapa dekade, dengan berbagai tingkat keberhasilan. Hal ini dapat dicapai dengan menciptakan inventarisasi dari alat yang ada dan terus memberdaya gunakan kembali alat tersebut. Tujuan konkret yang dapat dihasilkan yaitu berkurangnya biaya pengembangan dan pemeliharaan, yang dapat dicapai dengan berbagi fungsi (shared service) yang digunakan di seluruh proyek yang berbeda. Namun, mungkin aspek yang lebih penting kemampuan untuk berbagi data melalui aplikasi secara real-time, sehingga mengurangi redudansi konten yang ada. d. Mengurangi penggunaan fungsionalitas dan teknologi Arsitektur harus membuat organisasi perusahaan agar independen dari teknologi. Harus adanya pemisahan siklus antara aplikasi bisnis yang panjang dari siklus inovasi yang lebih pendek yang
25
terdapat dalam suatu teknologi. Selain itu, arsitektur yang dirancang untuk bertahan lebih lama dari satu atau dua siklus inovasi teknologi harus mengatasi tidak hanya dengan perubahan teknologi, tetapi juga dengan siklus hidup yang sebenarnya di dalam teknologi yang terpasang. Oleh karena itu persyaratan utama yang arsitektur mentolerir heterogenitas mengubah infrastruktur teknis yang ada. Secara khusus, arsitektur harus menghindari ketergantungan pada produk tertentu dan vendor.
2.8
Jurnal Summary Berikut ini akan ditambahkan beberapa sumber studi tambahan yang didapat penulis dari beberapa jurnal yang dirangkum dalam bentuk tabel:
26
Tabel 2.1 Jurnal “Architectures for enterprise integration and interoperability: Past, present and future”
Detail Judul : Architectures for enterprise integration and interoperability: Past, present and future Pengarang : David Chen, Guy Doumeingts, Francois Vernadat Tahun Terbit : 2008
Latar Belakang Arsitektur IT dianggap sebagai pondasi dari sistem engineering perusahaan. Dan juga terdapat perkembangan dari Enterprise Arsitektur beserta dengan implementasi yang terjadi dari periode waktu 80an serta pendefinisian dan juga pengklarifikasian konsep dasar dari enterprise arsitektur
Rumusan Masalah Adanya kesulitan yang didapat tiaptiap perusahaan dalam menerapkan Enterprise Architecture, hal itu menjadi hambatan dalam mengerti kebutuhan industri yang ada. Selanjutnya yang menjadi pilihan dari perusahaan dalam memilih Enterprise Architecture yang ingin mereka gunakan,banyak perusahaan memilih untuk mengintegrasi sistem perusahaan mereka. Dimana arsitektur ini menjabarkan konsep, prinsip, serta tugas dari model dan teknik yang digunakan oleh perusahaan
Metodologi Metode research dan analisis arsitektur agar berfungsi sebagai tool untuk menolong stakeholder dan company dalam menangani sistem engineering dan perubahan yang terdapat di dalamnya. Dan dilakukan development terbaru pada arsitektur yang digunakan untuk mendukung interoperability dalam Enterprise Architecture. Alat bantu yang digunakan yaitu penggunaan mapping untuk membentuk interoperability antara model dan sistem yang dibuat.
Kesimpulan Pembentukan Model Driven Architecture (MDA) yang menjadi scope dalam cover level dari model perusahaan untuk mempresentasikan business user dan kebutuhan interoperability, dan selanjutnya yaitu pengembangan model driven interoperability (MDI) berdasarkan MDA dan enterprise interoperability. Hal ini mendorong pergeseran dari enterprise integration menuju pengembangan framework untuk interoperability.
27
Tabel 2.2 Jurnal “Customer oriented enterprise IT architecture framework”
Detail Judul : Customer oriented enterprise IT architecture framework Penulis: Nasrin Dastranj Mamaghani, Fariborz Mousavi Madani, Ali Sharifi Tahun Terbit : 2012
Latar Belakang Munculnya problem mengenai pengusulan bagaimana pembentukan architecture framework yang baik di dalam perusahaan IT. Perbedaan dalam referensi model dari Enterprise Architecture dan framework dalam mendesain dan mengembangkan sistem informasi dalam organisasi masing-masing inilah yang menjadi dasarnya bagaimana ITarchitecture ini terus menerus dikembangkan agar sesuai dengan kebutuhan organisasi dan dapat mengorientasikan bisnis pada kepuasan pelanggan.
Rumusan Masalah Pendekatan customer oriented ini berarti memikirkan mengenai produk dan servis yang dibutuhkan dari sudut pandang customer. Solusi bisnis berorientasi pelanggan ini menggabungkan proses kerangka standart dari industri dengan pengalaman, metodologi, teknik mekanisme, teknologi, alat industri dan juga resource yang digunakan.
Metodologi Metode yang dilakukan yaitu dengan pengembangan untuk mendapatkan konseptual model dalam customer oriented enterprise. Dimana model dari Enterprise Architecture yang digunakan akan direview terlebih dahulu serta key concept beserta dimensi dari Enterprise Architecture juga akan diekstrak, Berdasarkan review tersebut analisa dari key dimension dari model yang diusulkan akan diambil. Relasi antara customer dan requirement fungsional yang ada tersebut akan divalidasi oleh pendapat para ahli dengan menggunakan metode Quality Function Development. Metode yang diusulkan ini akan menentukan goal yang diinginkan, komponen dan relasi yang terjadi.
Kesimpulan Pengembangan dari Enterprise Architecture berdasarkan kebutuhan customer ini dirasakan sangat vital, pendekatan customer oriented ini mencakup pengumpulan informasi tentang pelanggan dan aplikasinya, seperti personalisasi dan integrasi dari pelayanan kepada pelanggan serta mengidentifikasi peluang untuk meningkatkan nilai pelanggan bagi organisasi. Untuk menciptakan business application dan service berdasarkan kebutuhan customer,diperlukan arsitektur layer untuk diimplementasi dalam aplikasi. Berdasarkan functional requirement dari customer itulah beberapa Enterprise Architecture dijadikan solusi antara lain Service Oriented Enterprise Architecture, Information systems and software services, Customer relation, Security and network, Organizational cooperation.
28
Tabel 2.3 Jurnal “An ontology-based Enterprise Architecture”
Detail Judul : An ontology-based Enterprise Architecture Penulis : Dongwoo Kang, Jeongsoo Lee, Sungchul Choi, Kwangsoo Kim Tahun Terbit : 2010
Latar Belakang Enterprise Architectures yang baik haruslah membuat bagian dari suatu perusahaan untuk mengerti detail struktur dan komponen dari enterprise tersebut dan bagaimana komponen tersebut bekerja bersamasama. Melalui Enterprise Arsitektur ini diharapkan arsitektur yang dikembangkan dapat mengimplementasik an integrasi mereka secara dinamis dalam perubahan business environment yang ada. Sehingga perkembangan sistem dapat sejalan dengan pengembangan IT yang digunakan.
Rumusan Masalah Akan tetapi Enterprise Architecture yang ada sekarang ini memiliki kekurangan dalam hal semantik (ilmu tentak tata bahasa) sehingga manusia dan sistem tidak dapat mengerti Enterprise Architecture yang dilakukan secara tepat. Hal ini yang dapat menyebabkan permasalahan komunikasi antar manusia, antar sistem ataupun antara manusia dan sistem.
Metodologi Dimana diusulkan Enterprise Architecture baru dengan dasar ontology yang diharapkan dapat memecahkan masalah terutama dalam hal komunikasi. Ontologi ini sendiri merupakan konseptualisasi dari spesifikasi yang dieksplisitkan dan digunakan untuk meningkatkan komunikasi baik itu antara manusia ataupun komputer, sehingga kedepannya diharapkan manusia ataupun sistem dapat mengerti Enterprise Architecture secara tepat yang dapat membantu integrasi di dalam perusahaan.
Kesimpulan Enterprise Architecture merupakan dokumen deskriptif yang menjelaskan segala komponen enterprise secara sistematis. Dengan Enterprise Architecture ini perusahaan dapat mengimplementa si integrasi yang mereka buat dengan merubah secara dinamis bisnis environment sesuai situasi yang terjadi, Berdasarkan hal inilah dirasakan perlu adanya perbaikan terutama dalam mengatasi masalah komunikasi yang mungkin muncul. Meski melalui Enterprise Architecture dengan based ontology ini dirasakan sudah cukup,masih perlu dilakukan beberapa pengembanganpengembangan lain agar Enterprise Architecture yang dibuat semakin kokoh.
29
Tabel 2.4 Jurnal “A software architecture and framework for Web-based distributed Decision Support Systems”
Detail Judul : A software architecture and framework for Web-based distributed Decision Support Systems Penulis : Shifeng Zhang, Steve Goddard Tahun Terbit : 2007
Latar Belakang Seiring dengan semakin berkembangnya arsitektur dan framework yang digunakan dalam aspek IT dirasa perlu pengembangan lebih jauh terutama dalam membentuk suatu rancangan yang dapat membantu pengambilan keputusan (decision support). Proses decision support itu lebih mudah digunakan apabila dirancang dalam bentuk web-based. Dimana diharapkan dalam penggunaan tersebut meningkatkan tingkat efektifitas dan efisien sistem tersebut.
Rumusan Masalah Perlu adanya pemilihan arsitektur yang pas dan dapat mendukung metode integrasi untuk membantuk mendesain dan mengimplementas i Web-based untuk Decision Support System (DSS) yang dikembangkan di dalam environment terdistribusi. Webbased DSS ini sendiri berbeda dengan DSS tradisional, pertama arsitektur untuk Web-Based DSS ini dipindahkan dari frame utama, client-server sistem, web, dan sistem teknologi network distribusi terkait. Kedua web-based ini tidak terfokus pada akses dan manipulasi model domain-related.
Metodologi Pengembangan yang dilakukan terkait dengan metode untuk Webbased Decision Support Systems tersebut. Metodenya terdiri dari 3 bagian, pertama yaitu pembentukan layered software architecture yang mempresentasikan untuk membantu design web-based DSS, layered software ini menyediakan formal dan pandangan hierarikal dalam web-based DSS. Metode selanjutnya yaitu pembentukan component-based framework yang digambarkan untuk mengimplementasi kan Web-based DSS. Metode terakhir yaitu pembentukan layered software architecture dan pemasangan 3CoFramework ke dalam Web-based National Agricultural Decision Support System (NADSS)
Kesimpulan Untuk menyediakan bantuan informasi yang mensupport dalam decisionmakers ini pada dasarnya dibutuhkan data dan alat analysis terkait yang esensial kepada Decision Support System. Dimana data yang dibutuhkan tidak hanya dalam jumlah yang banyak tetapi juga datang dari sumber yang beraneka ragam. Dari penggunaan NADSS sebagai framework ini diharapkan dapat menjadi solusi, meski framework ini masih dalam masa pengembangan, desain ini dan metodologi implementasin ya diharapkan dapat menolong NADSS kemudian hari.
30
Tabel 2.5 Jurnal “ArchiMeDeS: A model-driven framework for the specification of service-oriented architectures”
Detail Judul : ArchiMeDeS: A modeldriven framework for the specification of serviceoriented architectures Penulis : Marcos LopezSanz,Esperanz a Marcos Tahun Terbit : 2012
Latar Belakang Perkembangan keragaman bisnis yang ada menghasilkan suatu formula yang dapat memicu adanya pengembangan paradigm dalam computer dan juga pengembangan software yang makin luas. Fokus yang ada secara prinsip bergantung pada penyediaan solusi service yang sejalan dengan kondisi bisnis. Seiring dengan hal itulah dikembangkan suatu framework yang digunakan untuk spesifikasi model yang diberikan dalam Arsitektur Software didefinisikan menggunakan konsep yang berorientasi servis. Yang dianggap dapat menjadi pondasi dari solusi software
Rumusan Masalah Munculnya masalah bagaimana menyelaraskan spesifikasi yang berpusat pada model / modeldriven spesification (MDS) itu dengan arsitektur software. Dimana arsitektur tersebut lebih berorientasi pada service di dalamnya. Arsitektural software sebelumnya yang tidak memiliki pembagian kerja menjadi hambatan dikarenakan tidak adanya fungsifungsi spesifik antara tiap-tiap bagian. Rules inilah yang membuat adanya progress yang tercipta dari konseptual model arsitektur menuju teknologi yang lebih bebas.
Metodologi Framework baru digambarkan menjadi framework bernama ArchiMeDes yang terdiri dari solusi integrasi yang mengikuti pendengan MDA untuk spesifikasinya. Pemisahan level dari MDA,dan beberapa Domain Specific Languange (DSL) nantinya akan mewakili arsitektur software tersebut. Framework ArchiMeDes tersebut akan divalidasi dan diuji kemampuannya sehingga dapat memenuhi spesifikasi arsitektural managemen digital image dari sistem medis
Kesimpulan Tujuan yang diinginkan yaitu memperkenalkan framework ArchiMeDes yang menerapkan perincian dari arsitektur software tanpa membedabedakan fitur yang terdapat di dalamnya. Diharapkan adanya kontribusi menuju berkembangnya ilmu baru dalam pengembangan sistem arsitektur yang ada. Ke depannya diharapkan adanya pengembangan dengan memasukan kebutuhan nonfungsional di dalamnya sehingga dapat mensupport model arsitektur ini
31
Tabel 2.6 Jurnal “The Converged Service Oriented Architecture in Smart Home Service”
Detail Judul : The Converged Service Oriented Architecture in Smart Home Service Penulis : Sining Ma,Xi Chen,Guicai Song,Juan Wang,Limin Sun,Jia Y Tahun Terbit : 2012
Latar Belakang Dalam beberapa tahun terakhir smart-home menjadi topik yang sering dibahas di dalam riset,dimana terjadi kebutuhan untuk menerapkan IT dengan peralatan rumah tangga. Smart home ini sendiri dinggap sebagai sistem terintegrasi yang mengatur beberapa set peralatan rumah tangga dengan intelligence tinggi dan menekankan user context
Rumusan Masalah Penerapan teknologi Smart home menghasilkan terciptanya environment IT yang tersusun secara arsitektural. Penerapan design smart home ini yang memanage banyak penggunaan aplikasi ini terbukti mengkonsumsi listrik yang tidak sedikit. Serta memakan memory dalam development. Terdapat servis didalamnya memungkinkan untuk berinteraksi dengan kontrol power sehingga diusulkan arsitektur yang terkonvergensi dengan SOA (CSOA) untuk mensupply service servis yang teratur di smart home
Metodologi Arsitektur CSOA ini tidak hanya mensuport integrasi servis yang terdiri dari banyak jenis dan mengatur konsumsi power secara cerdas tetapi juga mensuport penggabungan komunikasi servis yang ada. Pengaturan power dan listrik ini dimungkinkan dengan bantuan smart grid sebagai masa depan sistem listrik yang ada, dan akan dimantain efisiensi energi yang ada tanpa memaksa peralatan listrik untuk bekerja sembarangan.
Kesimpulan Arsitektural ini masih dievaluasi dan hasilnya yang ada sekarang menunjukan bahwa konvergensi atau bisa disebut integrasi dari banyak servis yang ada sehingga diarahkan ke satu titik ini dapat membuat aplikasi lebih nyaman serta hemat energy. Dimana di pusat arsitektur ini terminal interaktif yang cerdas mengintegrasikan kekuatan konsumsi listri dan layanan interaksi dua arah untuk mencapai layanan konvergensi
32
Tabel 2.7 Jurnal “An Implementation Of Embedded Real Time System Framework In Service Oriented Architecture”
Detail Judul : An Implementation Of Embedded Real Time System Framework In Service Oriented Architecture Penulis : Mahmood Aghajani, Dayang N. A. Jawawi Tahun Terbit : 2012
Latar Belakang Perkembangan sistem ERT / Embedded Real Time dikarenakan peranan sistem tersebut dalam kehidupan manusia terutama dalam hal environment dan properti sekarang ini menjadi Fokus para peneliti. Sistem semakin berkembang menjadi kritikal dan meningkatkan ketergantungan terhadap sistem itu. Sistem yang menggunakan ERT di dalamnya juga semakin banyak dipakai di seluruh pelosok dunia,hal inilah yang mengakibatkan perlu adanya perkembangan lebih lanjut agar sistem dapat bekerja optimal.
Rumusan Masalah Kompleksitas dari embedded software yang semakin meningkat membuat permintaan akan design yang efisien menjadi meningkat. Akan tetapi software tersebut yang menggunakan pengembangan Embedded Real Time (ERT) sistem didalamnya memiliki kelemahan yaitu lambat dan kompleks. Diharapkan penerapan Distributed ERT system yang menggunakan SOA dapat mengurangi kompleksitas komponen dan meningkatakan reliability dan reusability yang ada. SOA juga dapat membantu dalam mengembangkan distributed computing yang independen yang dapat diimplementasi di komponen yang berbeda..
Metodologi Beberapa platform diperkenalkan agar dapat diemplementasikan menggunakan konsep SOA. Dua platform yang dianggap unggul ini yaitu Service Component Architecture (SCA) dan OSGI (Open Service Gateway Initiative) ditelaah sisi positif dan negatif agar dapat terintegrasi dengan SOA. OSCA menyediakan komposisi komponen dan konfigurasi yang terdistribusi dan OSGI hanya memfokuskan pada beban dari komponen servis yang ada. Integrasi keduanya diharapkan dapat menjadi solusi akan sistem ERT terdistribusi
Kesimpulan Kedua platfom tersebut dapat digabung menjadi advance framework yang terdistribusi bernama COP framework. Dimana di dalam framework ini terdiri dari tiga entity yaitu komponen, port dan konektor. Komponen di dalam framework ini bersifat reusable sehingga dapat dipakai dalam desain komponen baru. Perkembangan selanjutnya diharapkan terdapat teknik lain yang mengevaluasi service yang disediakan dari pembatas ERT yang tercipta dari COP. Sehingga dapat terbentuknya framework yang lebih baik
33
Tabel 2.8 Jurnal “Reducing Data Transfer in Service-Oriented Architectures: The Circulate Approach”
Detail Judul : Reducing Data Transfer in ServiceOriented Architectures: The Circulate Approach Penulis : Adam Barker, Jon B. Weissman, Senior Member, IEEE, and Jano I. van Hemert Tahun Terbit : 2012
Latar Belakang Banyaknya masalah muncul dalam bidang science dan engineering sering kali membutuhkan integrasi dari data dalam skala besar serta perhitungannya. Pendistribusian data tersebut agar terintegrasi dalam aplikasi atau data membutuhkan arsitektur. SOA dianggap dapat mengatasi masalah tersebut dikarenakan mempunyai paradigma untuk bangunan dengan aplikasi software dari beberapa bagian distribusi servis yang disatukan. Akan tetapi standarisasi ini tidak dapat mengatasi servis yang semakin besar dan kompleks.
Rumusan Masalah Bertambahnya jumlah servis dan besar data yang terlibat, teknik dalam pengaturan agar servis tersenstralisasi makin mencapai limit dari skalabilitas sistem. Ketika hanya mengandalkan web-servis saja tanpa transfer data dari pihak ketiga,teknik pengaturan data yang standar perlu untuk memindahkan seluruh data melalui mesin yang tersentralisasi. Hal ini mengakibatkan munculnya transfer data yang tidak dibutuhkan dan mesin tidak berjalan maksimal karena adanya bottleneck
Metodologi Pengembangan dari segi sirkulasi yang menciptakan alternatif dari SOA yang ada sehingga dapat memfasilitasi pengaturan model yang dikontrol di pusat yang akan dikombinasi dengan model koreografi transportasi data yang dioptimalkan secara terdistribusi. Lalu dilakukan analisis performa melalui framework PlanetLab yang dihubungkan dengan implementasi yang menggunakan web servis dengan range konfigurasi skala internet didalama lingkungan arus data yang dipakai. Sehingga tercipta arsitektur yang tersikulasi yang berada di tingkatan orkestra (sentralisasi) dan koreografi (desentralisasi)
Kesimpulan Disimpulkan bahwa arsitektur yang dibentuk dapat mengoptimalisasi model dari tranportasi data yang mempercepat waktu eksekusi dari arus data, dan secara konsisten dapat mengalahkan performa dari pengaturan standar dari skala data dan size yang biasa muncul. Arsitektur sirkulasi ini dapat mengurangi data transfer diantara servis yang dapat meningkatkan kecepatan waktu eksekusi arus data dan mengurangi bottle neck yang diciptakan
34
2.9
Jurnal Review Berdasarkan point studi literatur di atas,akan coba dicari beberapa titik temu yang akan dijadikan referensi studi dalam pengembangan SOA yang akan dilakukan dalam penelitian ini. Dimana selanjutnya akan dijadikan acuan tentang ilmu dalam mengembangkan dan mengimplementasikan Arsitektural SOA dalam PT XYZ sehingga terbentuk model yang dapat diterima oleh perusahaan. Perencanaan SOA yang akan dikembangkan oleh PT XYZ menawarkan pendekatan arsitektural dalam lingkungan komputasi terencana dan teratur yang dibangun pada service (layanan) yang secara bebas berangkaian, dapat digunakan kembali, dan berbasis standar serta dapat berubah sesuai dengan bergesernya kebutuhan bisnis dalam hal perancangan perangkat lunak. Konsep perencanaan SOA tersebut didukung dalam Jurnal “Architectures for enterprise integration and interoperability: Past, present and future (2008)” dimana arsitektur perusahaan harus mewakili enterprise bisnis perusahaan yang semakin berkembang dari tahun ke tahun sehingga arsitektur dapat menunjang bisnis serta menjadi pelindung bidang IT agar dapat berjalan sejajar dengan bisnis yang ada. Seiring perkembangan waktu tersebut, Enterprise Architecture pada dasarnya dapat dibedakan menjadi 2 tipe yaitu Sistem arsitektur yang berkaitan dengan desain sistem & Enterprise reference project yang berkaitan dengan implementasi project yang dijadikan pegangan perusahaan. Dengan tipe arsitektur dengan tipe pertama lebih cocok dengan PT XYZ,dengan pertimbangan arsitektur dari sistem / product sebagai
35
hasil dari proses desain, dimana tingkat abstraksi dari spesifikasi sistem lebih tinggi dari desain sebelumnya. Sehingga spesifikasi ini menjadi patokan dari desain sesudahnya dan implementasi yang dilakukan, sedang tipe kedua, dimana arsitektur ini menjabarkan konsep, prinsip serta tugas dari model dan teknik perusahaan. Di dalamnya tidak menjabarkan dengan detail operational seperti proses data,dan sebagainya melainkan konsep dan model konstruksinya saja. Hal inilah yang membuat sistem perusahaan yang dituju menjadi konsisten dan mudah diintegrasikan. Proses integrasi inilah yang menjadi landasan teori selanjutnya dalam pengembangan SOA dalam penelitian ini. Dengan menitik beratkan dalam proses kedua sehingga sistem mudah diintegrasikan, dimana yang menjadi acuan disini yaitu disaat aplikasi yang masih berdiri sendiri-sendiri,serta tersebar di banyak tempat. Tetapi harus bisa menghadirkan layanan yang cepat dan mudah diupdate jika ada perubahan. Ditambah sistem banyak sehingga bahasa pemrograman serta environment yang digunakan berbedabeda serta tempat yang berjauhan sehingga update tidak bisa dilakukan dengan mudah. Hal ini menjadi acuan dimana pengembangan Arsitektur SOA diharapkan dapat mnejadi breakthorugh solution agar penggunaan IT semakin fleksibel. Service Oriented Architecture yang akan disusun dalam penelitian ini dapat disusun dalam level sebagai project untuk membantu enterprise,dengan kata lain dalam level sebagai project untuk membantu teknologi ataupun diantara keduanya. Seperti yang diajukan dalam jurnal "Customer oriented
36
enterprise IT architecture framework (2012)" dimana arsitektur disini berfungsi sebagai tool yang membantu para stakeholder menangani sistem dan perubahan di dalamnya dengan menggunakan simbol yang umum sehingga bisa dimengerti oleh semua orang yang memegang peranan dalam industri ini. Stakeholder yang dibahas disini tentu tidak hanya berkaitan dengan pelaku IT saja,tetapi juga harus dapat mencakup perusahaan secara keseluruhan dari atas sampai bawah. Sehingga melalui Enterprise Architecture
ini,
arsitektur
yang
dikembangkan
tersebut
dapat
mengintegrasikan tiap-tiap komponen didalamnya secara dinamis sesuai merubah business environment yang ada. Kedepannya enterprise architecture ini diharapkan dapat menjadi deskripsi menyeluruh pada semua elemen yang membangun suatu perusahaan. Pengembangan yang dikembangkan dalam penelitian ini menghasilkan SOA yang dapat menjadi model Software-AsService yang memberikan akses sebagai aplikasi end-to-end. Sehingga menjadikan arsitektur yang mudah dikembangkan serta kokoh dalam integrasi berbagai jenis aplikasi. Contoh penggunaan arsitektur yang tepat terbukti dapat membantu pengembangan sistem dapat dilihat dari jurnal berjudul “A software architecture and framework for Web-based distributed Decision Support Systems (2007)”, dimana di dalam jurnal itu digambarkan juga bagaimana Enterprise Architecture yang baik juga dapat membantu menyusun sistem yang baik dan menolong perusahaan dalam membentuk business prosesnya, yang dalam jurnal ini digambarkan dengan pembentukan Web-based untuk
37
DSS. Hal inilah yang membuat sistem yang akan dikembangkan agar mampu secara tepat fungsi mengungkapkan karakteristik dari sistem yang dibuat. Implementasi SOA ini juga digunakan untuk memecahkan banyak masalah yang berkaitan dengan besarnya data yang terhubung dan tersimpan di dalam suatu perusahaan Berpatokan dari jurnal “Reducing Data Transfer in Service-Oriented Architectures: The Circulate Approach (2012)” dimana banyaknya data yang berulang ini membuat sistem menjadi tidak efisien seiring bertambahnya jumlah servis dan besar data yang terlibat dalam arus data yang ada, teknik dalam pengaturan agar servis tersenstralisasi makin mencapai limit dari skalabilitas sistem. Perlu adanya policy dan aturan lebih lanjut dikarenakan tidak bisa hanya mengandalkan satu platform misal berpatokan pada web-servis tanpa adanya pihak ketiga yang mengatur arus data. Policy atau pengaturan yang akan diteliti lebih lanjut sampai akhirnya dapat diimplementasikan akan difokuskan pada proses sirkulasi data dimana terciptanya alternatif lain dari SOA yang dapat memfasilitasi model yang dikontrol dari pusat. Proses akan menjadi terdistribusi lebih cepat dengan adanya model yang yang tepat. Untuk selanjutnya, SOA yang dikembangkan oleh PT XYZ akan digunakan untuk mengoptimalkan arus data yang berorientasi kepada service. Dimana service yang dimaksud tidak hanyak dilengkapi untuk menangani transfer data untuk pihak ketiga, tetapi juga dapat dimiliki dan dikelola oleh organisasi yang berbeda. Serta tidak dapat diubah dengan cara apapun seperti yang berlaku sebelumnya. Selain itu juga hal ini diperlukan untuk melengkapi kebutuhan penting untuk mendiskusikan alat yang dapat mendukung transfer
38
dengan pihak ketiga yang dapat bekerja di antara titik-titik tertentu di dalam arus data yang dikelola berdasarkan tugas tertentu. Penelitian ini akan menghasilkan suatu pola yang menjadi acuan lebih lanjut serta menjadi landasan bagaimana SOA yang akan diterapkan. Berdasarkan jurnal "ArchiMeDeS: A model-driven framework for the specification of serviceoriented architectures (2012)" ini dirasakan perlunya suatu perancangan framework yang berlandaskan model dengan mempersempit ruang lingkup service yang akan dihandle. Penelurusan seperti ini yang perlu diperjelas dalam penelitian ini, sehingga tidak terjadi kesalahan lebih lanjut terutama dalam model bisnis yang serupa. Secara general, konsep desain model dari arsitektur sistem yang digunakan dalam program pengembangan SOA dalam penelitian ini memiliki lima struktur lapisan,antara lain: •
Presentation
layer,
yang
mengelola
interaksi
sistem
dengan
sistem,ataupun sistem dengan manusia. •
Web service layer, yang menangani bermacam-macam request dari user dan meneruskan ke business component layer
•
Business component layer, yang memelihara variasi komponen yang ada di dalam sistem
•
XML processing layer, yang bertanggung jawab adalam menyimpan data yang beraneka ragam
39
•
Data access layer, yang merupakan tujuan akhir dimana data berupa objek bisnis akan disimpan Berdasarkan kondisi di atas, menghasilkan satu kajian berupa SOA
sebagai
software
desain
dan
desain
arsitektur
untuk
menunjang
pengembangan perangkat lunak berdasarkan potongan-potongan yang terpisah dari perangkat lunak tersebut yang menyediakan fungsionalitas aplikasi sebagai service (layanan) ke dalam aplikasi lain. Pembagian layer tersebut mempermudah PT XYZ dalam membuat satu arsitektur berorientasikan service yang independen dari produk dan teknologi lain. Arsitektur tersebut membentuk satu set service yang besar sehingga dapat dikombinasikan dengan perangkat lunak lain yang menyediakan fungsionalitas lengkap dari sebuah aplikasi perangkat lunak yang besar.