bab ii dasar teori - · pdf filehasil perbaikan mempengaruhi ... gambar ii.2 memberikan...

24
II-1 BAB II DASAR TEORI Bab ini akan membahas mengenai teori-teori yang menjadi landasan atau dasar pengembangan konsep SOA, keuntungan SOA, prinsip-prinsip SOA, desain dan pengembangan SOA, bagaimana SOA dapat diimplementasikan. Selanjutnya adalah tentang Peranan sistem informasi terhadap perguruan tinggi dan menjelaskan tentang pengintegrasian sistem informasi di perguruan tinggi dengan menerapkan SOA. II.1 Paradigma SOA Era modern saat ini, fungsi-fungsi operasi bisnis pada perguruan tinggi diterapkan secara otomatis, dan tantangan yang muncul adalah bagaimana meningkatkan kemampuan dari sistem atau aplikasi yang digunakan dapat selaras dengan kebutuhan-kebutuhan baru. Penambahan antarmuka baru, menggabungkan data dari sumber yang berbeda dalam satu tampilan, integrasi dengan mobile device adalah alasan umum dalam melakukan investasi dan perbaikan terhadap sistem pada suatu organisasi atau perguruan tinggi. Kompleksitas adalah fakta terhadap perkembangan teknologi informasi. Tantangan utama saat ini adalah berkaitan dengan kompleksitas ketika membangun aplikasi yang baru, menggantikan aplikasi yang lama, dan melakukan perawatan serta peningkatan kinerja aplikasi dan sistem. Untuk menjawab tantangan tersebut sebuah paradigma pengembangan berorientasi layanan (service-oriented development) ditawarkan untuk menjadi menjadi solusi terhadap kompleksitas yang dihadapi [7]. Layanan atau service berbeda dengan sebuah object atau procedure. Layanan didefinisikan dengan messages dimana suatu layanan dapat melakukan pertukaran messages dengan layanan yang lain. Sebuah layanan bersifat independent yang tidak bergantung terhadap aplikasi yang menyimpannya. Hal ini memberikan kemampuan untuk sebuah layanan dapat dengan mudah digunakan secara

Upload: doquynh

Post on 05-Mar-2018

222 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: BAB II DASAR TEORI - · PDF fileHasil perbaikan mempengaruhi ... Gambar II.2 memberikan gambaran tentang proses yang dilakukan dan elemen-elemen yang ... organisasi atau perusahaan

II-1

BAB II DASAR TEORI

Bab ini akan membahas mengenai teori-teori yang menjadi landasan atau dasar

pengembangan konsep SOA, keuntungan SOA, prinsip-prinsip SOA, desain dan

pengembangan SOA, bagaimana SOA dapat diimplementasikan. Selanjutnya

adalah tentang Peranan sistem informasi terhadap perguruan tinggi dan

menjelaskan tentang pengintegrasian sistem informasi di perguruan tinggi dengan

menerapkan SOA.

II.1 Paradigma SOA

Era modern saat ini, fungsi-fungsi operasi bisnis pada perguruan tinggi

diterapkan secara otomatis, dan tantangan yang muncul adalah bagaimana

meningkatkan kemampuan dari sistem atau aplikasi yang digunakan dapat selaras

dengan kebutuhan-kebutuhan baru. Penambahan antarmuka baru, menggabungkan

data dari sumber yang berbeda dalam satu tampilan, integrasi dengan mobile

device adalah alasan umum dalam melakukan investasi dan perbaikan terhadap

sistem pada suatu organisasi atau perguruan tinggi.

Kompleksitas adalah fakta terhadap perkembangan teknologi informasi.

Tantangan utama saat ini adalah berkaitan dengan kompleksitas ketika

membangun aplikasi yang baru, menggantikan aplikasi yang lama, dan melakukan

perawatan serta peningkatan kinerja aplikasi dan sistem. Untuk menjawab

tantangan tersebut sebuah paradigma pengembangan berorientasi layanan

(service-oriented development) ditawarkan untuk menjadi menjadi solusi terhadap

kompleksitas yang dihadapi [7].

Layanan atau service berbeda dengan sebuah object atau procedure. Layanan

didefinisikan dengan messages dimana suatu layanan dapat melakukan pertukaran

messages dengan layanan yang lain. Sebuah layanan bersifat independent yang

tidak bergantung terhadap aplikasi yang menyimpannya. Hal ini memberikan

kemampuan untuk sebuah layanan dapat dengan mudah digunakan secara

Page 2: BAB II DASAR TEORI - · PDF fileHasil perbaikan mempengaruhi ... Gambar II.2 memberikan gambaran tentang proses yang dilakukan dan elemen-elemen yang ... organisasi atau perusahaan

II-2

bersama-sama antar departemen, enterprise, atau melalui internet. SOA

memberikan cara bagaimana layanan-layanan dalam suatu sistem dapat diterapkan

dan diatur.

Pengembangan sistem berbasis layanan dan SOA adalah merupakan karakter yang

dimiliki oleh teknologi Web services. SOA dan web services adalah merupakan

jawaban terhadap pengintegrasian sistem dan aplikasi yang kompleks. SOA

memberikan peta dan menggunakan model untuk menyatukan atau

mengembangkan legacy system dan sistem yang baru selanjutnya web services

menyediakan unifying glue dimana web services akan menyatukan dengan

protokol umum standard ( SOAP, XML) serta deskripsi bahasa yang dapat

dimengerti oleh mesin yang lain (WSDL).

Sayed Hashimi [WEB002] menjelaskan latar belakang penggunaan SOA ditinjau

dari sisi developers perangkat lunak. SOA menjadi sangat populer melalui

