PENDAHULUAN
Dengan
perkembangan yang pesat pada teknologi komunikasi dan informasi, operator
seluler, perusahaan, maupun organisasi nirlaba, seperti pemerintah dan
institusi pendidikan dapat menyediakan berbagai macam layanan kepada
pelanggannya atau masyarakat secara umum. Saat ini telah terdapat banyak
layanan yang dapat diakses dari mobile device, misalnya untuk mengetahui hasil
pertandingan sepak bola, berita, download ringtone, game, gambar, dan
sebagainya. Layanan-layanan mobile ini pada awalnya berupa aplikasi
browserbased, dimana mobile device mengakses informasi di Internet melalui
aplikasi microbrowser dan memanfaatkan WAP (Wireless Application Protocol).
Dikenalkannya teknologi pemrograman aplikasi pada mobile device seperti Java
Micro Edition (Java ME), khususnya Mobile Information Device Profile (MIDP),
Microsoft .NET Compact Framework, dan Symbian C++ membuat mobile device dapat
mengakses informas melalui aplikasi yang langsung memanfaatkan Hypertext
Transfer Protocol (HTTP) dan koneksi General Packet Radio System (GPRS). Dengan
teknologi-teknologi ini dapat dibuat aplikasi client pada mobile device yang
dapat mengakses layanan mobile.
Teknologi
pemrograman pada web dan Internet dalam beberapa tahun terakhir ini juga
berkembang dengan pesat. Salah satunya adalah dikenalkannya Web service.
Menurut W3C, Web service merupakan suatu software sistem yang mendukung
interaksi yang interoperable dari machine to machine melalui jaringan (World
World Wide Consortium). Saat ini di Indonesia bertumbuh bisnis aplikasi mobile
dan layanan mobile content, tetapi umumnya layanan ini adalah bisnis milik
perusahaan swasta. Dalam bidang pendidikan, universitas atau institusi
pendidikan juga dapat menyediakan layanan mobile untuk mahasiswanya. Salah satu
contohnya adalah layanan mobile Sistem Informasi Akademik, yang dapat
memberikan informasi kepada kepada mahasiswa mengenai nilai matakuliah, indeks
prestasi, dan informasi lainnya. Sistem Informasi Akademik bukan merupakan
suatu hal yang baru, hampir semua institusi pendidikan telah memanfaatkan
komputer dan Internet untuk proses registrasi matakuliah, pendaftaran mahasiswa
baru, hingga e-learning. Walaupun Sistem Informasi Akademik telah menjadi hal
yang biasa dalam institusi pendidikan, tetapi umumnya memiliki format tampilan
yang kurang cocok jika diakses menggunakan mobile device low-end, karena itu
agar Sistem Informasi Akademik dapat diakses dari mobile device, dikembangkan
Sistem Informasi Akademik menggunakan teknologi WAP.
Selain
itu dikembangkan juga aplikasi mobile menggunakan Java ME untuk mengakses
Sistem Informasi
Akademik
dari mobile device langsung dengan protokol HTTP, jadi tidak menggunakan WAP
dan WAP
Gateway
sebagai perantara. Dengan adanya teknologi Web service, dimana Web service juga
dapat diakses melalui mobile device, maka dapat dikembangkan Web service untuk
layanan mobile Sistem Informasi Akademik. Penelitian yang ada sebelumnya
(Utomo, 2005a dan Utomo, 2005b) telah menunjukkan pengembangan Web service
untuk mengembalikan daftar mahasiswa, dengan parameter input total SKS yang
telah ditempuh dan indeks prestasi kumulatif. Pada kedua penelitian tersebut,
Web service dikembangkan menggunakan teknologi .NET dan client dari Web service
adalah komputer dengan browser Microsoft Internet Explorer.
KAJIAN PUSTAKA
Beberapa
hal yang dikaji dalam bagian ini adalah Java ME, Web service, dan WSA.
2.1. JAVA ME
Java
ME merupakan bagian teknologi Java yang ditujukan untuk consumer dan embedded
device. Arsitektur Java ME mendefinisikan configuration, profile, dan optional
package yang membentuk Java Runtime Environment (JRE) untuk mobile information
device (MID). Configuration mendefinisikan dasar dari J2ME runtime environment,
terdiri dari virtual machine dan class library yang merupakan kumpulan API untuk
menyediakan fungsi-fungsi dasar, seperti network connectivity dan memory
footprint untuk kelompok device tertentu. Untuk mobile phone, configuration
yang digunakan adalah Connected Limited Device Configuration (CLDC). Profile
merupakan perluasan dari Configuration. Profile mendefinisikan higher-level API
untuk application domain yang lebih spesifik. Profile yang digunakan untuk
pengembangan aplikasi pada mobile phone adalah Mobile Information Device
Profile (MIDP) (Sun Microsystems, 2001). Mobile Informatio Device Profile (MIDP) merupakan profile CLDC
yang menyediakan fitur untuk membuat User Inferface (UI), fungsi Multimedia dan
Game, Konektivitas ke jaringan dengan HyperText Transfer Protocol (HTTP),
HTTPS, datagram, socket, server socket dan komunikasi dengan serial port (Sun
Microsystems, 2001).
Selain
package dan class yang disediakan oleh Configuration dan Profile, Java ME dapat
juga menggunakan package yang disediakan untuk kebutuhan yang lebih spesifik.
Package opsional menyediakan beberapa API yang dispesifikasikan dalam Java
Specification Request (JSR) oleh JCP. WSA merupakan optional package, yang
dispesifikasikan pada JSR-172 (Ellis dan Young, 2003). Aplikasi Java ME
(CLDC/MIDP) dikenal dengan sebutan MIDlet.
2.2. WEB SERVICE DAN WSA
Web
service mendefinisikan suatu fungsi tertentu yang dapat diakses oleh aplikasi
yang lain melalui Internet dengan menggunakan protokol-protokol yang menjadi
standard Internet, yaitu (Sun Microsystems, 2004):
·
eXtensible Markup Language (XML), merupakan
markup language untuk dokumen, bersifat
portable.
Digunakan untuk mendeskripsikan konfigurasi dan informasi mengenai sistem yang
dapat
dipertukarkan
antar aplikasi. SOAP dan WSDL ditulis menggunakan XML
·
Remote Procedure Call (RPC), merupakan
protocol yang memungkinkan pertukaran data di antara
sistem-sistem
yang berbeda melalui network/Internet.
·
Web Services Description Language (WSDL),
merupakan protokol berbasis XML yang digunakan
untuk
mendeskripsikan suatu Web service dan memfasilitasi application-to-application
communication.
Suatu file WSDL mendeskripsikan apa yang dilakukan oleh service, bagaimana
untuk
memanggil (invoke) operasi dari service, dimana service tersebut dapat
ditemukan dalam
jaringan/Internet,
dan interface-interface-nya.
·
Simple Object Access Protocol (SOAP),
merupakan protokol berbasis XML yang menyediakan
envelope
untuk pertukaran obyek/data di Internet. SOAP menggunakan HTTP untuk mekanisme
transportnya.
Dengan
Web service, maka aplikasi dapat diakses oleh berbagai macam client,
independent terhadap platform dimana Web service tersebut di-publish. Jika
suatu Web service telah di-publish, maka untuk
menggunakannya,
client harus mencari Web service tersebut. Umumnya menggunakan suatu network
registry,
yaitu Universal Description, Discovery and Integration (UDDI).
WSA
merupakan optional package Java ME untuk mendukung Web service dan parsing XML.
WSA
mempunyai
dua package yaitu Java API for XML Processing (JAXP) yang menyediakan fasilitas
XML
parsing,
dan Java API for XML-based RPC (JAX-RPC) yang menyediakan fasilitas remote
service
invocation.
WSA JAXP merupakan subset dari Simple API for XML Parsing version 2 (SAX2),
sedangkan
WSA
JAX-RPC merupakan subset dari JAX-RPC milik Java SE (Standard Edition).
Aplikasi client pada
mobile
device menggunakan JAXP subset API untuk menangani dokumen XML dan menggunakan
JAXRPC
subset
API untuk mengkonsumsi (consume) Web service. JAX-RPC subset mempunyai dua
bagian,
yaitu:
·
Stub,
merupakan client-side proxy yang akan dipanggil oleh aplikasi untuk melakukan
koneksi ke
Web
service. Stub ini dihasilkan oleh Stub Generator berdasarkan file WSDL dari Web
service.
·
Runtime dan Service Provider Interface
(SPI), digunakan oleh Stub untuk koneksi ke Web service.
Pada
mobile device, biasanya aplikasi dan stub berada pada memori dari device,
sedangkan bagian yang lain (Runtime, SPI, profile, dan configuration) berada
(embedded) pada device (Ortis, 2004). Hubungan antara aplikasi, WSA, serta MIDP
dan CLDC ditunjukkan pada Gambar 1:
Secara
umum arsitektur pengaksesan Web service dari mobile device mempunyai tiga
elemen:
·
Aplikasi yang akan menggunakan/mengkonsumsi
web service pada mobile device. Aplikasi ini mempunyai WSA stub yang
menggunakan WSA runtime untuk komunikasi ke jaringan.
·
Jaringan wireless dan Internet,
protokol-protokol pendukung (HTTP, SOAP), XML.
·
Web server yang bertindak sebagai service
producer. Umumnya web server ini berhubungan dengan database server atau server
aplikasi lainnya.
·
Versi
dari WSA saat ini adalah versi 1.0 dan dispesifikasikan melalui JSR-172. WSA
1.0 hanya mendukung pengaksesan/pemanfaatan Web service. Hal ini berarti suatu
mobile device Java ME dapat menjadi service consumer, tetapi bukan service
producer, dan tidak mendukung pembuatan dan deployment service endpoint. WSA juga
tidak menentukan Application Programming Interface (API) untuk service
discovery menggunakan UDDI (Rendon, 2005).
3. PENGEMBANGAN SISTEM
Teknologi
yang digunakan untuk implementasi Web service adalah J2EE 1.4, dimana teknologi
Web servicenya
menggunakan
JAX-RPC 1.1. Aplikasi pada sisi client yang akan digunakan sebagai contoh untuk
mengakses
Web service yang dibuat, merupakan sebuah aplikasi mobile yang
diimplementasikan
menggunakan
teknologi Java ME dan WSA. Mobile device yang digunakan adalah telepon seluler
yang
mendukung
MIDP versi 2.0 dan WSA versi 1.0. Arsitektur sistem dapat dilihat pada Gambar
2. Metode yang digunakan untuk mengembangkan sistem ini mengikuti
langkah-langkah pada System Development Life Cycle (SDLC), yaitu Analisis Kebutuhan
Sistem, Desain Sistem, Implementasi Sistem, dan Pengujian
Sistem.
Untuk pemodelannya digunakan pemodelan berorientasi obyek menggunakan Unified
Modeling
Language
(UML).
Cara
kerja sistem dapat dijelaskan sebagai berikut. User menjalankan aplikasi client
pada mobile device,
aplikasi
client kemudian akan memanggil metode pada Web service yang sesuai dengan
permintaan user.Web service mengembalikan data yang diminta, dan aplikasi
client akan menampilkan data tersebut pada user. Aplikasi client dapat
mangkonsumsi atau memanggil metode dari Web service setelah memperoleh file
WSDL dari Web service. Informasi dari WSDL ini digunakan oleh Stub Generator
untuk membuat stub. Aplikasi kemudian memanggil stub untuk melakukan koneksi dan
memanggil metode pada Web service.
Model
penggunaan Web service di sini adalah RPC (Remote Procedure Call), dimana
metode pada Web
service
dipanggil seperti memanggil suatu prosedur. Saat aplikasi client memanggil
metode pada Web
service,
aplikasi client mengirimkan parameter yang dibutuhkan oleh metode yang
dipanggil dalam bentuk SOAP Request (dalam format XML). Aplikasi server
kemudian akan mengirimkan data kembali ke client dalam suatu SOAP Response
(dalam format XML). Aplikasi client akan melakukan pemrosesan yang dibutuhkan
terhadap SOAP Response ini (menggunakan JAXP) dan menampilkan hasilnya pada
user.
3.1. SPESIFIKASI SISTEM
Sistem
ini mempunyai batasan dan spesifikasi sebagai berikut :
·
Informasi
yang diberikan dibatasi pada informasi nilai suatu matakuliah, indeks prestasi
semester,
dan
indeks prestasi kumulatif.
·
Aplikasi pada sisi client menggunakan Java
ME dan WSA.
·
Aplikasi
sisi server menggunakan teknologi J2EE 1.4.
·
Server
yang digunakan adalah Sun Java Application Server (SJAS).
·
Database
dibuat menggunakan MySQL
3.2. DESAIN DAN IMPLEMENTASI
SISTEM
Diagram
use case dari sistem dapat dilihat pada Gambar 3.
3.2.1.
PERANCANGAN WEB SERVICE
Web
service yang dirancang mempunyai metode-metode sebagai berikut:
Berikut
ini merupakan potongan kode untuk metode getNilaiByMatakuliah(String
idMahasiswa,
String idMatakuliah)
public
String getNilaiByMatakuliah(String idMahasiswa, String idMatakuliah)
throws
java.rmi.RemoteException {
DataGrabber
dg = new DataGrabber();
String
str = dg.getNilaiByMatakuliah(idMahasiswa, idMatakuliah);
return
str;
}
Aplikasi
pada sisi server terdiri dari enam kelas dan satu interface. Diagram kelas dari
aplikasi sisi server
ditunjukkan
pada Gambar 4. Diagram kelas yang ditunjukkan pada gambar hanya memuat atribut
dan metode yang digunakan oleh aplikasi, jadi tidak semua atribut dan metode
ditunjukkan.
3.2.2. PERANCANGAN APLIKASI CLIENT
Aplikasi
client terdiri dari tujuh kelas dan satu interface sebagai berikut:
·
GetIPKumulatif
·
GetIPKumulatifResponse
·
GetIPTrimester
·
GetIPTrimesterResponse
·
GetNilaiByMatakuliah
·
GetNilaiByMatakuliahResponse
·
SIAWebServiceSEI
(interface)
·
SIAWebServiceSEI_Stub
·
SIASATWebServiceMIDlet
Enam
kelas yang pertama merupakan kelas pendukung untuk pemanggilan metode dan
memproses hasil dari Web service. Interface SIAWebServiceSEI merupakan
interface berisi metode-metode yang akan
diimplementasikan
oleh SIAWebService_Stub untuk melakukan pemanggilan
metode pada Web service.
SIAWebService_Stub
merupakan stub yang dihasilkan oleh Stub Generator. Kelas utama
dalam aplikasi
client,
adalah SIASATWebServiceMIDlet. Kelas inilah
yang membuat instance dari stub dan kemudian
menggunakan
instance dari stub untuk melakukan pemanggilan metode pada Web service. Flow
diagram dari aplikasi client ditunjukkan pada Gambar 5.
3.3. PENGUJIAN SISTEM
Pengujian
sistem ini dilakukan dengan cara:
·
Melakukan pengambilan file WSDL melalui
browser pada komputer.
·
Pemanggilan
metode pada Web service dengan aplikasi selain aplikasi client Java ME, yaitu StrikeIron
Web Service Analyzer (aplikasi client pada komputer)
·
Pemanggilan
metode pada Web service dangan aplikasi client Java ME.
Hasil
dari pengujian menggunakan aplikasi pada komputer dan aplikasi pada mobile
device akan
dibandingkan
apakah menghasilkan response yang sama atau tidak.
4. HASIL DAN PEMBAHASAN
Hasil
pengujian pengambilan file WSDL ditunjukkan pada Gambar 6.
Pengujian
pemanggilan metode pada Web service menggunakan aplikasi biasa pada komputer
ditunjukkan pada Gambar 7, 8, dan 9. SOAP Request dan SOAP Response dalam
pemanggilan metode
getNilaiByMatakuliah()
dapat dilihat pada Gambar 10 dan 11.
Pengujian
pemanggilan metode getIPKumulatif() pada Web service dari client Java ME
ditunjukkan
pada Gambar 12.
pada Gambar 12.
Hasil
pengujian Web service ditunjukkan pada Tabel 2.
Berdasarkan
hasil pengujian terhadap Web service yang dibuat dan aplikasi client, dapat
dilihat bahwa Web service yang dibuat dapat berjalan dengan baik dan dapat
diakses oleh aplikasi client, baik aplikasi client pada komputer (StrikeIron
Web Service Analyzer) maupun aplikasi client pada mobile device yang dibuat
menggunakan Java ME dan WSA. Hasil yang diperoleh dari pengujian menggunakan
aplikasi client pada komputer dan aplikasi client pada mobile device
mengembalikan hasil yang sama untuk pemanggilan metode pada Web service (dengan
parameter yang sama).
DAFTAR PUSTAKA
Ellis,
John dan Young, Mark, 2003, J2ME Web Service 1.0, Available from:
http://www.jcp.org.
Ortis,
Enrique, 2004, Introduction to J2ME Web Services, Available from:
http://developers.sun.com/techtopics/mobility/apis/articles/wsa/index.html.
Rendon,
Oscar, 2005, Architectures for Web Services Access from Mobile Devices, IEEE
Proceedings of the
Third
American Web Congress.
Stencil
Group, Defining Web Services, Available from:
http://whitepapers.sdnet.co.ok/0,39025945,60020104p-39000468q,00.htm
Sun
Microsystems, 2001, Java 2 Platform, Micro Edition Data Sheet, Available from:
http://java.sun.com/j2me/j2me-ds.pdf.
Sun
Microsystems, 2004, Java 2 Platform, Micro Edition Web Services, Santa Clara,
California, USA.
Sun
Microsystems, 2001, Mobile Information Device Profile Data Sheet, Available
from:
http://java.sun.com/products/midp/midp-ds.pdf.
Utomo,
Wiranto Herry, 2005a, Prototyping Sistem Informasi Eksekutif Perguruan Tinggi
Bidang Akademik
menggunakan
Web Service, Aiti Jurnal Teknologi Informasi Vol. 2 No. 2, Fakultas Teknologi
Informasi
Universitas Kristen Satya Wacana, Salatiga, Agustus 2005.
Utomo,
Wiranto Herry, 2005b, Prototyping Web Service untuk E-Service (Studi Kasus:
Rental Software
Sistem
Informasi Akademik), PAKAR Jurnal Teknologi Informasi dan Bisnis Vol. 6, No. 2,
Fakultas
Teknologi
Informasi, Universitas Teknologi Yogyakarta, Agustus 2005.
World
World Wide Consortium, Web Service, Available from: http://www.w3c.org
Tidak ada komentar:
Posting Komentar