• Tidak ada hasil yang ditemukan

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI"

Copied!
23
0
0

Teks penuh

(1)

Bhayu Herwahyudi (08334006)

BAB II

TINJAUAN PUSTAKA DAN LANDASAN TEORI

2.1 Tinjauan Pustaka

Web service merupakan sebuah aplikasi perangkat lunak yang dapat

diakses dengan XML melalui sebuah jaringan dan tidak terpengaruh oleh

platform. Sedangkan bill query adalah sebuah server agregator yang

mengakomodasi berbagai jenis CDRs, atau dengan kata lain bill query digunakan untuk menampung data-data CDR yang kemudian data-data tersebut dikirim ke suatu interface CRM atau Business Intelligent agar client dapat melihat dan menganalisa data tersebut, transportasi data dilakukan dengan menggunakan SOAP/XML yang meminta (request) dan menerima (response) data dari web

service.

Berikut adalah beberapa tinjauan pustaka tentang teknologi java web

service dan CRM yang telah dilakukan oleh pihak lain, diantaranya :

1. Rick Palmer. 2007. Pada file persentasi yang dibuatnya yaitu java web

service dengan axis dan SOAP. Dalam file ini dibahas peran axis yang

diinstall dalam web server tomcat beserta cara komunikasi yang dilakukan oleh SOAP dalam tranfer data XML.

2. Thomas Siebel. Pada tahun 1993 mendirikan sebuah perusahaan perangkat lunak yang dikenal dengan Siebel CRM System yang bergerak dalam bidang desain, pengembangan, pemasaran, dan aplikasi CRM. Siebel Sistem adalah vendor CRM dominan, namun pada tahun 2005 perusahaan Oracle telah membeli Sistem Siebel dan sekarang menjadi nama merek yang dimiliki perusahaan Oracle.

Tugas akhir yang direalisasikan adalah prototipe CRM yang basis data nya didapat dari request yang diberikan ke web service menggunakan protokol SOAP yang dibuat dengan bahasa pemrograman java kemudian hasil data yang diterima bisa diolah untuk bisa ditampilkan dengan sederhana kepada klien. Aplikasi yang dibuat dengan program java tersebut harus bisa diakses oleh komputer lain yang terdapat dalam suatu jaringan yang sama.

                   

(2)

2.2 Landasan Teori 2.2.1 Web Service

Web service didefinisikan oleh W3C sebagai “sebuah software aplikasi

yang dapat teridentifikasi oleh URI dan memiliki antar muka yang didefiniskan, dideskripsikan, dan dimengerti oleh XML dan juga mendukung interaksi langsung dengan perangkat lunak aplikasi yang lain dengan menggunakan message berbasis XML melalui protokol internet”.

Web service merupakan suatu sistem perangkat lunak yang dirancang

untuk mendukung interoperabilitas yang memiliki kemampuan untuk berinteraksi antar sistem pada suatu jaringan. Web service menyimpan data (informasi) dalam format XML, sehingga dapat diakses oleh sistem lain walaupun sistem lain tersebut berbeda sistem operasi, platform, bahkan bahasa compiler-nya.

Hal tersebut dapat terjadi karena penggunaan XML standar yang didukung oleh banyak perusahaan besar di dunia, yang digunakan untuk pertukaran data. Selain itu, penggunaan SOAP menjadikan method-method dari object-object yang ada dalam sebuah web service dapat di akses dari aplikasi lain seperti halnya aplikasi tersebut mengakses method lokal

Implementasinya, web service bertujuan untuk meningkatkan kolaborasi antar pemrogramman dan perusahaan yang memungkinkan sebuah fungsi dalam

web service dapat dipinjam oleh aplikasi lain tanpa perlu mengetahui secara detail

isi pemrogramman di dalamnya. Berikut adalah beberapa alasan digunakannya

web service :

a) Web service dapat digunakan untuk mentransformasi satu atau beberapa bisnis logic atau class dan objek yang terpisah dalam satu ruang lingkup

untuk menjadi kesatuan, sehingga tingkat keamanan dapat ditangani dengan baik.

b) Web service memiliki kemudahan dalam proses deployment-nya karena

tidak memerlukan registrasi khusus dalam suatu sistem operasi. Web

service cukup diunggah ke web server dan siap diakses oleh pihak-pihak

yang telah diberikan otorisasi atau hak akses.

                   

(3)

c) Web service berjalan di Transmission Control Protocol (TCP) port 80

yang merupakan protokol standar Hypertext Transfer Protocol (HTTP), sehingga tidak membutuhkan konfigurasi khusus di sisi firewall.

Web service memiliki tiga entitas dalam arsitekturnya, yaitu :

a) Penyedia layanan (service provider) : atau sebagai server yang menyediakan layanan (service) dan mengolah sebuah registry agar layanan-layanan tersebut dapat tersedia.

b) Peminta layanan (service requester) : sebagai client yang mencari dan menemukan layanan yang dibutuhkan serta menggunakan layanan tersebut.

c) Daftar layanan (service registry) : lokasi pusat yang mendeskripsikan semua layanan yang telah terdaftar (registered).

Service Registry Service Requester Service Provider Publish Service Find Service Bind (WSDL, UDDI) (WSDL, UDDI)

Gambar 3. Blok diagram SOA

Berdasarkan yang digambarkan pada arsitektur berbasis layanan (Service Oriented Architecture – SOA), secara umum terdapat tiga operasi yang terlibat didalamnya, yaitu :

