Senin, 23 Februari 2015

Web Service

Apa itu Web Service?
 
  Web service merupakan suatu komponen software yang merupakan selfcontaining, aplikasi modular self-describing yang dapat dipublikasikan, dialokasikan, dan dilaksanakan pada web (wahli dkk, 2006).
  Web service adalah teknologi yang mengubah kemampuan internet dengan menambahkan kemampuan transactional web, yaitu kemampuan web untuk saling berkomunikasi dengan pola program-to-program (P2P). Fokus web selama ini didominasi oleh komunikasi program-to-user dengan interaksi business-toconsumer (B2C), sedangkan transactional web akan didominasi oleh program-toprogram dengan interaksi business-to-business (Gottschalk, 2002).
Komponen web service yang mana menyediakan fasilitas komunikasi jarak jauh antara dua aplikasi yang merupakan layer arsitektur web service (Tidwell,2001).
  Komponen web service yang mana menyediakan fasilitas komunikasi jarak jauh antara dua aplikasi yang merupakan layer arsitektur web service (Tidwell,2001).
  • Layer 1 : protokol internet standar yang digunakan sebagai sarana transportasi adalah HTTP dan TCP/IP.
  • Layer 2 : Simple Object Access Protocol (SOAP) berbasiskan XML dan digunakan untuk pertukaran informasi antar sekelompok layanan.
  •  Layer 3 : Web Service Definition Language (WSDL) digunakan untuk mendiskripsikan attribute layanan.
  • Layer 4 : Universal Description, Discovery and Integration, yang mana merupakan direktori pusat untuk deskripsi layanan.
1.1 Jenis Layer Web Service
Web service dibangun di atas beberapa teknologi web, Seperti:
A. XML (Extended Markup Language)
  XML merupakan dasar terbentuknya web service yang digunakan untuk mendeskripsikan data. Pada level paling detail web service secara keseluruhan dibentuk diatas XML. Fungsi utama dari XML adalah komunikasi antar aplikasi, integrasi data, dan komunikasi aplikasi eksternal dengan partner luaran. Dengan standarisasi XML, aplikasi-aplikasi yang berbeda dapat dengan mudah berkomunikasi antar satu dengan yang lain.
 
B. SOAP (Simple Object Access Protocol)
  SOAP merupakan protokol untuk pertukaran informasi dengan desentralisasi dan terdistribusi. SOAP merupakan gabungan antara HTTP dengan XML karena SOAP umumnya menggunakan protocol HTTP sebagai sarana transport datanya dan data akan dipertukarkan ditulis dalam format XML. Karena SOAP mengunakan HTTP dan XML maka SOAP memungkinkan pihak-pihak yang mempunyai platform, sistem operasi dan perangkat lunak yang berbeda dapat saling mempertukarkan datanya. SOAP mengatur bagaimana request dan respon dari suatu web service bekerja.
 
C. WSDL (Web Services Description Language)
  WSDL merupakan sebuah bahasa berbasis XML yang digunakan untuk mendefinisikan web service dan menggambarkan bagaimana cara untuk mengakses web service tersebut. Fungsi utama WSDL dalam web service adalah untuk mengotomasi mekanisme komunikasi business-to-business dalam web service melalui protokol internet. WSDL merupakan representasi kontrak antara requestor dan providernya. Secara teknis merupakan representasi kontrak antara kode klien dan kode di server. Dengan menggunakan WSDL klien dapat memanfaatkan fungsi-fungsi publik yang disediakan oleh server.