perkembangan Web services. SOA muncul untuk menawarkan solusi terhadap

masalah yang dihadapi para developers perangkat lunak.

Proses menulis perangkat lunak yang sangat kompleks, dimana kode program

yang sama harus ditulis kembali secara berulang-ulang, memicu munculnya

kebutuhan terhadap cara yang lebih baik dalam menulis perangkat lunak dengan

menggunakan kembali kode program yang sama. Solusi penulisan perangkat

lunak yang kompleks adalah konsep modular design. Modular design

memungkinkan programmer menulis sub-routines dan functions yang dapat

digunakan kembali. Programmer dapat melakukan proses cutting dan pasting

sebuah modul ke dalam aplikasi lain. Dampak negatif dari metode ini adalah

kesulitan dalam perawatan perangkat lunak dan deployment perangkat lunak.

Ketika sebuah bug ditemukan maintainer harus melakukan penelusuran terhadap

semua aplikasi yang menggunakan fungsi tersebut dan melakukan perbaikan.

Hasil perbaikan mempengaruhi proses deployment perangkat lunak, perangkat

lunak tidak berjalan sesuai dengan yang diharapkan. Para developer tidak

menyukai hal tersebut, mereka membutuhkan higher level of abstraction. Peneliti

menawarkan classes dan OO perangkat lunak untuk mengatasi masalah tadi.

Page 3: BAB II DASAR TEORI - · PDF fileHasil perbaikan mempengaruhi ... Gambar II.2 memberikan gambaran tentang proses yang dilakukan dan elemen-elemen yang ... organisasi atau perusahaan

II-3

Ketika kompleksitas perangkat lunak dan perangkat keras berkembang para

developer mulai menyadari akan kompleksitas perangkat lunak, keperluan reuse

code, dan memerlukan fungsi-fungsi untuk melakukan perawatan perangkat

lunak.

Component-based software memberikan solusi untuk menangani kompleksitas

perangkat lunak, penggunaan kembali kode program, dan melakukan perawatan

perangkat lunak. Keterbatasan component-based software adalah tidak

menangani kompleksitas yang dihadapi oleh para developer saat ini. Saat ini

terdapat berbagai isu kompleks yang dihadapi oleh pada developers, organisasi,

users, dan stakeholders seperti distributed software, application integration,

platform yang berbeda (OS, perangkat lunak, perangkat keras), protokol yang

beragam, perkembangan ICT, dan sebagainya. Perangkat lunak saat ini harus

dilengkapi dengan fitur-fitur yang dapat mengakomodasi isu-isu tersebut. SOA

dengan web services memberikan solusi untuk semua isu yang telah disebutkan

diatas. Dengan mengadopsi SOA, kerumitan protokol dan platform dapat

dikurangi dan integrasi antar aplikasi dapat dilakukan.

II.2 Definisi Service Oriented Architecture

Berikut adalah definisi-definisi tentang SOA.

Menurut Thomas Erl [3] :

―SOA adalah sebuah model desain dengan memiliki konsep yang dalam

tentang meng-enkapsulasi logik aplikasi di dalam layanan-layanan yang

berinteraksi melalui protokol yang umum.‖

Organization for the Advancement of Structured Information Standards (OASIS)

mendefinisikan SOA sebagai berikut :

―Sebuah paradigma untuk melakukan pengaturan dan penggunaan layanan-

layanan yang didistribusikan yang di kontrol oleh domain yang berbeda.

SOA menyediakan sebuah keseragaman dalam memberikan, menemukan,

berinteraksi dan menggunakan layanan-layanan yang dimiliki untuk

Page 4: BAB II DASAR TEORI - · PDF fileHasil perbaikan mempengaruhi ... Gambar II.2 memberikan gambaran tentang proses yang dilakukan dan elemen-elemen yang ... organisasi atau perusahaan

II-4

menghasilkan efek yang diinginkan, konsisten dengan kondisi awal yang

diukur dan harapan-harapan yang telah ditetapkan.‖

Menurut website www.service-architecture.com :

―SOA secara esensial adalah sebuah kumpulan dari layanan-layanan.

Layanan-layanan tersebut berkomunikasi satu dengan yang lain.

Komunikasi dapat melibatkan data yang sederhana atau dua atau lebih

layanan yang berkoordinasi dengan beberapa aktivitas. Beberapa layanan

dapat membutuhkan layanan yang lain untuk melakukan suatu aktifitas.‖

Menurut website XML.com :

―SOA adalah sebuah gaya arsitektural yang memiliki tujuan untuk mencapai

tingkat ketergantungan yang rendah diantara interaksi perangkat lunak.

Sebuah layanan adalah sebuah unit yang dilakukan oleh sebuah penyedia

layanan untuk mendapatkan hasil yang diharapkan oleh pengguna layanan.

Masing-masing penyedia dan pengguna layanan memiliki peran untuk

dilaksanakan oleh perangkat lunak sesuai dengan kepemilikannya.‖

Secara umum SOA dapat dituliskan kembali sebagai berikut :

―SOA adalah sebuah arsitektur aplikasi dimana semua fungsi, layanan-

layanan didefinisikan menggunakan sebuah bahasa yang terdeskripsi dan

dapat mengakses antarmuka yang dipanggil untuk melakukan proses-proses

bisnis. Setiap interaksi adalah independent terhadap yang lain. Karena

antarmuka bersifat independent terhadap platform, setiap klien dari

sembarang device dapat menggunakan service yang disediakan. SOA

menghubungkan sistem operasi yang beragam dan mampu melakukan

otomatisasi terhadap proses bisnis suatu organisasi secara internal atau

enterprise.‖

Gambar II.1 memberikan struktur hirarki dari SOA. SOA adalah sebuah