a) Publish/Unpublish : mempublikasikan layanan ke registry ataupun

menghapus layanan dari registry. Hal ini dilakukan oleh pihak penyedia layanan.

b) Find : peminta layanan (client) mencari dan menemukan layanan yang

dibutuhkan. Hal ini dilakukan oleh pihak peminta layanan.

                   

(4)

c) Bind : setelah client menemukan layanan yang dibutuhkannya, kemudian

melakukan binding atau interaksi ke service provider agar dapat mengakses layanan yang disediakan oleh service provider.

2.2.1.1 Wire Stack

Wire stack merangkum konsep dan teknologi yang berhubungan dengan

komunikasi fisik untuk pertukaran informasi antara salah satu peran dalam diagram SOA. Hal ini termasuk network transport, message packaging dan

message extensions yang dapat digunakan untuk memfasilitasi pertukaran data.

Berikut ini adalah untuk memperjelas konsep binding atau interaksi antar client –

server : Service Registry Service Requester Service Provider Publish Service Find Service Interact (WSDL, UDDI) (WSDL, UDDI) Wire Extensions Packaging Transport

Gambar 4. Wire stack

a. Transport Layer

Dasar dari web service stack adalah jaringan. Web service harus dapat diakses jaringan yang dipanggil oleh pemohon layanan atau client. Web service yang tersedia umum di internet biasanya menggunakan protokol jaringan yang tersebar (deployed), karena kemampuannya yang digunakan dimana-mana, HTTP dan TCP/IP adalah protokol jaringan standar untuk web service yang tersedia di internet. protokol internet lain yang bisa digunakan adalah SMTP dan FTP.

                   

(5)

Pemilihan spesifik dari protokol jaringan yang digunakan dalam beberapa masalah/kondisi tergantung sepenuhnya pada kebutuhan aplikasi, termasuk perhatian pada keamanan, ketersediaan, kinerja, dan kehandalan.

Dalam sebuah perusahaan dengan beberapa jenis infrastruktur jaringan, HTTP bisa digunakan sebagai jembatan, kemampuan interoperabilitas untuk menghubungkan sistem yang berbeda. Salah satu manfaat dari layanan web adalah bahwa web service menyediakan model pemrograman terpadu untuk pengembangan dan penggunaan Intranet swasta serta jasa internet publik. Akibatnya, pilihan teknologi jaringan dapat dibuat sepenuhnya transparan untuk pengembang dan konsumen dari layanan tersebut.

b. Packaging Layer

Setelah transport layer, selanjutnya naik ke packaging layer yang merupakan teknologi yang dapat digunakan untuk mengemas informasi yang dipertukarkan. XML telah diadopsi secara luas sebagai dasar untuk protokol paket

message web service.

SOAP adalah sebuah mekanisme berbasis XML sederhana dan ringan untuk membuat paket data terstruktur yang dapat dipertukarkan antara aplikasi jaringan. SOAP terdiri dari empat komponen mendasar berupa sebuah envelope yang mendefinisikan sebuah kerangka untuk menjelaskan struktur pesan, seperangkat aturan pengkodean untuk mengungkapkan contoh aplikasi yang didefinisikan tipe data, sebuah konvensi untuk mewakili remote procedure call (RPC) dan tanggapan (response), dan satu set aturan untuk menggunakan SOAP dengan HTTP. SOAP dapat digunakan dalam kombinasi dengan berbagai protokol jaringan; seperti HTTP, SMTP, FTP, RMI / IIOP, atau protokol pesan kepemilikan (proprietary).

SOAP saat ini merupakan standar de facto untuk XML messaging untuk sejumlah alasan. Pertama, SOAP adalah relatif sederhana, mendefinisikan lapisan tipis yang dibangun di atas teknologi jaringan yang ada seperti HTTP yang sudah secara luas diterapkan. Kedua, SOAP flexibel dan extensible dalam memecahkan semua masalah berbagai pengembang yang mungkin dihadapi ketika membangun layanan web, SOAP menyediakan extensible, kerangka yang mampu mengirim pesan yang memungkinkan solusi yang akan diterapkan secara bertahap sesuai

                   

(6)

kebutuhan. Ketiga, SOAP didasarkan pada XML. Akhirnya, SOAP mendapat dukungan industri yang luas dan komunitas pengembang.

c. Extensions Layer

Lapisan teratas dari wire stack adalah extension layer, merupakan kerangka kerja yang menyediakan informasi tambahan yang dilampirkan ke layanan web untuk mewakili berbagai macam kondisi tambahan seperti context,

routing, kebijakan, dan lain-lain sebagai bagian penting struktur pesannya pada envelope, SOAP mendefinisikan mekanisme untuk memasukkan ekstensi

ortogonal (juga dikenal sebagai fitur) ke pesan dalam bentuk header dan aturan pengkodean.

2.2.1.2 Web Service Stack

Setelah mengetahui wire stack yang mana merupakan lapisan dasar dari pembangunan web service stack, secara keseluruhan web service stack dapat dijelaskan seperti pada gambar 5.

Gambar 5. Web service stack (Martin Senger, 2004)

Lapisan transportasi adalah dasar dari web service stack. Web service harus dipanggil oleh service requester sehingga web service dapat diakses ke jaringan. Web service publik bisa diakses melalui internet, sedangkan web service

private atau internal organisasi (perusahaan) hanya dapat diakses oleh pengguna