D. UDDI (Universal Description, Discovery and Integration)
  UDDI adalah sebuah service registry bagi pengalokasian web service. UDDI mengkombinasikan SOAP dan WSDL untuk pembentukan sebuah registry API bagi pendaftaran dan pengenalan service. Ia menyediakan sebuah area umum dimana sebuah organisasi dapat mengiklankan keberadaan mereka dan service yang diberikan (web service).

  Web Service di terapkan pada Web Api REST architecture,representational state transfer (REST) adalah salah satu rancang bangun arsitektural sistem web service. REST merupakan salah satu model design rancang bangun web service selain SOAP dan WSDL. REST mulai berkembang pesat karena sistemnya yang lebih sederhana daripada SOAP dan WSDL. Sisi sederhana dari REST yang membuat menarik adalah REST dapat dibangun dengan sedikit tools . Selain itu untuk melakukan testing terhadap REST service dapat dilakukan secara sederhana pada web browser tanpa harus melakukan simulasi client – server. Web API merupakan sebuah perkembangan dalam web service yang menggunakan REST sebagai dasar arsitekturnya. 
  Web Services seringkali dikaitkan atau bahkan disamakan dengan SOA. Namun sebenarnya keduanya adalah hal yang sangat berbeda. SOA adalah sebuah konsep untuk pengembangan perangkat lunak, sementara Web Services adalah sebuah aplikasi web yang berinteraksi dengan aplikasi web lainnya untuk pertukaran data. Pembangunan SOA tidak harus menggunakan Web Services, sebab ada bermacam-macam teknologi lain yang memungkinkan, tapi menggunakan Web Services untuk membangun sebuah sistem SOA adalah langkah yang baik.


Gambar 1.2 Penjelasan Web Service

Perbedaan antara Web Service dengan SOA dapat di lihat dalam gambar di bawah ini :

Gambar 1.3 Perbedaan Web Service dengan SOA



Source:
Gottschalk, K., 2002, Introduction to Web services architecture, http:// www.research. ibm.com/journal/sj/412/gottschalk.pdf
Tidwell, D., 2001, Web Services: The Web’s next Revolution, http:// www6.software.ibm.com/developerworks/education/wsbasics/wsbasicsa4. Pdf


Web Services seringkali dikaitkan atau bahkan disamakan dengan SOA. Namun sebenarnya keduanya adalah hal yang sangat berbeda. SOA adalah sebuah konsep untuk pengembangan perangkat lunak, sementara Web Services adalah sebuah aplikasi web yang berinteraksi dengan aplikasi web lainnya untuk pertukaran data. Pembangunan SOA tidak harus menggunakan Web Services, sebab ada bermacam-macam teknologi lain yang memungkinkan, tapi menggunakan Web Services untuk membangun sebuah sistem SOA adalah langkah yang baik.

Copy and WIN : http://bit.ly/copynwin
 
Web Services seringkali dikaitkan atau bahkan disamakan dengan SOA. Namun sebenarnya keduanya adalah hal yang sangat berbeda. SOA adalah sebuah konsep untuk pengembangan perangkat lunak, sementara Web Services adalah sebuah aplikasi web yang berinteraksi dengan aplikasi web lainnya untuk pertukaran data. Pembangunan SOA tidak harus menggunakan Web Services, sebab ada bermacam-macam teknologi lain yang memungkinkan, tapi menggunakan Web Services untuk membangun sebuah sistem SOA adalah langkah yang baik.

Copy and WIN : http://bit.ly/copynwin

SOA ( Service Oriented Architecture)

SOA
SOA atau Service Oriented Architecture adalah sebuah arsitektur kerangka kerja berbasis standar terbuka yang memungkinkan perusahaan-perusahaan untuk saling mengintegrasikan data yang sebelumnya hanya tersimpan rapat di markas para pelanggan, mitra, atau pemasok.Dengan kata lain,SOA merupakan arsitektur yang mendukung integrasi bisnis sebagai layanan yang terhubung dan menjadi jalan menuju inovasi.(SOA juga menjadi strategi bisnis berbasis teknologi dan hasil evolusi untuk mengintegrasi berbagai sumber informasi dari sumber kode atau platform yang berbeda-beda).