arsitektur perangkat lunak yang didasarkan pada konsep-konsep kunci dari sebuah

aplikasi front-end, service, service repository, dan service bus. Sebuah service

terdiri dari sebuah kontrak, satu atau lebih antar muka, dan sebuah implementasi.

Page 5: BAB II DASAR TEORI - · PDF fileHasil perbaikan mempengaruhi ... Gambar II.2 memberikan gambaran tentang proses yang dilakukan dan elemen-elemen yang ... organisasi atau perusahaan

II-5

Gambar II.1. Struktur Hirarki SOA [WEB004]

II.3 Prinsip-prinsip SOA

Prinsip-prinsip berikut ini mendefinisikan aturan-aturan dasar dalam

pengembangan, perawatan dan penggunaan dari SOA [7] :

a. Konsep utama dari SOA adalah layanan.

b. Setiap layanan didefinisikan dengan sebuah kontrak yang formal.

c. Layanan-layanan hanya berinteraksi dengan layanan yang lain melalui

antarmuka kontrak yang telah didefinisikan terlebih dahulu.

d. Layanan-layanan harus dapat diakses melalui standard teknologi yang

tersedia pada lingkungan secara umum. Mekanisme-mekanisme yang

digunakan harus dapat diterima oleh standard-standard industri.

e. Layanan-layanan harus dapat didefinisikan kedalam level abstraksi yang

tinggi yang berhubungan aktifitas-aktifitas pada dunia nyata dan fungsi-

fungsi bisnis yang dapat dikenal sehingga kebutuhan-kebutuhan bisnis dan

kemampuan-kemampuan teknikal dapat di selaraskan dengan tepat.

SOA

Appliation Front End

Service

Contract Implementation

Business Logic Data

Interface

Service Repository

Service Bus

Page 6: BAB II DASAR TEORI - · PDF fileHasil perbaikan mempengaruhi ... Gambar II.2 memberikan gambaran tentang proses yang dilakukan dan elemen-elemen yang ... organisasi atau perusahaan

II-6

f. Layanan-layanan yang tersedia harus memiliki arti yang penuh atau mudah

dipahami.

g. Layanan-layanan harus loosely coupled.

h. Kumpulan layanan harus memiliki tipe dokumen yang sama, yaitu dokumen

XML. Hal ini untuk menfasilitasi pertukaran informasi diantara layanan-

layanan dan struktur dan semantik dari dokumen harus disepakati dan dapat

dimengerti dengan baik.

i. Layanan-layanan harus memberikan tugas-tugas yang spesifik dan

menyediakan antarmuka yang sederhana untuk mengakses atau menggunakan

fungsionalitas yang disediakan.

j. Layanan-layanan harus menyediakan informasi yang menjelaskan

kemampuan dan keterbatasan dari layanan yang disediakan. Informasi

tersebut harus tersedia pada repository.

II.4 Komponen-komponen SOA

Komponen-komponen yang menyusun SOA merupakan kunci dari arsitektur

berbasis layanan dibangun. Komponen komponen yang terlibat didalam arsitektur

berbasis layanan adalah :

II.4.1 Service

Sebuah layanan adalah sebuah lokasi yang terletak pada jaringan yang memiliki

mesin yang dapat membaca deskripsi dari messages yang diterima dan

memberikan respon balik [7]. Layanan juga dapat didefinisikan sebagai interface

untuk menerima request dari pengguna layanan dan kemudian memberikan

respon terhadap request tersebut.

Sebuah layanan dalam SOA adalah sebuah bagian fungsi yang memiliki tiga

karakteristik:

a. Contract Interface. Kontrak antarmuka layanan adalah bersifat platform

independent.

Page 7: BAB II DASAR TEORI - · PDF fileHasil perbaikan mempengaruhi ... Gambar II.2 memberikan gambaran tentang proses yang dilakukan dan elemen-elemen yang ... organisasi atau perusahaan

II-7

b. Dinamically found and assessment. Layanan secara dinamis dapat ditemukan

dan digunakan.

c. Self Contained. Setiap layanan dibangun secara independen. Layanan

memiliki business logic dan definisi yang tidak bergantung terhadap layanan

yang lain.

II.4.2 Message

Penyedia layanan dan pemakai layanan berkomunikasi melalui pesan. Layanan-

layanan menggunakan kontrak antarmuka, yang mendefinisikan sifat layanan dan

pesan yang diterima dan dikembalikan. Untuk mendukung kontrak antarmuka

yang bersifat independen, teknologi yang digunakan harus mampu

mendefinisikan pesan yang dikirim oleh platform atau bahasa yang lain. Oleh

karena itu, pesan secara tipikal dibangun menggunakan dokumen-dokumen XML.

XML menyediakan semua fungsionalitas, granularitas, dan skalabilitas yang

dibutuhkan oleh pesan, sehingga memungkinkan pengguna dan penyedia layanan

untuk berkomunikasi dengan efektif; pengguna dan penyedia layanan

membutuhkan sistem yang tidak dibatasi untuk mendefinisikan pesan.

II.4.3 Dynamic Discovery

Dynamic discovery adalah sebuah bagian penting dari SOA. Pada level tinggi,

SOA dibentuk oleh tiga bagian penting, yaitu penyedia layanan, pengguna

layanan, dan direktori layanan. Peran dari penyedia layanan dan pengguna

layanan sudah jelas, tetapi peran dari direktori layanan memerlukan penjelasan

lebih lanjut. Direktori layanan adalah sebuah penghubung antara penyedia

layanan dan pengguna layanan. Penyedia layanan mendaftarkan layanan pada

direktori layanan dan pengguna layanan meminta atau mencari layanan dari