resmi dalam organisasi internal dan pengguna yang tidak sah (dari lingkungan luar) tidak bisa mengaksesnya. Hal ini dimungkinkan untuk membuat extranet

                   

(7)

layanan berbasis web untuk memungkinkan pengguna yang memiliki hak akses dapat mengkases web service nya pada lebih dari satu intranet.

Dalam lapisan XML based messaging, SOAP adalah messaging protocol untuk XML yang dibangun oleh lapisan dibawahnya (lapisan transportasi) yang berarti bahwa SOAP digunakan secara satu demi satu atau dalam kombinasi dengan protokol transport. Semua pesan SOAP mendukung operasi publish, bind, dan find dalam arsitektur layanan web. SOAP terdiri dari tiga bagian: sebuah

envelope untuk menggambarkan isi pesan, seperangkat aturan pengkodean, dan

sebuah mekanisme untuk menyediakan remote procedure call (RPC) dan tanggapan (responses).

Service description menyediakan sarana agar bisa memanggil web service,

yaitu WSDL (Web Services Description Language) adalah standar dasar untuk menentukan, implementasi, dan interface web service dalam format XML. WSDL membagi deskripsi layanan menjadi dua bagian: layanan implementasi dan antarmuka layanan. Pengguna harus membuat antarmuka layanan sebelum dapat menerapkan WSDL.

Dibutuhkan dokumen deskripsi layanan lainnya untuk melengkapi WSDL, sebagi contoh: pembuat web service dapat menggunakan struktur data UDDI (Universal Description, Discovery, and Integration) untuk menggambarkan konteks bisnis, pembuat membuat dokumen WSDL untuk diakses klien (service

requester) pada setiap tahap siklus hidup layanan klien. Ketika hal ini terjadi, stack bergerak naik ke lapisan berikutnya, yaitu Service publication layer. Pada

lapisan ini, (sebagai conoth) penyedia layanan dapat mengirim dokumen WSDL langsung ke klien melalui e-mail, tindakan ini dikenal sebagai publikasi langsung. Operator selular juga dapat memilih untuk mempublikasikan dokumen WSDL ke registri WSDL host lokal, atau ke registri UDDI public atau private.

Service discovery bergantung pada service publication, jika web service

tidak atau tidak bisa dipublikasikan, maka layanan tersebut tidak bisa ditemukan atau dijelajah. Klien dapat membuat deskripsi layanan untuk sebuah aplikasi secara runtime, contohnya mengambil sebuah dokumen WSDL dari local file yang diperoleh melalui publikasi langsung. tindakan ini dikenal dengan static

                   

(8)

discovery. layanan ini juga dapat ditemukan saat runtime menggunakan registri

WSDL lokal ataupun registri UDDI private maupun public.

Web Services Flow Language (WSFL) adalah standar untuk service flow layer pada bagian teratas stack, ini berbeda dari standar lain pada stack, perbedaan

itu terlihat pada pemodelan proses bisnis dan alur kerja. WSFL digunakan untuk menjelaskan bagaimana web service berinteraksi dalam alur kerja dan bagaimana mereka tampil pada kolaborasi atau komunikasi service to service, ini berarti bahwa komponen layanan web dapat secara dinamis mengatur ke dalam, misalnya alur kerja antara pembeli, penjual, dan pengirim.

Sebagai contoh, WSFL memperkenankan seorang pengelola alur kerja untuk memanggil web service tunggal dari sebuah gabungan web service dengan peran tertentu dalam suatu proses bisnis, proses tersebut dapat mencakup laporan keuangan mengelola, mendukung perkiraan dan anggaran dalam rencana jangka panjang TI, atau membuat reservasi hotel. Misalnya, dalam membuat reservasi hotel, komponen alur kerja bisa meliputi :

a) Web service milik perusahaan berkolaborasi untuk menyajikan antarmuka Web service tunggal untuk umum.

b) Perusahaan yang berbeda menyediakan web service dalam upaya kolaborasi untuk melakukan transaksi bisnis ke bisnis.

Dibutuhkan tools seperti IBM MQSeries Workflow (sekarang disebut WebSphere Process Manager), untuk mendefinisikan proses bisnis sebagai rangkaian kegiatan, dan untuk memvariasikan urutan kegiatan sebagai persyaratan untuk perubahan proses bisnis.

2.2.1.3 Komponen Web Service

Untuk memperjelas pemahaman tentang web service, maka akan dibahas komponen web service seperti yang ditunjukan pada gambar 6. Secara keseluruhan web service memiliki empat lapisan komponen, keempat lapisan tersebut adalah :

a) Protokol internet standar seperti HTTP, TCP/IP.

                   

(9)

b) Simple Object Access Protocol (SOAP) yang merupakan protokol akses

objek berbasis XML yang digunakan untuk proses pertukaran data / informasi antar layanan.

c) Web Service Definition Language (WSDL), merupakan suatu standar

bahasa dalam format XML yang berfungsi untuk mendeskripsikan seluruh layanan (web service) yang tersedia.

d) UDDI (Universal Description, Discovery and Integration) adalah sebuah registri layanan untuk pengalokasian web service. UDDI mengkombinasikan SOAP dan WSDL untuk membentuk sebuah registri API bagi pendaftaran dan pengenalan layanan.

Service Publication and Discovery (UDDI)

Service Description (WSDL)

XML Based Messaging (SOAP)

Common Internet Protocols (HTTP , TCP/IP)