SOA adalah suatu aplikasi dibangun secara modular. Sebenarnya pendekatan modular ini bukanlah sesuatu yang baru. Teknik - teknik pemrograman masa kini seperti object oriented programming, telah mengedepankan pendekatan modular dalam pembangunan aplikasi. Namun yang membuat SOA berbeda adalah komponen atau service tersebut dibangun dan berinteraksi satu sama lain secara bebas dan lepas (loose coupled). Dengan bersifat loose coupled, sebuah service dapat di-panggil oleh program/service lainnya tanpa program pemanggil tersebut perlu memperhatikan di mana lokasi service yang dipanggil berada dan platform/teknologi apa yang digunakan oleh service tersebut. Loose coupling sangat penting bagi SOA karena dengan demikian pemanggilan sebuah service oleh service lainnya dapat dilakukan pada saat run-time.



Service Oriented Architecture (SOA) adalah sebuah permodelan perangkat lunak yang dibangun dengan pendekatan service oriented. Service oriented sendiri merupakan sebuah pendekatan yang memiliki visi ideal di mana setiap resource dari perangkat lunak terpartisi secara bersih satu sama lain. Setiap resource ini disebut dengan service. Service ini merepresentasikan sebuah business logic atau automation logic dalam sebuah sistem besar. Setiap service memiliki otonomi sendiri yang membuatnya tidak tergantung satu sama lain. Setiap service dapat berkomunikasi satu sama lain melalui sebuah protokol yang sudah terstandardisasi sehingga memudahkan untuk melakukan integrasi service baru dan penyusunan ulang kumpulan service disebabkan proses bisnis yang berubah.

 Bagaimana cara kerja SOA?


Inovasi membutuhkan perubahan dan SOA memudahkannya.SOA bekerja seperti charger untuk semua fungsi, atau dengan kata lain SOA membangun interface yang bisa diakses oleh berbagai macam software. Selama ini, sebuah software dibangun dengan cara mengikat data dan alat pemrosesnya dalam satu rangkaian. Tentu saja, semakin banyak software yang dibutuhkan akan membuat perusahaan mengeluarkan uang dan tenaga lebih banyak lagi. Demikian pula dengan semakin banyaknya lalulintas data antar software tersebut yang secara otomatis akan meningkatkan ongkos perusahaan. Teknologi SOA bertugas untuk meringankan masalah tersebut dengan cara mengurangi hambatan integralisasi.
SOA memiliki kelebihan seperti:
  1. Dapat menyatukan berbagai sistem yang memiliki platform berbeda, seperti J2EE dan .NET. sebab dengan pendekatan ini, yang pengembang akan memilih untuk membangun sebuah layer di atas sistem – sistem tersebut yang dapat saling berkomunikasi dengan pesan yang sudah distandardisasi, misalnya menggunakan teknologi XML. Dalam sudut pandang SOA, kedua sistem itu masing-masingnya akan dianggap sebagai service.
  2. Tahan terhadap perubahan. Perusahaan atau organisasi besar seringkali berubah struktur untuk meningkatkan efisiensi dan kinerja. Akibatnya, perangkat lunak juga terkena imbas untuk menyesuaikan diri terhadap proses bisnis yang baru. Permodelan perangkat lunak dengan SOA akan mengurangi effort untuk modifikasi perangkat lunak tersebut. Sebab, karena seluruh logic dari sistem sudah terpartisi secara bersih menjadi sekumpulan services, kita hanya perlu menyusun ulang seluruh service tersebut dan jika perlu menambahkan yang baru. Hal ini jelas mengurangi biaya.

Source:
http://cgeduntuksemua.blogspot.com/2012/04/pengertian-service-oriented.html

Senin, 09 Februari 2015

Manfaat XML