direktori layanan. Sebagian besar direktori layanan secara umum diatur

berdasarkan kriteria dan kategori. Pengguna layanan dapat menggunakan

kemampuan untuk mencari layanan untuk menemukan penyedia layanan.

Direktori layanan pada SOA untuk mewujudkan hal-hal dibawah ini:

1. Skalabilitas dari layanan. Layanan dapat ditambah secara bertahap.

2. Decouples pengguna layanan dari penyedia layanan.

Page 8: BAB II DASAR TEORI - · PDF fileHasil perbaikan mempengaruhi ... Gambar II.2 memberikan gambaran tentang proses yang dilakukan dan elemen-elemen yang ... organisasi atau perusahaan

II-8

3. Mengijinkan untuk ―hot updates‖ terhadap layanan.

4. Menyediakan pencarian layanan bagi pengguna.

5. Mengijinkan pengguna layanan untuk memilih layanan diantara para

penyedia layanan daripada melakukan hard coding pada sebuah penyedia

layanan.

II.4.4 Web Services

Web services [WEB004] adalah sebuah sistem perangkat lunak yang didesain

untuk mendukung interaksi yang interoperable antar mesin melalui sebuah

jaringan.

Walaupun konsep-konsep yang membentuk SOA telah ada sebelum web services

muncul, web services memiliki peran penting didalam SOA. Hal ini dikarenakan

web services dibangun diatas protokol-protokol yang sudah terkenal dan memiliki

platform yang independent, seperti HTTP, XML, UDDI, dan WSDL. SOA

menggunakan protokol-protokol tersebut sebagai komponen kunci karena

protokol-protokol menyediakan layanan yang dapat ditemukan dan digunakan

secara dinamis. SOA menyediakan layanan yang memiliki kontrak antarmuka

yang platform independent, yang disediakan oleh XML. SOA menekankan pada

interoperability, hal ini disediakan oleh HTTP. Alasan-alasan tersebut

menjadikan web services sebagai jantung dari SOA.

Gambar II.2 memberikan gambaran tentang proses yang dilakukan dan elemen-

elemen yang terlibat dalam web services:

Page 9: BAB II DASAR TEORI - · PDF fileHasil perbaikan mempengaruhi ... Gambar II.2 memberikan gambaran tentang proses yang dilakukan dan elemen-elemen yang ... organisasi atau perusahaan

II-9

Gambar II.2. Proses Web services

Berikut penjelasan tentang proses yang terjadi pada web service :

a. Proses pencarian layanan (find). Proses ini dilakukan oleh service consumer

terhadap server yang memiliki daftar layanan yang dapat digunakan serta cara

untuk menggunakannya.

b. Proses menggunakan layanan (bind and invoke). Proses ini dilakukan apabila

aggreement antara service consumer dan service provider telah didaftarkan

pada registry server.

c. Proses register. Proses ini dilakukan oleh service provider untuk

mendaftarkan service yang dapat digunakan oleh service consumer pada

registry server.

d. Service contract. Bagian ini adalah antarmuka service yang mendefinisikan

komponen-komponen yang terdapat pada sebuah service. Service contract di

representasikan dalam bentuk WSDL. WSDL adalah sebuah deskripsi bahasa

yang dapat dimengerti oleh manusia dan mesin komputer. WSDL ditulis

dengan menggunakan sintaks XML dan digunakan sebagai antarmuka untuk

melakukan message exchange dalam suatu layanan. Contoh komponen-

komponen yang terdapat pada service contract adalah nama layanan, nomor

versi, header.

Registry

Service ProviderService Consumer

Page 10: BAB II DASAR TEORI - · PDF fileHasil perbaikan mempengaruhi ... Gambar II.2 memberikan gambaran tentang proses yang dilakukan dan elemen-elemen yang ... organisasi atau perusahaan

II-10

II.5 Keuntungan SOA

Berdasarkan webmethods.com, SOA memiliki karakteristik yang memberikan

keuntungan-keuntungan sebagai berikut:

1. Loosely coupled

a. Meningkatkan kemampuan penyesuaian organisasi; memampukan

organisasi atau perusahaan untuk memodifikasi proses bisnis dan

menanggapi kebutuhan pasar dengan mudah.

b. Menyediakan keuntungan bersaing dengan menawarkan fleksibilitas yang

lebih tinggi. Sistem komputer dapat digunakan untuk mendukung proses

bisnis.

c. Biaya implementasi yang rendah dengan meningkatkan penggunaan

kembali komponen yang telah ada.

d. Meningkatkan adaptasi terhadap perkembangan IT. Integrasi antar

aplikasi menjadi lebih mudah.

2. Modular approach

a. Memampukan pengembangan secara bertahap, deployment, dan

perawatan: menghindari biaya yang tinggi dan resiko implementasi

perangkat lunak yang tidak tepat sasaran, ―big bang‖.

b. Menurunkan usaha pengembangan dengan mengurangi kompleksitas

melalui pendekatan divide and conquer.

c. Selalu lebih cepat dalam menghasilkan sebuah fungsi aplikasi baru.

Kebanyakan adalah proses menyatukan komponen-komponen yang telah

ada dibandingkan dengan melakukan pengembangan baru.

3. Non-intrusive

a. Aset IT yang telah diinvestasikan dapat digunakan kembali.

b. Resiko dan usaha pengembangan yang lebih rendah; karena dapat

menghindari keharusan untuk menulis kembali dan melakukan pengujian

terhadap aplikasi yang telah ada.

Page 11: BAB II DASAR TEORI - · PDF fileHasil perbaikan mempengaruhi ... Gambar II.2 memberikan gambaran tentang proses yang dilakukan dan elemen-elemen yang ... organisasi atau perusahaan