Gambar 6. Komponen web service

2.2.1.4 Aplikasi Java Web Service

AXIS (Apache eXtensible Interaction System) adalah produk dari Apache

Software Foundation yang bersifat open-source yang digunakan untuk java web service dan merupakan salah satu dari banyak implementasi web service untuk java, tool ini dapat memudahkan proses pembuatan web service dengan

menggunakan bahasa pemrograman java, dan menyebarkannya (deploy) sebagai layanan web. Hal ini memungkinkan programmer java untuk fokus pada logika bisnis aplikasinya daripada khawatir pada protokol jaringan level rendah (seperti SOAP) untuk menggunakan layanan web.

AXIS juga menyediakan untuk penyebaran (deploy) otomatis dari program

Java sebagai layanan web untuk menghasilkan WSDL dari kode Java secara                    

(10)

langsung. WSDL (Web Services Description Language) digunakan untuk menggambarkan metode dan struktur data yang disediakan oleh layanan web. WSDL memungkinkan programmer untuk memperlakukan web service sama dengan metode yang digunakan dalam program java yang dibuatnya.

Sebuah web service sederhananya adalah sebuah URL internet yang menyediakan satu set fungsi yang berguna (contoh : harga saham, buku alamat, dll). Untuk menggunakan web service, sebuah program klien (biasanya aplikasi lain berbasis web yang dapat ditulis dalam Java, C#, C++, dll) mengirimkan permintaan ke web service dan menerima balasan seperti sebuah permintaan web

browser halaman web dan menerima HTML (HyperText Markup Language)

sebagai jawaban. Namun, permintaan dan balasan dikodekan dalam Simple Object

Access Protocol (SOAP). Di lain pihak, web service mendengarkan permintaan

tersebut dari program klien. Setelah web service menerima permintaan, ia menerjemahkan pesan dan parameternya, kemudian memroses permintaan, lalu mengkodekan jawabannya, dan mengirimkan jawabannya kembali ke klien.

2.2.2 XML

XML (eXtensible Markup Language) adalah sebuah meta-language untuk mendeskripsikan data tanpa tergantung kepada sistem dan juga dapat digunakan sebagai extension markup languages. XML bersifat extensible, berati seorang perancang sistem dimungkinkan untuk menuliskan sendiri XML tag-nya dalam pendeskripsian sebuah content, seorang programmer dapat menciptakan

tag-tag yang berbeda untuk setiap format dokumen yang inginkan didalam

aplikasi atau sistemnya.

XML adalah berbasis text, sehingga dapat dengan mudah dipindahkan dari satu sistem komputer ke sistem yang lain. Dengan XML, data direpresentasikan dalam sebuah dokumen yang terstruktur dan juga telah menjadi sebuah standar industri.

Tag dalam XML didefinisikan menggunakan XML schema language

yaitu sebuah skema yang mendefinisikan struktur dari dokumen XML. Sebuah skema juga digunakan membatasi content dari sebuah dokumen XML kedalam sebuah elemen, atribut, dan values tertentu.

                   

(11)

Sebuah skema Document Type Definition (DTD) adalah bagian dari spesifikasi XML. DTD ini juga mendefinisikan tag atau atribut mana yang sangat diperlukan dan mana yang bersifat optional.

Dalam penerapan XML, terdapat beberapa kasus di mana tag atau elemen memiliki nama yang sama. Misalnya, ada beberapa elemen yang mempunya nama yang sama yaitu “table”, untuk mengatasi hal tersebut digunakanlah namespace. Spesifikasi dari namespace akan digunakan oleh penulis dokumentasi (programmer) untuk mengetahui schema atau DTD mana yang digunakan pada elemen tertentu. Namespace dapat diaplikasikan pada attribut dan juga pada element.

2.2.2.1 Elemen

Seperti halnya HTML, sebuah dokumen XML adalah sebuah dokumen yang mudah dibaca dan terdiri dari XML tag atau elemen, tag XML didefinisikan dengan kurung siku < >. Sebuah dokumen XML memiliki struktur seperti entitas didalam sebuah tree. Seorang programmer dapat menulis tag sesuai dengan yang diinginkan selama semua aplikasi yang menggunakan dokumen tersebut menggunakan tag dengan nama yang sama. Tag bisa memiliki atribut, contoh berikut ini, “buku” pertama memiliki “kategori” dengan atribut “komik”, sedangkan “buku” yang kedua memiliki “kategori” dengan atribut “pelajaran”.

Listing program 1 : contoh elemen dan atribut xml <Tokobuku> <buku kategori="komik"> <judul>Naruto</judul> <penulis>Masashi Kishimoto</penulis> <tahun>2011</tahun> <harga>11.000</harga> </buku> <buku kategori="pelajaran"> <judul>Fisika</judul> <penulis>Bambang Murdaka</penulis> <tahun>2009</tahun> <harga>43.350</harga> </buku> </Tokobuku>                    

(12)

2.2.2.2 Atribut

Tag dapat juga terdiri dari atribut-atribut seperti pada contoh sebelumnya, tag “buku” memiliki atribut dengan nama “kategori”. Sebuah atribut diikuti

dengan tanda sama dengan (=) dan diikuti dengan nilainya (value).

Pada saat mendesain sebuah struktur XML, permasalahan yang selalu muncul adalah sebuah data elemen harus menjadi atribut dari sebuah elemen atau menjadikannya sebuah sub-elemen atau elemen lain didalamnya. Hal semacam itu tergantung dengan kebutuhan sang perancang XML agar sesuai dengan kebutuhannya. Pada listing program 2 adalah struktur XML yang sama seperti sebelumnya tetapi pada atribut pada “buku” dijadikan sebagai sub-elemennya.

Listing program 2 : contoh sub-elemen xml <Tokobuku> <buku> <kategori>komik</kategori> <judul>Naruto</judul> ... </Tokobuku>

Tidak ada aturan yang pasti struktur elemen seperti apa yang harus diikuti, tetapi dalam beberapa situasi, terdapat aturan-aturan yang harus dipenuhi:

a) Data akan memiliki beberapa sub-struktur, pada kasus di mana Anda harus menggunakan sebuah sub-elemen karena itu tidak boleh dimodelkan sebagai atribut.