XML
XML (eXtensible Markup Language) merupakan bahasa web turunan dari SGML (Standart Generalized Markup Language) yang ada sebelumnya. XML hampir sama dengan HTML, dimana keduanya sama-sama turunan dari SGML. Teknologi XML dikembangkan mulai tahun 1966 dan mendapatkan pengakuan dari Worl Wide Web Consortium (W3C) pada bulan Februari 1998. Sedangkan SGML sendiri telah dikembangkan pada awal tahun 1980-an. Pada saat HTML dikembangkan pada tahun 1990, para penggagas XML mengadopsi bagian paling penting SGML dan dengan berpedoman pada pengembangan HTML menghasilkan bahasa markup yang tidak kalah hebatnya dengan SGML.

Secara sederhana XML adalah suatu bahasa yang digunakan untuk mendeskripsikan dan memanipulasi dokumen secara terstruktur. Secara teknis XML didefinisikan sebagai suatu bahasa meta-markup yang menyediakan format tertentu untuk dokumen-dokumen yang mempunyai data terstruktur. Bahasa markup adalah mekanisme untuk mengenal secara terstruktur di dokumen. XML adalah suatu aplikasi profil dari SGML. Seperti yang didefinisikan dari ISO 8879, SGML adalah cara standart dan vendor-independent.
XML tidak mempunyai definisi secara tepat karena ada yang berpendapat bahwa XML bukanlah suatu bahasa pemrograman,melainkan XML merupakan sintaks yang digunakan untuk menjelaskan bahasa markup lain (Dournaee,2002), sehingga dinamakan meta-language. Meskipun demikian pendapat yang XML bukan merupakan bahasa markup, didasarkan bahwa XML merupakan bahasa markup terpisah untuk tujuan terpisah. Selain itu XML bukanlah solusi semua hal untuk tujuan semua user. Sedangkan peran dari markup itu sendiri berupa:
1. Markup dapat menambah maksud arti (semantic) suatu data.
2. Dapat memisahkan data.
3. Dapat mendefinisikan peran data.
4. Dapat mendefinisikan batasan data.
5. Dapat menfenisikan keterhubungan data.


XML merupakan sebuah himpunan bagian (subset) dari SGML yang bertujuan agar SGML secara generik dapat melayani, menerima, dan memproses di dalam web dengan cara seperti yang dimungkinkan HTML saat ini. XML didesain untuk kemudahan implementasi dan interoperabilitas dengan SGML maupun HTML. XML adalah bahasa markup yang dirancang untuk penyampaian informasi melalui World Wide Web (www) atau sering disebut web saja. (W3C,2000)


XML merubah cara kita berpikir untuk mengembangkan suatu software terutama aplikasi web. Masalah yang kita sekarang adalah bagaimana caranya untuk bertukar informasi antar satu aplikasi dengan aplikasi lain. Kadang kolaborasi antara satu aplikasi dengan aplikasi yang lain masih harus ditentukan dengan spesifikasi aplikasi tersebut. Padahal seharusnya kita hanya perlu mendapatkan informasi data bukan mengerti cara kerja aplikasi lain itu, disinilah visi internet yang belum tercapai. Visi ini adalah dunia internet dimana PC, server, smart devices dan internet-based device dapat berkolaborasi tanpa ada halangan. Bisnis-bisnis akan dapat bertukar data menyediakan customized dan comprehensive solusi kepada customer. Dan yang paling utama adalah informasi yang dibutuhkan dapat diakses dari mana saja dan dengan computing device, platform, atau aplikasi yang kita gunakan. XML dapat memungkinkan pertukaran informasi atau data antar device (server, PCs, smart device, aplikasi, dan situs web). Data ini akan menjadi independent (unlocked), memudahkannya untuk diorganisir, diprogram, dan dirubah, dan ditukar antar situs web atau aplikasi apa saja. Karena kebutuhan ini, maka makin banyak teknologi
berbasis XML yang keluar. Contohnya adalah SOAP (Simple Project Acces Protocol) dan UDDI (Universal Description Discovery and Integration).


Contoh program XML:



  • Sebuah contoh dokumen XML seperti pada contoh dibawah ini dan simpan kedalam file contoh1.xml :