II-11

4. Standard-based

a. Platform yang independent mengijinkan organisasi menggunakan

perangkat lunak dan perangkat keras sesuai dengan pilihannya.

b. Mengijinkan organisasi untuk menggunakan atau menyewa sumber daya

yang berbeda sehingga mengurangi ketergantungan terhadap satu vendor.

c. Kebutuhan untuk melakukan pelatihan lebih rendah dan meningkatkan

keahlian orang-orang yang dapat menjalankan aplikasi dengan mudah.

5. General purpose technology

Membebaskan dari skala ekonomi, teknologi yang sama dapat digunakan

untuk masalah-masalah bisnis yang lebih luas.

Dibawah ini adalah prinsip-prinsip arsitektural yang spesifik untuk mendesain dan

mendefinisikan layanan yang berfokus pada tema yang mempengaruhi sifat dari

sebuah sistem :

1. Enkapsulasi layanan (Service encapsulation). Implementasi detail dari sebuah

layanan disembunyikan dari sisi klien.

2. Kebergantungan yang rendah pada layanan lain (Service loosely coupling).

Layanan-layanan yang merawat sebuah hubungan yang meminimalisasi

kebergantungan.

3. Kontrak layanan (Service contract). Layanan-layanan yang ditambahkan

untuk sebuah perjanjian komunikasi yang didefinisikan secara kolektif oleh

satu atau lebih dokumen deskripsi layanan.

4. Abstraksi layanan (Service abstraction). Layanan yang menyimpan atau

menyembunyikan proses logik dari dunia luar.

5. Kemampuan penggunaan kembali layanan (Service reusability). Proses logik

yang dibagi kedalam layanan-layanan untuk mempromosikan penggunaan

kembali.

Page 12: BAB II DASAR TEORI - · PDF fileHasil perbaikan mempengaruhi ... Gambar II.2 memberikan gambaran tentang proses yang dilakukan dan elemen-elemen yang ... organisasi atau perusahaan

II-12

6. Kemampuan penggabungan layanan (Service composability). Kumpulan

layanan-layanan yang dapat dikoordinasi dan dibangun membentuk komposit

layanan.

7. Otonomi layanan (Service autonomy). Layanan-layanan yang memiliki

kontrol terhadap proses logik yang di-enkapsulasi.

8. Optimasi layanan (Service optimization). Tanpa memperhitungkan

pertimbangan lain atau jika parameter lain dianggap sama atau tetap, layanan

berkualitas tinggi secara umum lebih dipilih dibandingkan layanan

berkualitas rendah.

9. Kemampuan ditemukannya layanan (Service discoverability). Layanan yang

dirancang agar dapat ditemukan dengan cepat dan digunakan oleh pengguna

layanan.

II.6 Desain dan Pengembangan SOA

Terdapat dua bagian penting dalam desain dan pengembangan SOA. Pertama

adalah cara tentang bagaimana melakukan desain dan implementasi terhadap

layanan dan aplikasi yang akan dirancang. Kedua adalah cara tentang bagaimana

melakukan pengembangan terhadap layanan dan aplikasi SOA. Berikut penjelasan

masing-masing bagian :

1. Desain layanan dan aplikasi SOA.

SOA memberikan sebuah pendekatan arsitektur dengan melakukan decomposing

terhadap proses-proses bisnis dan aktifitas-aktifitas dasar (low level activities)

menjadi standards-based services. Untuk melakukan desain layanan dan aplikasi

SOA, terdapat sebuah metodologi yang disebut Shared service life Cycle

(SSLC)[WEB007] yang dapat digunakan sebagai acuan dalam melakukan

perancangan layanan. Perulangan pada SSLC dibagi dalam 2 aspek, yaitu :

a. Design-time.

b. Run-time.

Bagian Design-time melakukan 3 fase dalam perancangan layanan :

Page 13: BAB II DASAR TEORI - · PDF fileHasil perbaikan mempengaruhi ... Gambar II.2 memberikan gambaran tentang proses yang dilakukan dan elemen-elemen yang ... organisasi atau perusahaan

II-13

a. Identify Business Process

b. Service Modeling

c. Build and Compose

Bagian Run-time melakukan 3 fase dalam impementasi layanan :

a. Publish and Provision

b. Integrate and Deploy

c. Secure and Manage

d. Evaluate

Gambar II.3 menunjukkan fase-fase yang dilakukan dalam melakukan

perancangan layanan dalam aplikasi SOA.

Gambar II.3. Shared Service Life Cycle [WEB007]

2. Pengembangan layanan dan aplikasi SOA.

Pengembangan layanan dan aplikasi SOA memiliki 3 tahap umum yaitu :

a. Analysis. Dilakukan analisis proses-proses bisnis yang berlangsung pada serta

fungsi – fungsi yang mendukung masing-masing proses tersebut. Analisis

Service Modelling

Build and Compose

Publish and

Provision

Integrate and

Deploy

Secure and

Manage

Evaluate

Identify Business Process Design-Time

Run-Time

Page 14: BAB II DASAR TEORI - · PDF fileHasil perbaikan mempengaruhi ... Gambar II.2 memberikan gambaran tentang proses yang dilakukan dan elemen-elemen yang ... organisasi atau perusahaan

II-14

setiap proses bisnis yang dapat dijadikan layanan dan perlu untuk

dikembangkan.

b. Develop. Gunakan fungsionalitas yang telah ada pada sistem informasi yang

ada dalam melakukan pengembangan layanan. Pastikan setiap layanan tetap

memiliki independency dan memiliki agreement yang jelas dengan penyedia

layanan dan pengguna layanan.