b) Data akan terdiri dari beberapa baris apabila atribut ingin dibuat sesederhana mungkin – sebuah string yang pendek tetapi mudah untuk dibaca dan digunakan.

c) Data elemen dimungkinkan untuk muncul kembali. d) Data akan sering berubah.

2.2.2.3 Namespace

Terdapat beberapa kasus dalam penerapan XML terkait tag atau elemen yang memiliki nama yang sama, misalnya ada beberapa elemen yang mempunyai nama yang sama yaitu “table” seperti yang ditunjukan pada listing program 3.

                   

(13)

Listing program 3 : contoh xml tanpa namespace <table> <tr> <td>Mangga</td> <td>Apel</td> </tr> </table> <table> <nama>Meja jati</nama> <lebar>80</lebar> <panjang>120</panjang> </table>

Sebuah XML membawa informasi table pada HTML, sama-sama memiliki elemen “table” tetapi sub-elemennya berbeda karena memiliki arti atau pesan yang memang berbeda, elemen tabel yang pertama berisi table tentang nama buah-buahan sedangkan table yang kedua berisi informasi tentang meja. Bila kedua data tersebut digabungkan penulisannya maka akan terjadi konflik atau masalah karena perbedaan yang diakibatkan pada sub-elemen terkait pada elemen “table” yang sama. Oleh karena itu penulisan namespace harus dilakukan untuk mengatasinya, sehingga penulisan struktur XML nya seperti yang ditunjukan pada

listing program 4.

Listing program 4 : contoh xml yang menggunakan namespace <root> <h:table xmlns:h="http://www.w3.org/TR/html4/"> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table> <f:table xmlns:f="http://www.w3schools.com/furniture"> <f:nama>Meja jati</f:nama> <f:lebar>80</f:lebar> <f:panjang>120</f:panjang> </f:table> </root> 2.2.2.4 SOAP

SOAP (Simple Object Access Protocol) adalah standar yang digunakan untuk bertukar pesan atau informasi berbasis XML melalui jaringan komputer. SOAP seperti sebuah amplop yang digunakan untuk pertukaran data antara aplikasi-aplikasi dalam jaringan, SOAP mendefinisikan empat aspek didalam

                   

(14)

komunikasi berupa message envelope, Encoding, RPC call convention, dan bagaimana menyatukan sebuah pesan didalam protokol transportasi. Hal ini seperti sebuah jalan untuk program yang berjalan pada suatu sistem operasi (OS) untuk berkomunikasi dengan program pada OS yang sama maupun berbeda dengan menggunakan HTTP dan XML sebagai mekanisme untuk pertukaran data.

Gambar 7. XML message (Rick Palmer, 2007)

SOAP adalah protokol ringan yang ditujukan untuk pertukaran informasi struktur pada lingkup desentralisasi, dan terdistribusi. SOAP menggunakan teknologi XML utuk mendefinisikan rangka kerja pemesanan terekstrensi di mana menyediakan konstruksi pesan yang dapat dipertukarkan pada protokol berbeda. Rangka kerja dirancang bebas dari model pemrograman dan spesifikasi implementasi semantik. SOAP message terdiri dari SOAP envelop yang dapat memiliki attachments ataupun tidak. SOAP envelop ini tersusun dari SOAP

header dan SOAP body, sedangkan SOAP attachment membolehkan non-XML

data untuk dimasukkan kedalam SOAP message, di-encoded, dan diletakkan kedalam SOAP message dengan menggunakan MIME-multipart.

Gambar 8. Komunikasi via web service (Rick Palmer, 2007)

SOAP menspesifikan secara jelas cara untuk meng-encode header HTTP dan file XML sehingga program pada suatu komputer dapat memanggil program pada pada komputer lain dan mengirimkan informasi, dan bagaimana program yang dipanggil memberikan tanggapan.

                   

(15)

Gambar 9. SOAP envelope (Rick Palmer, 2007)

Pada listing program 5 adalah contoh struktur SOAP Request Message bagi klien yang ingin menggunakan layanan yang ada pada suatu web service dalam suatu jaringan yang mana seorang klien ingin mengetahui jumlah pulsa yang dimiliki oleh seorang pelanggan berdasarkan nomor teleponnya :

Listing program 5 : contoh SOAP request untuk mengetahui pulsa <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope"> <soap:Header> <!-- bisa diabaikan --> </soap:Header> <soap:Body> <pulsa> <nomor>6281931406930</nomor> </pulsa> </soap:Body> </soap:Envelope>

Setelah permintaan tersebut dikirim, maka akan ada balasan berupa SOAP

Response Message seperti yang ditunjukan pada listing program 6.

Listing program 6 : contoh SOAP response untuk mengetahui pulsa <?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <pulsaResponse>5.200</pulsaResponse> </soap:Body> </soap:Envelope>                    

(16)

2.2.3 XSLT

XSLT adalah singkatan dari extensible stylesheet language transformation, XSL merupakan bahasa pedoman transformasi untuk merubah

suatu dokumen XML menjadi suatu bentuk lainnya, seperti dari XML menjadi HTML. Proses transformasi ini disebut XSL Transformation (XSLT), transformasi dilakukan dengan mencocokkan pola-pola dalam file XSL dengan elemen-elemen pada struktur XML. Pola-pola XSL ini kemudian membangkitkan

template-template untuk membuat bagian-bagian dari file output.

Setiap file XSL harus memiliki dan menyebutkan Namespace yang digunakan. Namespace ini diperlukan agar prosesor mengenal elemen-elemen dan atribut-atribut yang didefinisikan oleh namespace ini. Dalam contoh dipakai elemen-elemen dan atribut-atribut yang telah didefinisikan oleh World Wide Web

Consortium (W3C). Penyebutan namespace dalam XSL ini seperti yang

ditunjukan pada listing program 7.

Listing program 7 : contoh namespace pada XSL <xsl:stylesheet version=”1.0”

xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”> …………(template dan pola-pola XSL)

</xsl:stylesheet>

Pada contoh tertulis http://www.w3.org/1999/XSL/Transform, ini adalah contoh penulisan namespace dari W3C yang digunakan. Kemudian bisa juga dengan menggunakan definisi tambahan (extension) dengan menyebutkan

namespace dari pembuatnya. Definisi ini tidak boleh merubah definisi yang telah

ditetapkan oleh W3C, serta namespace dari W3C tidak dapat dihilangkan, seperti pada lisitng program 8.

Listing program 8 : contoh namespace dari W3C <xsl:stylesheet version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns="http://source.bin"

xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> …………(template dan pola-pola XSL)

</xsl:stylesheet>

Bila namespace ini tidak disebutkan, maka prosesor transformasi tidak dapat mengetahui definisi mana yang dipakai dan dapat mengakibatkan error atau

file tidak bisa ditansformasikan.                    

(17)

Definisi-definisi tambahan (extension) dari namespace, seperti disebutkan di atas, tidak boleh mengubah aturan-aturan dasar dari W3C. Tambahan yang dapat didefinisikan dalam hal ini dapat berupa:

a) informasi yang digunakan oleh elemen-elemen dan/atau fungsi-fungsi tambahan.

b) informasi tentang apa yang akan dilakukan dengan file hasil. c) informasi tentang bagaimana memperoleh file input.

d) metadata XSL.

e) dokumentasi terstruktur XSL.

Setiap elemen teratas dari file XSL harus menyebutkan versi dari XSL. Untuk waktu sekarang ini, versi yang beredar adalah versi 1.0. dan 2.0, seperti yang ditunjukan pada listing program 9.

Listing program 9 : contoh penulisan versi dari XSL <xsl:stylesheet version=”1.0”

xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”>

2.2.4 Servlet

Java servlet atau bisa juga dikatakan java class lain disimpan dalam file berekstensi java yang harus merupakan subclass dari HttpServlet.

Untuk bisa melayani request dari client, yang dilakukan adalah dengan mengesampingkan atau override metode service( ). Parameter yang dilewatkan ke dalam method service( ) ini berupa obyek HttpServletRequest dan HttpServletResponse. Untuk lebih spesifik terhadap metode HTTP , bisa juga

override method doGet( ) dan atau doPost( ). Kedua method ini mempunyai

parameter yang sama dengan service( ).

Method doGet( ) akan dijalankan jika client mengirimkan HTTP request

dengan menggunakan method GET, contohnya adalah saat user mengklik sebuah

link di halaman Web. Dalam kasus ini, Web browser akan mengirimkan HTTP request dengan metode GET ke server. Sedangkan metode doPost( ) akan

dijalankan jika client mengirimkan HTTP response dengan menggunakan method POST. Contohnya adalah saat user menggunakan atau mengisi HTML form dengan metode POST, dan submit permintaan tersebut ke server.

                   

(18)

Di dalam metode service( ), doGet( ), atau doPost( ) ini user bisa membaca parameter yang dikirimkan client, mengolah data, mengakses database dan menulis response ke client.

2.2.5 Telecom Billing

Telecom Billing adalah proses pengumpulan dan menggabungkan data

penggunaan yang dilakukan pelanggan, menerima dan merekam pembayaran dari pelanggan, menerapkan biaya yang dibutuhkan dan akhirnya menghasilkan tagihan bagi pelanggan.

Gambar 10. Blok diagram dalam memperoleh CDR (Telecom Billing, 2012)

Seorang pelanggan mulai menghasilkan CDR saat pelanggan tersebut menggunakan produk atau layanan yang dijual/disediakan oleh operator. Kemudian pada elemen jaringan yang terdiri dari kombinasi perangkat keras dan perangkat lunak melakukan kontrol untuk layanan secara keseluruhan dan events yang terjadi pada setiap layanan yang tersedia. Event yang dimaksud adalah setiap kejadian yang dapat menghasilkan bill (tagihan) dari layanan yang digunakan oleh pelanggan, biasanya terekam secara elektronik oleh jaringan. Contohnya saat panggilan yang dilakukan oleh pelanggan, sistem mediasi mengumpulkan data penggunaan dari switch jaringan dan menghasilkan Call Detail Record (CDR) /

Usage Detail Record (UDRs). CDR ini berisi nomor pihak yang menelepon dan

pihak yang ditelepon serta pencatatan waktu dan tanggal untuk awal dan akhirnya telepon.

CDR tersebut kemudian disimpan sampai diberi nilai atau tarif. Dalam pemberian nilai tarif panggilan, CDR diperiksa untuk dilihat jenis panggilannya, misalnya didalamnya terdapat 500 nomor telepon yang ditelepon oleh seorang pelanggan, pada nomor-nomor tersebut terdapat panggilan nomor lokal, nomor interlokal, dan nomor internasional. Kemudian informasi seperti kode kota atau

                   

(19)

kode negara serta waktu panggilan dapat digunakan untuk menghitung tingkat tarifnya.

Setelah setiap panggilan diberi nilai, informasi ini disimpan sampai faktur tersebut dijalankan ( biasanya sebulan sekali ). Ketika faktur dijalankan, biaya lain yang bukan biaya pemakaian seperti diskon atau biaya bulanan, dapat diterapkan untuk tagihan atau faktur. Dan mungkin ada tingkatan pemotongan tarif, pembayaran yang berbeda dilakukan oleh pelanggan dan penyesuaian yang berbeda diberikan. Semua informasi ini memberikan kontribusi dalam menghasilkan faktur akhir. Informasi ini kemudian dikonversi dalam format yang dapat dicetak dalam bentuk yang mudah dibaca.

Gambar 11. Arsitektur jaringan GSM (Arie Firmansyah Permana, 2011)

Berdasarkan struktur jaringan GSM, perangkat yang menghasilkan data-data berupa informasi dari panggilan yang dilakukan oleh pelanggan atau call

record adalah MSC (Mobile Switching Centre), karena MSC berfungsi sebagai : Perangkat yang mengatur aktivitas call setup.

Melakukan routing panggilan.

 Melakukan pencatatan biaya percakapan.

Management mobilitas.

 Menangani data pelanggan dan keamanannya

Sebagai gateway atau penghubung antar network elemen yang lain.

                   

(20)

Sedangkan perangkat yang menghasilkan sms record adalah SMSC dan perangkat yang menghasilkan data traffic atau data record adalah GGSN (Gateway GPRS Support Node).

Gambar 12. Arsitektur jaringan GPRS (Arie Firmansyah Permana, 2011)

2.2.6 CRM

CRM adalah Customer Relationship Management atau dalam bahasa indonesia dapat diartikan sebagai Manajemen Hubungan Pelanggan. CRM merupakan strategi pemasaran yang saat ini banyak dilakukan oleh perusahaan-perusahaan yang menginginkan pelanggan / konsumen mereka tetap membeli produk atau memakai jasa mereka karena dalam CRM terdapat informasi terintegrasi yang dapat digunakan untuk merencanakan, menjadwalkan, dan mengendalikan aktivitas-aktivitas prapenjualan dan pascapenjualan dalam sebuah organisasi/perusahaan. CRM memiliki informasi-informasi yang berhubungan dengan pelanggan dan calon pelanggan, termasuk di dalamnya adalah call center, pemasaran, tenaga penjualan (sales force), technical support dan layanan lapangan (field service). Dalam perkembangannya, CRM dapat didefinisikan sebagai berikut :                    

(21)

a) CRM adalah sebuah istilah industri dalam bidang TI untuk metodologi, strategi, perangkat lunak dan aplikasi berbasis web yang dapat membantu perusahaan untuk mengelola hubungannya dengan para pelanggan.

b) CRM adalah usaha yang dilakukan oleh perusahaan untuk berkonsentrasi menjaga pelanggannya dengan cara mengumpulkan segala informasi terhadap interaksi pelanggan baik itu via telepon, email, masukan di situs ataupun hasil pembicaraan dengan karyawan penjualan dan pemasaran. c) CRM adalah strategi bisnis menyeluruh dalam suatu perusahaan yang

memungkinkan perusahaan dapat mengelola hubungannya dengan para pelanggan secara efektif.

Suatu perusahaan menggunakan CRM karena menyadari bahwa tingkat persaingan global antar perusahaan semakin besar, sehingga perusahaan tersebut berupaya untuk meningkatkan layanan mereka guna meningkatkan loyalitas para pelanggan dan fakta bahwa untuk mendapatkan pelanggan baru bisa mengeluarkan biaya 10 kali lebih besar dibanding menjaga pelanggan yang sudah ada. Perusahaan yang menggunakan CRM bisa dari perusahaan / bidang usaha berskala kecil sampai ke perusahaan berskala besar.

Prinsip dasar CRM adalah mengambil data input berupa data profil dari semua pelanggan dan memberikan informasi yang sesuai kepada pihak perusahaan yang membutuhkan data tersebut atau client berupa informasi tentang

customer history, kebutuhan-kebutuhan pasar dan isu-isu lain seputar

perkembangan pasar. Secara umum tujuan penerapan CRM yaitu : a) Mengenali dan menganalisa relasi.

b) Mengenali dan menganalisa pasar.

c) Mengenali dan menganalisa produk keluaran.

Dalam merencanakan penerapan sistem CRM, perusahaan harus memperhatikan hal-hal berikut :