<?xml version="1.0"?>

<product barcode="2394287410">

<manufacturer>Verbatim</manufacturer>

<name>DataLife MF 2HD</name>

<quantity>10</quantity>

<size>3.5"</size>

<color>black</color>

<description>floppy disks</description>

</product>



  • jika dokumen tersebut kita buka menggunakan web browser, maka tampak seperti gambar dibawah ni :


  • Dokumen diatas menjelaskan sebuah data produk yang ada pada suatu supermarket. Produk tersebut memiliki kode barcode= 2394287410,manufacturer=Verbatim, name=DataLife MF 2HD, quantity=10, size=3.5", color=black, description=floppy disks.
Manfaat XML.
1.    Mempermudah pengaturan data.
2.    SEO
SEO atau kepanjangan dari (Search Engine Optimization) adalah suatu cara atau teknik untuk membuat situs atau blog kita berada pada halaman/posisi satu di mesin pencarian (search engine) seperti Google, Bing, dan Yahoo. Search Engine Optimization atau sering di sebut SEO adalah suatu cara atau teknik agar weblog yang kita miliki mempunyai posisi di halaman pencarian google yang bisa meningkatkan trafik rank pada weblog kita. Lebih tinggi nilai SEO weblog berarti besar kemungkinan untuk menempati posisi pertama di pencarian google. Menurut dari beberapa sumber yang sudah di cari pengertian SEO tetap mencakup hal yang sama yang mengoptimalkan suatu halaman weblog agar mempunyai posisi di halaman pencarian google. Istilah search engine optimization pertama kali digunakan pada 26 Juli tahun 1997 oleh sebuah pesan spam yang diposting di Usenet. Pada masa itu algoritma mesin pencari belum terlalu kompleks sehingga mudah dimanipulasi. Versi awal algoritma pencarian didasarkan sepenuhnya pada informasi yang disediakan oleh webmaster melalui meta tag pada kode html situs web mereka. Meta tag menyediakan informasi tentang konten yang terkandung pada suatu halaman web dengan serangkaian kata kunci (keyword). Sebagian webmaster melakukan manipulasi dengan cara menuliskan katakunci yang tidak sesuai dengan konten situs yang sesungguhnya, sehingga mesin pencari salah menempatkan dan memeringkat situs tersebut. Hal ini menyebabkan hasil pencarian menjadi tidak akurat dan menimbulkan kerugian baik bagi mesin pencari maupun bagi pengguna internet yang mengharapkan informasi yang relevan dan berkualitas.

Keuntungan dari SEO

-  Mendatangkan trafik yang banyak
-  Meningkatkn Penjualan Online
-  Meningkatkan Daya Saing

3.    Implementasi pada teknologi.
-          Internet
Interconnection network (internet) adalah sistem global dari seluruh jaringan komputer yang saling terhubung. Internet merupakan jaringan yang terdiri dari milyaran komputer yang ada di seluruh dunia. Internet melibatkan berbagai jenis komputer serta topology jaringan yang berbeda. Dalam mengatur integrasi dan komunikasi jaringan, digunakan standar protokol internet yaitu TCP/IP. TCP bertugas untuk memastikan bahwa semua hubungan bekerja dengan baik, sedangkan IP bertugas untuk mentransmisikan paket data dari satu komputer ke komputer lainya.
-          Website : statis (html/htms) dan dinamis (php)

1. Web Statis
Web statis adalah website yang mana pengguna tidak bisa mengubah konten dari web tersebut secara langsung menggunakan browser. Interaksi yang terjadi antara pengguna dan server hanyalah seputar pemrosesan link saja. Halaman-halaman web tersebut tidak memliki database, data dan informasi yang ada pada web statis tidak berubah-ubah kecuali diubah sintaksnya. Dokumen web yang dikirim kepada client akan sama isinya dengan apa yang ada di web server. Contoh dari web statis adalah web yang berisi profil perusahaan. Di sana hanya ada beberapa halaman saja dan kontennya hampir tidak pernah berubah karena konten langsung diletakan dalam file HTML saja.