c. Utilize. Menjalankan layanan yang telah dibuat, dan terus melakukan

identifikasi dan optimasi terhadap layanan jika terdapat kesempatan.

II.7 Implementasi SOA.

SOA dapat diimplementasikan dengan beberapa teknologi berikut ini:

II.7.1 Web Services.

Web services didukung oleh beberapa teknologi berikut ini :

1. SOAP (Simple Object Access Protocol) atau dikenal juga Service Oriented

Architecture Protocol, adalah sebuah protokol yang digunakan untuk

melakukan pertukaran dokumen XML melalui jaringan komputer.

2. WSDL (Web services Description Language) adalah sebuah dokumen yang

ditulis dalam XML. Dokumen ini mendeskripsikan sebuah layanan web.

WSDL menunjukkkan lokasi dari layanan dan operasi-operasi atau metode-

metode yang dapat digunakan.

3. UDDI (Universal Description, Discovery and Integration) adalah sebuah

kerangka kerja platform yang independent untuk mendeskripsikan layanan-

layanan, menemukan, dan mengintegrasikan layanan dengan menggunakan

internet. UDDI berkomunikasi melalui SOAP. UDDI adalah sebuah direktori

dari web services dimana antarmuka UDDI adalah WSDL.

II.7.2 CORBA (Common object request broker architecutere)

Sebuah standar yang dikeluarkan oleh Object Management Group (OMG) yang

memampukan komponen-komponen perangkat lunak ditulis dalam bahasa

Page 15: BAB II DASAR TEORI - · PDF fileHasil perbaikan mempengaruhi ... Gambar II.2 memberikan gambaran tentang proses yang dilakukan dan elemen-elemen yang ... organisasi atau perusahaan

II-15

pemrograman dan dijalankan diatas platform yang beragam untuk saling

berkomunikasi (interoperate).

II.7.3 EJB (Enterprise Java Bean)

EJB adalah sebuah arsitektur komponen server-side yang menyederhanakan

proses membangun class enterprise aplikasi komponen terdistribusi dalam

lingkungan java.

II.7.4 RMI (Remote Method Invocation)

RMI adalah sebuah mekanisme yang terdapat pada bahasa pemrograman java.

RMI mengijinkan objek-objek java untuk menggunakan methods pada objek lain

dengan menggunakan JVM.

II.7.5 REST (Representational State transfer)

REST adalah gaya arsitektur perangkat lunak untuk sistem hypermedia

terdistribusi seperti world wide web. REST memiliki tujuan untuk memberikan

gambaran bagaimana sebuah aplikasi web berperilaku: sebuah jaringan dari

halaman-halaman web, tujuan ketika user memilih link (state transitions), hasil

dari halaman selanjutnya (mewakili status berikutnya) yang akan ditransfer

kepada user. — Dr. Roy Fielding, Architectural Styles and the Design of

Network-based Software Architectures.

II.7.6 RPC (Remote Procedure Call)

RPC adalah sebuah mekanisme komunikasi yang memampukan sebuah proses

berkomunikasi dengan proses yang lain. Proses komunikasi ini dapat terjadi pada

komputer berbeda pada sebuah jaringan. RPC menggunakan metode IPC untuk

menciptakan proces ilusi untuk melakukan pertukaran proses yang terjadi pada

alamat yang sama. RPC memampukan untuk mengeksekusi sebuah routine pada

komputer yang berbeda melalui jaringan komputer.

II.7.7 DCOM (Distribute Component Object Model)

DCOM adalah sebuah kumpulan konsep Microsoft dan antarmuka program

dimana objek program client dapat meminta service dari objek program server

pada komputer lain dalam sebuah jaringan. DCOM menyediakan sekumpulan

Page 16: BAB II DASAR TEORI - · PDF fileHasil perbaikan mempengaruhi ... Gambar II.2 memberikan gambaran tentang proses yang dilakukan dan elemen-elemen yang ... organisasi atau perusahaan

II-16

antarmuka yang memungkinkan client dan server dapat saling berkomunikasi

pada komputer yang sama.

II.8 Dua Pendekatan Pengintegrasian dan Interoperability

Dua pendekatan yang dapat digunakan untuk pengintegrasian suatu sistem adalah:

1. Web services integration (WSI). Integrasi Web services bersifat lebih sukses

ketika hasil yang ingin dicapai dan ROI (return on investment) lebih

diprioritaskan dalam waktu yang pendek. WSI bersifat opportunistic dan

tactical. Karakteristik WSI[8] :

a. WSI Project melibatkan sistem yang kecil (dua sampai empat sistem).

b. SOAP didefinisikan untuk : diperlukan pertukaran data pada sistem,

format legacy message telah dimengerti, dan legacy APIs/methods telah

tersedia.

c. Faster time to market.

d. Lower integration cost.

2. Service Oriented Integration (SOI). Integrasi berorientasi layanan bersifat

sistematic dan strategis dalam context SOA. Karakteristik SOI [8] :

a. Kerangka kerja SOA, proses-proses, guidelines, models dan kakas yang

digunakan didefinisikan pada fase awal.

b. Pemodelan formal dari domain service digunakan. Identifikasi tipe data

kunci, kontrak service, dan proses-proses yang digunakan dalam

organisasi.

c. Taxonomy service didefinisikan dengan baik agar dapat dipromosikan

untuk digunakan lagi untuk project selanjutnya.

d. SOI menciptakan data formal dan data reusable, service, dan model

proses yang applicable dalam domain service atau antar domain service

yang lain.

e. Reduces vendor lock in (Mengurangi ketergantungan terhadap pihak

yang menyediakan produk sistem perangkat lunak) dan

Page 17: BAB II DASAR TEORI - · PDF fileHasil perbaikan mempengaruhi ... Gambar II.2 memberikan gambaran tentang proses yang dilakukan dan elemen-elemen yang ... organisasi atau perusahaan

II-17

menyederhanakan dalam melakukan migrasi aplikasi dan konsolidasi di

masa yang akan datang.

Gambar II.4. Arsitektur WSI [8]

Gambar II.5. Arsitektur SOI [8]

Page 18: BAB II DASAR TEORI - · PDF fileHasil perbaikan mempengaruhi ... Gambar II.2 memberikan gambaran tentang proses yang dilakukan dan elemen-elemen yang ... organisasi atau perusahaan

II-18

II.9 Perancangan model service

Model service direpresentasikan dengan simbol pada Gambar II.6 [7] :

Gambar II.6. Bentuk Lingkaran Untuk Merepresentasikan Service

Service Compositions adalah sebuah kumpulan layanan-layanan yang telah

dikoordinasi. Gambar II.7 adalah contoh sebuah service composition.

Gambar II.7. Service Composition

Service Inventory adalah kumpulan layanan-layanan yang independent, diatur dan

telah distandarisasi dimana layanan tersebut dapat merepresentasikan suatu

layanan pada enterprise atau sebuah segmen pada enterprise tersebut [7]. Gambar

II.8 merepresentasikan sebuah service inventory.

Gambar II.8. Service Inventory

Page 19: BAB II DASAR TEORI - · PDF fileHasil perbaikan mempengaruhi ... Gambar II.2 memberikan gambaran tentang proses yang dilakukan dan elemen-elemen yang ... organisasi atau perusahaan

II-19

Hubungan antara service inventory dan service composition direpresentasikan

dengan gambar II.9. Layanan yang tersedia dapat dirancang untuk digunakan

kembali dalam bentuk service composition.

Gambar II.9. Hubungan Service Inventory dan Service Composition

II.10 Pemodelan service-oriented classes

Bagian ini akan menjelaskan bagaimana service-oriented class dan service

interface didesain agar dapat saling berinteraksi. Terdapat 2 proses untuk

melakukan desain service-oriented class dan service interface [11]. Proses yang

pertama adalah melakukan desain komponen class untuk service oriented dan

proses yang kedua adalah melakukan desain Web services interface.

Berikut adalah langkah untuk desain service oriented class [11]:

1. Mengidentifikasi business services ke dalam component class.

Mengidentifikasi bagian-bagian business logic yang terdapat pada model

applikasi yang digunakan pada sistem kini, kemudian mencoba membuat

component class.

2. Identifikasi logic yang tidak dapat direpresentasikan oleh web services.

Mengidentifikasi fungsi-fungsi yang sulit untuk direpresentasikan dalam

web services agar tidak memberikan efek pada saat melakukan

implementasi web services.

Service Inventory

Service Composition

Supported by- Service Oriented Architecture

Page 20: BAB II DASAR TEORI - · PDF fileHasil perbaikan mempengaruhi ... Gambar II.2 memberikan gambaran tentang proses yang dilakukan dan elemen-elemen yang ... organisasi atau perusahaan

II-20

3. Menganalisa classes atau methods yang dapat di gunakan kembali. SOA

memberikan kesempatan untuk melakukan penggunaan kembali kode

routines yang terdapat pada class methods.

4. Identifikasi ketergantungan interfaces. Method yang dibangun secara

public memungkinkan untuk terjadinya internal dependencies. Hal ini

memungkinkan sebuah method harus memanggil method yang lain untuk

menyelesaikan prosesnya.

5. Menentukan tingkat interoperability. Setiap class dilakukan

pengelompokkan methods sesuai dengan kebutuhan data secara internal

atau external. Sebuah method yang biasa digunakan untuk pertukaran data

antar layanan yang saling berinteraksi dan digunakan oleh external

requestor akan memiliki level yang berbeda dibandingkan dengan methods

yang lain.

6. Membuat granular, task oriented classes. Services yang akan dibangun

dikelompokkan ke dalam kelompok-kelompok logical yang mendukung

proses bisnis sebuah layanan.

7. Mengelompokkan methods berdasarkan tipe. Setiap methods yang telah

teridentifikasi dikelompokkan ke dalam kelas yang baru.

8. Identifikasi kandidat service encapsulation. Bagian ini akan melakukan

analisis class yang akan di encapsulation ke dalam web services. Sebuah

kandidat class dari SOA belum berarti cocok untuk diimplementasikan ke

dalam web services.

9. Review non-services class. Melakukan review terhadap classes yang tidak

qualify untuk dijadikan sebagai web services.

10. Identifikasi kesempatan untuk melakukan konsolidasi proses yang saling

berhubungan. Proses ini melakukan iterasi secara keseluruhan untuk

melihat methods yang memiliki level interoperability yang sama.

Page 21: BAB II DASAR TEORI - · PDF fileHasil perbaikan mempengaruhi ... Gambar II.2 memberikan gambaran tentang proses yang dilakukan dan elemen-elemen yang ... organisasi atau perusahaan

II-21

II.11 Sistem Informasi Di Perguruan Tinggi

Definisi Sistem Informasi [WEB005] adalah penataan atau pengelolaan manusia,

data, proses, representasi data dan teknologi informasi yang mendukung

kebutuhan pengguna.

Definisi Sistem Informasi [WEB006] :

―Sebuah kumpulan orang, prosedur, sumber daya yang dikumpulkan, diubah

menjadi informasi dan disebarkan dalam sebuah organisasi; sebuah sistem

yang menerima sumber daya data sebagai input dan memrosesnya menjadi

produk informasi sebagai output; sebuah sistem yang menggunakan

perangkat keras, perangkat lunak dan orang untuk melakukan input, proses,

output, penyimpanan dan mengontrol aktifitas dan mengubah sumber daya

data menjadi produk informasi; sebuah sistem yang didesain dengan maksud

tertentu untuk sehingga data, komputer, prosedur, dan orang dapat bersama-

sama mengelola informasi yang penting untuk mencapai misi dari

organisasi.‖

Peranan dari sistem informasi adalah mengolah data menjadi informasi yang dapat

digunakan oleh user, stakeholder, manager. Selanjutnya informasi dimanfaatkan

dengan cara sebagai berikut:

1. Digunakan untuk membuat/menunjang keputusan (decision making).

2. Sebagai feedback.

3. Sebagai input untuk melakukan proses selanjutnya.

4. Digunakan untuk melakukan analisis terhadap suatu sistem.

5. Menunjukkan hasil yang baru.

II.12 Definisi dan Peranan Perguruan Tinggi

Menurut UU No. 20 tahun 2003 pasal 19 ayat 1:

―Yang dimaksud perguruan tinggi adalah merupakan jenjang pendidikan

setelah pendidikan menengah mencakup program pendidikan diploma,

Page 22: BAB II DASAR TEORI - · PDF fileHasil perbaikan mempengaruhi ... Gambar II.2 memberikan gambaran tentang proses yang dilakukan dan elemen-elemen yang ... organisasi atau perusahaan

II-22

sarjana, magister, spesialis, dan doktor yang diselenggarakan oleh perguruan

tinggi‖.

Secara khusus peran perguruan tinggi tercantum dalam dalam PP No. 30 tahun

1990 tentang Perguruan Tinggi. Dalam ketentuan umum, Pasal 1 ayat 2 :

―Perguruan tinggi adalah satuan pendidikan yang menyelenggarakan

pendidikan tinggi‖.

Selanjutnya pendidikan tinggi memiliki tujuan sebagai berikut:

1. Menyiapkan peserta didik menjadi anggota masyarakat yang memiliki

kemampuan akademik dan atau profesional yang dapat menerapkan,

mengembangkan dan atau memperkaya khasanah ilmu pengetahuan,

teknologi, dan atau kesenian.

2. Mengembangkan dan menyebarluaskan ilmu pengetahuan, teknologi, dan

atau kesenian serta mengupayakan penggunaannya untuk meningkatkan taraf

kehidupan masyarakat dan memperkaya kebudayaan nasional.

II.13 Peranan Strategis ICT Pada Perguruan Tinggi

Teknologi komunikasi dan informasi telah menjadi pilihan mutlak dalam dunia

pendidikan. Perguruan tinggi memanfaatkan ICT untuk meningkatkan kualitas

penyelenggaraan pendidikan tinggi. ICT telah diterapkan sebagai media untuk

dalam penyelenggaraan aktivitas belajar mengajar, riset, serta pelayanan kepada

masyarakat[3].

II.14 ICT Sebagai Transaction dan Interaction Enabler

ICT memungkinkan perguruan tinggi dapat menciptakan proses pendidikan yang

murah-berkualitas-cepat. Berikut ini adalah contoh pemanfaatan ICT dalam dunia

pendidikan[3] :

1. Pendaftaran online menggunakan website.

2. FRS online.

3. Course online.

Page 23: BAB II DASAR TEORI - · PDF fileHasil perbaikan mempengaruhi ... Gambar II.2 memberikan gambaran tentang proses yang dilakukan dan elemen-elemen yang ... organisasi atau perusahaan

II-23

4. Pengumuman hasil ujian online.

5. Manajemen ruangan kelas, mata kuliah, dosen.

6. Portal Perpustakaan.

7. e-learning.

8. Blog.

9. Sharing files.

10. Ujian online.

II.15 Inovasi ICT Untuk Menunjang Aktifitas Perguruan Tinggi

Manfaat ICT telah digunakan oleh perguruan tinggi saat ini. Selanjutnya ICT telah

berkembang menjadi partner para akademisi untuk menciptakan inovasi yang

lebih berkualitas dalam menunjang aktifits perguruan tinggi.

Berikut adalah contoh inovasi ICT yang digunakan oleh perguruan tinggi dalam

menyelenggarakan aktivitasnya [3]:

1. Media Simulasi.

2. Course Management

3. Virtual Class

4. Distance learning

5. CBT (Computer Based Training)

6. Knowledge portal

7. Cyber Community

II.16 SOA dan Integrasi Sistem Informasi Pada Perguruan Tinggi.

Dengan semakin majunya teknologi, pemanfaatan teknologi yang semakin

berkembang maka kompleksitas dan keanekaragaman platform tidak bisa

dihindari. SOA menawarkan sebuah rancangan arsitektur yang dapat digunakan

oleh perguruan tinggi untuk melakukan pengintegrasian sistem informasi.

Keuntungan dari SOA yang dapat dipenuhi oleh ICT memberikan manfaat bagi

Page 24: BAB II DASAR TEORI - · PDF fileHasil perbaikan mempengaruhi ... Gambar II.2 memberikan gambaran tentang proses yang dilakukan dan elemen-elemen yang ... organisasi atau perusahaan

II-24

perguruan tinggi untuk melakukan pengembangan dalam proses bisnis perguruan

tinggi. Sistem informasi yang telah ada serta layanan-layanan yang digunakan

dapat dikembangkan dan diintegrasikan dengan menggunakan SOA. SOA

memberikan solusi bagi perguruan tinggi dalam menangani kompleksitas

platform hardware, software, perawatan perangkat lunak, training operator,

penggunaan kembali kode, dan pengembangan layanan-layanan di perguruan

tinggi.