a) Sasaran bersifat jangka panjang.

b) Sesuai dengan sasaran yang telah ditentukan oleh perusahaan.

c) Hasil yang dicapai dapat menjadi suatu sasaran kunci bagi bisnis perusahaan.

d) Penerapan CRM bisa mengurangi biaya perusahaan secara keseluruhan.

                   

(22)

e) Nilai resiko yang timbul akibat penerapan CRM.

Penggunaan CRM dapat memiliki manfaat besar bagi perusahaan, berikut ini adalah manfaat yang diperoleh dari penerapan CRM di perusahaan :

a) Disamping tetap menjaga tingkat kepuasan yang sudah ada, perusahaan dapat mencari konsumen baru sehingga jumlah konsumen juga bisa bertambah.

b) Mengetahui tingkat kepemilikan perusahaan terhadap konsumen dengan mengetahui kebutuhan konsumen.

c) Melalui hasil transaksi yang sudah dilakukan dan dari hasil analisa data-data transaksi yang sudah terkumpul dapat diketahui kebutuhan konsumen pada masa yang akan datang.

d) Mengetahui keganjalan pada setiap aktivitas transaksi, yaitu mengetahui tindak kriminal seperti penipuan dan lain sebagainya.

e) Mengetahui perbaikan yang harus dilakukan pada layanan yang diberikan kepada konsumen.

f) Dapat menganalisa pola data transaksi sebagai contoh mampu mengetahui kombinasi produk yang akan dijual pada waktu-waktu tertentu.

g) Dapat Mengurangi resiko operasional dengan mengetahui prediksi yang akan terjadi dan kesalahan yang pernah dilakukan melalui customer

history.

Dalam pengimplementasian strategi CRM minimal diperlukan 3 faktor kunci berupa orang-orang yang profesional (kualifikasi memadai), proses yang didesain dengan baik, dan teknologi yang memadai agar hasil yang dicapai dapat maksimal oleh perusahaan, dan dalam implementasi CRM setidaknya harus memiliki elemen-elemen berikut :

a) Otomatisasi pemasaran agar pemasaran dapat dilakukan secara otomatisasi tanpa perlu bertransaksi langsung antara konsumen dengan produsen, dengan kata lain tanpa perlu langsung membawa uang cash.

b) Pusat pelayanan (Call Center), fungsinya antara lain untuk mengetahui kebiasaan konsumen, menerima keluhan dari para pelanggan sehingga data tersebut bisa digunakan untuk memperbaiki kualitas pelayanan dan produknya serta mengumpulkan customer history.

                   

(23)

c) Penggudangan Data (Data Warehousing), informasi tentang pelanggan harus dilakukan dalam satu sistem terpadu. Hasil analisa harus mampu menampilkan petunjuk-petunjuk tertentu tentang pelanggan sehingga staf penjualan dan marketing mampu melakukan kampanye yang terfokus terhadap kelompok pelanggan tertentu. Nantinya gudang data ini juga harus mampu menaikkan volume penjualan.

d) Pencarian data dan analisa proses secara online, karena data yang telah terkumpul akan dipisah-pisahkan menurut kualifikasinya dan selanjutnya data akan disimpan dalam sistem yang dapat diakses secara online, sehingga bila sewaktu-waktu data tersebut diperlukan bisa segera diperoleh.

e) Pengambilan keputusan dan alat pelaporan, agar proses pengambilan keputusan dapat dilakukan secara lebih bijak karena perusahaan telah memiliki data yang cukup untuk menentukan langkah selanjutnya yang harus dilaksanakan oleh perusahaan.

                   

Gambar

Gambar 3. Blok diagram SOA
Gambar 5. Web service stack (Martin Senger, 2004)
Gambar 6. Komponen web service
Gambar 7. XML message (Rick Palmer, 2007)
+5

Referensi

Dokumen terkait

Berdasarkan masalah yang dikemukakan, maka perlu dilakukan kajian mengenai sejauhmana lingkungan sosial yang berkarakter tersbut dapat memengaruhi moral remaja

Pengadilan merupakan ketentuan dari Peraturan Mahkamah Agung Nomor 1 Tahun 2016 Tentang Prosedur Mediasi di Pengadilan, ketentuan ini tidak boleh diabaikan oleh

bahwa untuk melaksanakan pengelolaan investasi pemerintah yang akuntabel guna mendapatkan manfaat sosial, ekonomi, dan/atau manfaat lainnya, perlu menyusun tata kelola

Secara fungsional, Perangkat Lunak Penentuan Prioritas Pembangunan (PLP3) dibuat untuk memudahkan dalam pendataan dan penentuan skala prioritas kegiatan yang

ekosistem pedesaan di Indonesia, apalagi di setiap kawasan hutan alam yang masih utuh, seperti kawasan taman nasional, memiliki keanekaragaman hayati pangan dan obat

Setiap tanggal 22-30 setiap bulannya, Komisi Tugas Akhir akan menentukan usulan judul skripsi yang diterima beserta nama dosen pembimbing utama, kedua dan (dosen penguji menjelang

2) Abjad yang diapit antara tanda titik pertama dan tanda titik kedua menunjukkan Subbidang Usaha.. 3) Dua angka yang diapit antara tanda titik kedua dan tanda

Kemudian dilanjutkan dengan bab II yang membahas mengenai landasan teori terkait kajian penelitian yang dilakukan, yaitu: manajemen pemasaran pendidikan inklusif