2. Web Dinamis
Dalam web dinamis, interaksi yang terjadi antara pengguna dan server sangat kompleks. Seseorang bisa mengubah konten dari halaman tertentu dengan menggunakan browser. Request (permintaan) dari pengguna dapat diproses oleh server yang kemudian ditampilkan dalam isi yang berbeda-beda menurut alur programnya. Halaman-halaman web tersebut memiliki database. Web dinamis, memiliki data dan informasi yang berbeda-beda tergantung input apa yang disampaikan client. Dokumen yang sampai di client akan berbeda dengan dokumen yang ada di web server. Contoh dari web dinamis adalah portal berita dan jejaring sosial. Lihat saja web tersebut, isinya sering diperbaharui (di-update) oleh pemilik atau penggunanya. Bahkan untuk jejaring sosial sangat sering di-update setiap harinya.

Perbedaan Web Statis dan Web Dinamis

-           Interaksi antara pengunjung dan pemilik web
Dalam web statis tidak dimungkinkan terjadinya interaksi antara pengunjung dengan pemilik web. Sementara dalam web dinamis terdapat interaksi antara pengunjung dengan pemilik web seperti memberikan komentar, transaksi online, forum, dll.
-          Bahasa Script yang digunakan
Web statis hanya menggunakan HTML saja, atau paling tidak bisa ditambah dengan CSS. Sedangkan web dinamis menggunakan bahasa pemrograman web yang lebih kompleks seperti PHP, ASP dan JavaScript.
-          Penggunaan Database

Web statis tidak menggunakan database karena tidak ada data yang perlu disimpan dan diproses. Sedangkan web dinamis menggunakan database seperti MySQL, Oracle, dll untuk menyimpan dan memroses data.
-          Konten
Konten dalam web statis hanya diberikan oleh pemilik web dan jarang di-update, sementara konten dalam web dinamis bisa berasal dari pengunjung dan lebih sering di-update. Konten dalam web dinamis bisa diambil dari database sehingga isinya pun bisa berbeda-beda walaupun kita membuka web yang sama.
-          Future internet.

4.    Keamanan Sistem (security).
    Sebagai sebuah markup language, maka dokumen XML tersusun dari kumpulan teks biasa. Sedangkan maksud yang terkandung pada data dijelaskan melalui penanda yang biasa di sebut dengan tag. Dengan menggunakan tag, maka sebuah dokumen XML dapat dengan mudah di baca dan di mengerti oleh user dan bahkan oleh program komputer.

Dengan semakin maraknya dan luasnya penggunaan XML pada berbagai layanan di internet, di mana penyebaran informasinya sebagian besar memakai infrastruktur jaringan umum, maka mulailah muncul hambatan dan permasalahan mengenai kebutuhan akan kemanan data bagi informasi yang terkandung di dalam dokumen XML. Dengan adanya hal ini mengingat bahwa sebuah dokumen XML tersusun dari sekumpulan teks yang sangat mudah di pahami oleh user atau bahkan program komputer.
Berdasarkan kebutuhan tersebut, maka W3C (world wide web consortium) berusaha mengembangkan beberapa spesifikasi tambahan untuk XML. Spesifikasi tersebut di kembangkan untuk memampukan para pengguna untuk menggunakan fasilitas pengamanan data pada sebuah dokumen XML yang akan di distribusikan. Sistem keamanan data yang terdapat pada spesifikasi XML tersebut itu di kenal dengan istilah XML security.
 
Dengan adanya XML security ini dapat menjaga keamanan data informasi bagi pengguna. Di karenakan jika terjadi kerusakan atau data/informasi yang kita punya di ambil atu di hancurkan oleh orang-orang yang tidak bertanggung jawab, maka data akan tetap utuh. Karena pada suatu website yang di lengkapi dengan dokumen XML, biasanya tempat penyimpanan data atau informasi yang di gunakan atau di pake itu ada dua, yaitu database dan XML.

