Anda di halaman 1dari 5

Ternyata saya lebih suka menggunakan gambar (berupa blok diagram atau sejenis) untuk membantu saya dalam

memahami sesuatu. Salah satunya adalah untuk memahami perbedaan konsep antara aplikasi web konvensional, web semantic dan web service. Di artikel ini saya mencoba untuk mendefinisikan antara ketiga istilah tersebut menurut apa yang saya pahami. Jelas sekali, membutuhkan masukan dari rekan-rekan lain untuk lebih menyempurnakan blok diagram saya ini. Pada prinsipnya ketiga istilah teknologi tersebut dasarnya adalah memecah peran/fungsi proses/aplikasi menjadi 3 bagian yang masing-masing dapat dijalankan pada satu mesin yang sama atau berbeda mesin yang terhubung dalam satu jaringan dan protokol yang sama. Aplikasi web, yang mungkin sering kita dengar sebagai penyatuan PHP, MySQL dan Apache, atau arsitektur J2EE, atau ASP.net, SQLServer, dan IIS, atau yang lain adalah sebuah aplikasi yang berjalan di sebuah web server yang dapat menerima permintaan dan memprosesnya (dengan atau tanpa akses database) untuk mengembalikan dokumen berupa HTML/CSS/JavaScript ke peminta (dalam hal ini kita sering menggunakan web Browser). Aplikasi ini saya sebut sebagai aplikasi web konvensional yang dapat ditunjukkan pada gambar 1.

Gambar 1. Blok Diagram Aplikasi Web Konvensional Pada aplikasi web konvensional, antara data dan presentasi merupakan sebuah satu blok. Dan di sini biasanya dibubuhkan kode JavaScript (AJAX) atau XUL atau sejenisnya untuk dapat memberikan interaksi yang lebih baik kepada pemakai. Tapi sekali lagi, ini tetap menggabungkan antara dokumen dan data. Jika ada suatu aplikasi lain di luar penyedia layanan aplikasi web ini, ingin mengambil data yang ada dalam dokumen tentu akan sangat kesulitan. Lalu kemudian muncul sebuah konsep yang ingin memisahkan antara dokumen dan data (termasuk metadata) agar dapat memudahkan dalam berinteraksi dengan sistem aplikasi lain di luar domainnya. Konsep Web Semantic pada intinya adalah memberikan kemudahan untuk menyambung dan atau mempertukarkan data antar aplikasi web satu dengan aplikasi web lain. Dengan adanya kemudahan dan kesatuan ini, maka kita dapat membuat aplikasi yang lebih cerdas daripada aplikasi web konvensional. Saya menggambarkan seperti pada gambar 2.

Gambar 2. Blok Diagaram Aplikasi Web Semantic Untuk penyediaan data, W3C telah menetapkan format baku, yaitu RDF, RSS, ATOM, GRDDL atau FoF. Ketiganya dapat kita gunakan untuk menstrukturkan data dari data yang melekatkan pada dokumen agar mudah untuk di baca oleh mesin. Data ini dapat kita rancang sebagai sebuah data yang tersebar, baik secara tereplikasi, horizontal ataupun vertical partition bahkan cell partition. Dengan konsep Web Semantic, kita dimungkinkan untuk membuat sebuah aplikasi yang lebih cerdas untuk membaca data-data yang ada secara realtime dan online untuk kita olah dan mungkin kita masukkan ke dalam sebuah mesin inferensi dengan menggunakan OWL sebagai representasi pengetahuan ontologi kita. Badan W3C juga telah menyediakan sebuah spesifikasi query terhadap RDF-RDF yang ada, yang disebut dengan SPARQL. Wah banyak sekali ya yang harus dipelajari! Perkembangan konsep web semantic ini juga dibarengi dengan konsep teknologi Web Service yang mulai mengarah pada konsep baru cloud computing misalnya. Untuk menyediakan Web Service ini, tentu kita akan menyediakan sebuah antarmuka untuk layanan kita yang dapat dijadikan sebagai dasar bagi para pemakai lain untuk meminta layanan kita. Antarmuka ini biasanya kita tulis dengan WSDL. Berdasar WSDL ini kita dapat membangun aplikasi implementasinya dengan bahasa pemrograman yang kita suka dan yang mendukung tentu saja. Web service ini dapat diakses melalui beberapa basis protokol, misal HTTP, FTP, atau SMTP. Sedangkan untuk format pengaksesan dapat menggunakan protokol SOAP, XML-RPC ataupun REST. Untuk sebuah Web Service ini, saya mencoba menggambarkannya seperti pada gambar 3.

Gambar 3. Blok Diagram Web Service Dengan adanya Web Semantic dan Web Service ini kita dapat membangun sebuah mashup application, yaitu sebuah aplikasi yang menggabungkan data dan layanan yang lain ke dalam satu aplikasi. Contoh yang sangat baik tentang hal ini adalah bagaimana kita membuat aplikasi informasi berdasar lokasi yang kita ambil dari Google Map sekaligus juga dapat menampilkan buku-buku dari layanan Amazon terkait dengan informasi yang kita sajikan tersebut. Menarik bukan.

Evolusi Aplikasi Web


Masih ingatkah Anda dengan pengalaman pertama saat melakukan browsing di dunia maya (internet)? Saya sendiri melakukan browsing perdana kalau tidak salah pada awal tahun 90-an. Pada saat itu dunia internet sangatlah berbeda dengan sekarang. Gambar di samping ini adalah screenshot dari situs web Yahoo pada tahun 1996. Saat ini, bagi sebagian orang mungkin situs web tersebut terlihat sangat kuno dan tidak menarik. Pendapat ini cukup dapat dimengerti mengingat situssitus web yang ada sekarang sudah demikian canggih dan menarik. Sebagai pembanding, di bawah ini adalah tampilan situs web Yahoo pada tahun 2007. Tampilan situs tersebut tentunya sangat berbeda dengan situs Yahoo 11 tahun silam bukan? Saat ini, selain menyediakan halaman-halaman statis, sudah sangat banyak situs web yang menyediakan mekanisme bagi pengunjungya untuk dapat berinteraksi dengan situs tersebut. Interaksi tersebut dimungkinkan dengan cara menambahkan kode-kode pemrograman pada web situs web. Halaman-halaman web yang telah ditambahkan kode program (PHP, ASP, JSP, Perl, dsb) biasa dikenal dengan nama web application (aplikasi web). Saat ini terdapat berbagai macam aplikasi web, diantaranya adalah webmail, online shopping, blog, search engine (mesin pencarian), SFA (Sales Force Automation), ERP (Enterprise Resource Planning), online auction (lelang online), dan CRM (Customer Relationship Management). Tentunya masih banyak jenis aplikasi web lainnya yang belum kita sebutkan. Aplikasi-aplikasi web tersebut dapat diakses lewat internet maupun intranet (misal intranet perusahaan). Sebelum kita melanjutkan, ada baiknya kita samakan terlebih dahulu pemahaman kita mengenai definisi dari aplikasi web dan aplikasi desktop. Pada tulisan ini, yang dimaksud aplikasi web adalah aplikasi yang dapat diakses dengan menggunakan web browser lewat jaringan baik internet ataupun intranet (misal intranet perusahaan). Contoh aplikasi web yang banyak

digunakan misalnya Yahoo Mail, GMail, Google search engine, Friendster, YouTube, Flickr, WordPress, dan lain sebagainya. Di sisi lain, yang dimaksud dengan aplikasi desktop pada tulisan ini adalah aplikasi yang dapat digunakan tanpa harus menggunakan web browser. Contoh aplikasi desktop yang biasa kita gunakan diantaranya adalah Microsoft Office, Open Office, Adobe Photoshop, dan Outlook Express. Selama ini mungkin jika kita mendengar istilah aplikasi web maka yang terlintas di benak kita adalah aplikasi yang tersusun dari halaman-halaman web. Untuk berpindah antar halaman tersebut biasanya memakan waktu yang cukup lama (tergantung koneksi jaringan). Saat ini tengah terjadi tren baru dalam aplikasi web. Tren tersebut akan mengubah persepsi kita tentang aplikasi web. Cobalah kita kunjungi beberapa situs web berikut ini: Netvibes, Pageflakes, Google Spreadsheet, Zoho, gOFFICE, dan Zimbra. Berbeda dengan aplikasi web yang biasa kita jumpai, aplikasi-aplikasi web tersebut tidak tersusun atas halamanhalaman web melainkan tersusun atas window-window layaknya aplikasi desktop. Gambar di samping menunjukkan halaman depan dari Netvibes. Tampilan Netvibes sangat berbeda dengan aplikasi web yang biasa kita lihat bukan? Sebagian orang menyebut aplikasi-aplikasi tersebut sebagai Webtop (penggunaan istilah ini memang masih banyak diperdebatkan). Sekarang, secara perlahan-lahan aplikasi web mulai mampu meniru look-and-feel dari aplikasi desktop. Aplikasi-aplikasi yang tadinya hanya tersedia pada versi desktop kini sudah mulai memiliki pesaing yang berupa aplikasi web. Kita tentunya kenal dengan Microsoft Excel. Sekarang Google telah memiliki software spreadsheet sejenis namun kali ini hadir dalam bentuk web. Untuk dapat menggunakan spreadsheet berbasis web tersebut yang kita perlukan hanyalah sebuah web browser (Internet Explorer, Firefox, Opera, ataupun browser lainnya). Kita tak perlu lagi meng-install aplikasi spreadsheet tersebut terlebih dahulu hanya untuk menjalankannya. Cukup dengan mengarahkan browser kita ke http://spreadsheet.google.com maka seketika itu pula aplikasi spreadsheet tersebut dapat digunakan. Sangat mudah bukan? Website-website tersebut membuktikan bahwa saat ini aplikasi web sudah tidak memiliki batas lagi. Kita sudah dapat membuat berbagai aplikasi berat yang dahulu menjadi dominasi aplikasi desktop. Tidak menutup kemungkinan di masa akan datang akan tersedia versi web dari aplikasiaplikasi seperti Adobe Photoshop ataupun Autocad (tentunya tidak dalam waktu dekat). Walaupun demikian, sayangnya untuk dapat membangun aplikasi web yang menyerupai aplikasi desktop bukanlah perkara sederhana. Dibutuhkan usaha yang sangat keras karena developer memiliki tugas ganda. Selain harus membuat kode aplikasi yang akan dibangun (misalnya logic akuntansi), developer juga harus membuat kode-kode untuk meniru tampilan desktop. Sebagian developer melihat permasalahan tersebut dan menyediakan solusinya. Mereka menyediakan berbagai framework dan library yang dapat digunakan untuk membangun aplikasi webtop. Solusi tersebut terbukti dapat mempercepat pembangunan aplikasi.

Kini sebagian developer bahkan melakukan terobosan lebih jauh lagi. Mereka menyediakan solusi yang dinamakan WebOS. Secara teknis, WebOS adalah sebuah desktop environment yang berjalan di atas web. WebOS dapat diartikan sebagai sistem operasi yang berjalan di atas web browser. Tentunya, WebOS bukanlah sebuah sistem operasi yang sebenarnya. WebOS hanyalah meniru tampilan, look-and-feel, dan beberapa fitur yang biasanya ditemukan pada sebuah sistem operasi. WebOS terbukti dapat membuat pembangunan aplikasi web menjadi jauh lebih cepat. Pada tulisan mendatang, kita akan membahas lebih jauh mengenai apa itu WebOS.

Menjaga Keamanan Aplikasi Web


Posted on 30/12/2010

Mengamankan aplikasi web memang tidak mudah, dibutuhkan kesadaran keamanan pada semua tingkatan dalam perusahaan, mulai dari pengembang, eksekutif, sampai pengguna. Kegagalan dalam mengamankan aplikasi web memiliki konsekuensi serius seperti kerugian finansial atau bocornya informasi dan dapat mengakibatkan kerugian signifikan bagi perusahaan. Industri aplikasi berbasis web membutuhkan kesadaran lebih tentang pentingnya menjaga keamanan aplikasi web. Sebab, kegagalan dalam mengamankan bisa berakibat fatal. Pengamanan aplikasi Web seperti Internet Banking, e-government, adalah instrumen yang sangat penting. Pengembang aplikasi Web perlu mendapatkan pengembangan teknologi keamanan pada apa yang mereka bangun.

Anda mungkin juga menyukai