Jika data atau informasi rusak atau hilang, maka akan ada backup data atau informasi yang lainnya yaitu pada penyimpanan di dalam database. Sedangkan data atau informasi yang hilang itu terdapat pada dokumen XML.
Keamanan Data :
Terhadap kebutuhan untuk melakukan transaksi atau komunikasi secara aman pada jaringan internet, teknik- teknik terus di kembangkan pada semua lapisan arsitektur protokol yang di gunakan. Khususnya arsitektur protokol TCP/IP.

Metode yang dikenal untuk dapat menerapkan keamanan pada lapisan aplikasi yaitu antara lain pretty good privacy (PGP) dan secure MIME (S/MIME). Namun kedua metode tersebut memerlukan aplikasi yang mendukung metode-metode tersebut. Selain itu juga metode-metode tersebut hanya dapat menyandikan (enkrip) sebuah dokumen keseluruhan atau tidak sama sekali. Keadaan dan kondisi seperti ini tidak selalu di butuhkan dan tidak selalu di harapkan.

Arsitektur keamanan untuk XML (XML security), di kembangkan untuk menjawab kebutuhan terssebut. Dan juga dapat menyediakan keamanan yang fleksibel tidak hanya untuk dokumen XML, tetapi juga untuk semua obyek yang dapat di tangani melalui sebuah URL.
Sebuah arsitektur keamanan mendasari dirinya pada beberapa layanan keamanan yaitu :
1. Kerahasiaan (confidentiality)
2. Integritas (integrity)
3. Authentication
4. Nonrepudiation
Berikut ini standar-standar inti dari XML security :
1. XML digital signature untuk tanda tangan dan integritas.
2. XML encryption untuk kerahasiaan.

5. XML memisahkan data dari HTML
Kita dapat memisahkan data dari html, yang disimpan dalam XML Dengan menggunakan javascript kita dapat membaca XML, mengupdatenya, dan menampilkannya

6. XML menyederhanakan data sharing
XML dibangun menggunakan plain text format sehingga menjadi penyimpanan yang hardware dan software independent dan memudahkan sharing data.


7. XML menyederhanakan pengiriman data
Dikarenakan di internet terdiri dari berbagai sistem yang kadang satu sama lain tidak kompatibel maka XML dapat membuat data yang secara mudah disharing kepada berbagai sistem yang tidak cocok tadi.

 8.XML menyederhanakan perubahan platform
Upgrade sistem(hardware dan software), merupakan sebuah hal yang riskan salah satunya adalah konversi data dalam jumlah besar dan kadang ada resiko kehilangan data karena ketidakcocokan.
 Data XML disimpan dalam format teks, sehingga lebih mudah dikembangkan lebih besar atau ditingkatkan kepada sistem operasi, aplikasi, dan browser baru tanpa kehilangan data.

9. XML membuat data lebih mudah dibaca oleh berbagai teknologi
Dengan XML, data dapat lebih mudah dibaca oleh berbagai "reading machine" (komputer, komputer genggam, voice machine, news feed, dll)

10. XML digunakan untuk membuat bahasa internet baru
Banyak bahasa internt baru dikembangkan oleh XML, seperti:
a.) XHTML
b.) WSDL untuk mendeskripsikan web service yang tersedia
c.) WAP dan WML sebagai markup language untuk perangkat genggam
d.) Bahasa RSS untuk news feed
e.) RDF dan OWL untuk mendeskripsikan sumber daya dan ontology(deksripsi mengenai informasi web dan keterhubungan antara informasi web)
f.) SMIL untuk mendekripsikan multimedia untuk web




Kenapa Harus Menggunakan XML?

XML untuk saat ini bukan merupakan pengganti HTML. Masing-masing dikembangkan untuk tujuan yang berbeda. Kalau HTML digunakan untuk menampilkan informasi dan berfokus pada bagaimana informasi terlihat, XML mendeskripsikan susunan informasi dan berfokus pada informasi itu sendiri. XML terutama dibutuhkan untuk menyusun dan menyajikan informasi dengan format yang tidak mengandung format standard layaknya heading, paragraph, table dan lain sebagainya.
Sama dengan HTML, File XML berbentuk teks sehingga bila diperlukan kita bisa membacanya tanpa memerlukan bantuan software khusus. Hal ini memudahkan pengembang aplikasi yang menggunakan XML untuk mendebug programnya. XML lebih fleksible dibanding HTML dalam hal kemampuannya menyimpan informasi dan data. Pada XML kita bisa menyimpan data baik dalam atribut maupun sebagai isi elemen yang diletakkan diantara tag pembuka dan tag penutup.
Kelebihan lain yang dimiliki XML adalah bahwa informasi bisa di pertukarkan dari satu system ke system lain yang berbeda platform. Misalnya dari Windows ke Unix, atau dari PC ke Machintosh bahkan dari internet ke handphone dengan teknologi WAP.


Bagian-Bagian dari Dokumen XML

Sebuah dokumen XML terdiri dari bagian bagian yang disebut dengan node. Node-node itu adalah:

  • Root node yaitu node yang melingkupi keseluruhan dokumen. Dalam satu dokumen XML hanya ada satu root node. Node-node yang lainnya berada di dalam root node.

  • Element node yaitu bagian dari dokumen XML yang ditandai dengan tag pembuka dan tag penutup, atau bisa juga sebuah tag tunggal elemen kosong seperti <anggota nama=”budi”/> . Root node biasa juga disebut root element

  • Attribute note termasuk nama dan nilai atribut ditulis pada tag awal sebuah elemen atau pada tag tunggal.
  • Text node, adalah text yang merupakan isi dari sebuah elemen, ditulis diantara tag pembuka dan tag penutup
  • Comment node adalah baris yang tidak dieksekusi oleh parser
  • Processing Instruction node, adalah perintah pengolahan dalam dokumen XML. Node ini ditandai awali dengan karakter <? Dan diakhiri dengan ?>. Tapi perlu diingat bahwa header standard XML <?xml version=”1.0” encoding=”iso-8859-1”?> bukanlah processing instruction node. Header standard bukanlah bagian dari hirarki pohon dokumen XML.
  • NameSpace Node, node ini mewakili deklarasi namespace

Keunggulan dan keuntungan dari XML:
- Simple, karena XML tidak serumit HTML, strukturnya jelas, dan
  sederhana.
- Intelligence, karena XML mampu menangani berbagai
  komplesitas markup bertingkat-tingkat.
- Portable, karena memisahkan data dan presentasi
- Fast, pencarian data cepat
- Extensible, dapat ditukar/digabung dengan dokumen XML lain.
- Linking, XML dapat melakukan linking yang lebih baik daripada
  HTML, bahkan dapat melink satu atau lebih poin dari dalam
  maupun luar data.
- Maintenance, XML mudah untuk diatur dan dipelihara, karena
  hanya berupa data, stylesheet dan link terpisah dari XML.

 Kelemahan dari XML:
Tidak dapat dipungkiri bahwa XML  sangat fleksibel untuk pertukaran data melalui internet, namun terdapat beberapa kelemahan yang ditemukan pada XML,
diantaranya adalah :
1.    XML memisahkan antara bagian data (content) dengan bagaimana data ditampilkan secara terstruktur, hal ini menyebabkan data dapat dimanipulasi oleh siapapun yang membacanya.
2.    XML berbasis teks, mudah dibaca oleh manusia (human-readable), maka dokumen XML mudah untuk di-debug dan dilewatkan melalui firewall.

Daftar Pustaka: