Kamis, 13 Desember 2007

Definisi XML

JAVA dan XML (eXtesible Markup Language)

2007-12-14 ; Posted by : Pratasa.

Pengenalan XML
Sejak dikenalkan pertama kali pada akhir tahun 90-an, Extensible Markup Language (XML) telah menghasilkan berbagai macam akronim, standard, dan aturan penting dalam komunitas Internet. XML ada sebagai kekuatan / teknologi baru dalam dunia Internet yang oleh sebagian orang banyak disalah artikan. Misconception yang sering terjadi dalam mengartikan XML adalah XML dianggap sebagai bahasa markup / markup language seperti halnya HTML (Hyper Text markup Language) dan akan menggantikan HTML yang telah ada selama ini. Sebenarnya XML itu bukan sebuah markup language tetapi dia adalah sebuah toolkit untuk membuat, membentuk, dan menggunakan bahasa markup / markup language, sehingga asumsi yang menyatakan bahwa XML akan menggantikan HTML adalah keliru. Kenyataannya, XML digunakan untuk membuat versi HTML baru yang lebih bersih (cleaner version ) yang dinamakan XHTML. Untuk lebih jelas tentang XML, kita harus mengetahui definisi XML itu sendiri.

(1) Definisi XML
Extensible Markup Language (XML) merupakan sebuah toolkit penyimpanan data (data storage toolkit), sebuah kendaraan yang dapat dikonfigurasi untuk semua jenis informasi, sebuah pengembangan dan open standard yang digunakan oleh semua orang mulai dari banker sampai webmaster. Dalam beberapa tahun ini, XML diterapkan dan diadopsi secara luas oleh dunia industri. Hal ini dikarenakan feature-feature yang dimilikinya.

(2) Feature XML
Secara singkat, berikut ini adalah feature-feature yang ditawarkan XML :
- XML dapat menyimpan dan mengorganisir semua jenis informasi dalam bentuk
yang kita suka (dapat disesuaikan dengan kebutuhan).
- Sebagai sebuah open standard, XML tidak terikat dengan perusahaan atau
perangkat lunak manapun.
- Dengan Unicode sebagai karakter set standar, XML mendukung berbagai macam
system penulisan (scripts) dan simbol. dari karakter Skandinavia sampai ideograf
bangsa China Han.
- XML menawarkan berbagai cara untuk memeriksa kualitas sebuah dokumen,
dengan aturan syntax, internal link checking, pembandingan dengan modul
dokumen, dan datatyping.
- Syntaks XML sederhana dan tidak mempunyai strukur yang ambigu. Sehingga
mudah dibaca oleh manusia maupun program.
- XML mudah untuk dikombinasikan dengan stylesheet untuk membuat format
dokumen sesuai dengan style yang kita inginkan.

(3) Sifat XML
Sesuai dengan feature yang ditawarkan XML, XML mempunyai portabilitas dan interoperabilitas yang tinggi.

(a)Portabilitas
XML adalah portable. Jika anda telah lama berkecimpung dalam dunia Java, pasti anda tidak asing tentang slogan Java yang digembar-gemborkan Sun Microsystem “ Write Once Run Anywhere ”. Java merupakan “ portable code “ yang dapat dijalankan di berbagai macam mesin asalkan pada mesin tersebut tersedia JVM (Java Virtual Machine). Seperti halnya Java, XML merupakan “portable data” dikarenakan XML merupakan kumpulan teks sederhana. XML dapat dipindahkan antara platform satu dengan lainnya dengan syarat XML yang kita buat harus memenuhi / mengacu pada sebuah spesifikasi yang dikeluarkan oleh World Wide Web Consortium (W3C) yang dapat diperoleh di http://www.w3.org . Dengan menggunakan XML untuk menyimpan data dan Java untuk membuat kode, maka kita telah mendapatkan kombinasi yang sempurna (portable code dengan portable data).

(b)Interoperabilitas
XML menawarkan interoperabilitas yang tinggi, seperti yang sering kita temui dalam aplikasi-aplikasi enterprise. Mungkin ada yang berpikiran bahwa itu hanya merupakan bentuk lain dari portabilitas, tapi sebenarnya lebih dari itu. Ekstensibilitas XML sangat penting dalam bussiness interoperating.

(4) Dasar XML
Untuk dapat menggunakan XML kita harus mengetahui struktur XML itu sendiri, cara mengolah informasi yang terdapat dalam file XML dengan XML parser dan cara mentransformasinya ke dalam bentuk yang kita inginkan/butuhkan.
Strukur XML
Sebuah dokumen XML terdiri dari bagian-bagian yang disebut dengan node. Node- node tersebut adalah :
- Header standar adalah header dokumen XML yang berisi informasi yang
diperlukan oleh parser, seperti versi XML dan tipe encoding yang digunakan.
- Root node yaitu node yang membungkus keseluruhan dokumen. Dalam satu
dokumen XML hanya ada satu root node.
- Element node yaitu bagian dari dokumen XML yang ditandai dengan tag pembuka
dan tag penutup atau dapat berbentuk single tag.
- Attribut node adalah nama dan nilai atribut yang ditulis pada awal sebuah elemen
atau pada tag tunggal.
- Text node adalah teks yang merupakan isi dari sebuah elemen yang ditulis diantara
tag pembuka dan tag penutup.
- Comment node adalah baris yang menyatakan komentar dokumen dan tidak akan
diproses oleh XML parser.
- Processing Instruction node adalah perintah pengolahan dokumen XML. Node ini
diawali dengan karakter - Namespace node adalah node yang mewakili deklarasi namespace.
Contoh dokumen XML (book.xml) :
<-- Header standar <-- Processing instruction <-- Comment node <-- Root Node title="Hibernate In Action" <-- attribut node author="Gavin King" publisher="Manning" >
<-- Element kosong yang berupa tag tunggal <-- Element node Hibernate as Java Persistence Framework <-- Text node Paradigm Mismatch in O/R Mapping … …

(5)XML Parser

XML parser menangani tugas penting untuk mengambil/mengekstrak data dari dokumen XML mentah sebagai input dan memvalidasi apakah dokumen tersebut well-formed atau tidak. Memilih sebuah XML parser bukan merupakan tugas yang mudah. Tidak ada aturan ketat, tapi ada dua kriteria yang harus diperhatikan. Kriteria pertama adalah kecepatan dari parser. Untuk dokumen XML yang kompleks dan sering dipakai, kecepatan parser menjadi sangat penting untuk performa aplikasi secara keseluruhan. Kriteria kedua adalah kesesuaian parser terhadap spesifikasi XML dari W3C. Parser yang bagus mempunyai dukungan / kesesuaian yang baik terhadap spesifikasi XML dari W3C sehingga mendukung banyak feature-feature XML. Berikut ini merupakan daftar XML parser yang sering digunakan dan semuanya ditulis dalam bahasa Java:
Apache Xerces : http://xml.apache.org
IBM XML4J : http://alphaworks.ibm.com/tech/xml4j
James Clark’s XP : http://www.jclark.com/xml/xp
Oracle XML Parser : http://technet.oracle.com/tech/xml
Tim Bray’s Lark and Larval : http://textuality.com/Lark
The Mind Electric’s Electric: http://www.themindelectric.com/products/xml/xml.html
Microsoft’s MXSML Parser : http://www.msdn.microsoft.com/xml/default.asp

(6) XML Transformation
Transformasi dokumen XML mentah (Raw XML) sangat sulit untuk diimplementasikan. Kenyataannya, daripada mencoba untuk menspesifikasi XML transformation menurut spesifikasi XML 1.0 ada tiga cara untuk mendefinisikan transformasi dokumen XML. Ketiga cara itu adalah dengan menggunakan XPATH, XSL, atau XSLT. Tetapi XSLT lebih banyak digunakan daripada kedua cara tersebut (XPATH dan XSL).

Peran XML dalam dunia Java
Ketika XML direlease, komunitas Java yang dipelopori oleh Sun Microsystems sangat antusias dalam memanfaatkan XML. Hampir seluruh produk dan teknologi Java memanfaatkan XML untuk open standar dan pertukaran data.


(7) XML dalam Framework Java
Java sebagai bahasa open source semakin diminati banyak orang, bukan hanya karena portabilitas dan dukungan vendor yang kuat seperti Oracle, IBM, dan Sun. Tetapi karena dukungan komunitas open source yang ada. Dari tangan para hacker dan developer dari komunitas open source yang dipelopori oleh Apache Software Foundation dengan Apache Jakarta project-nya tersebut bermunculanlah berbagai macam Framework. Framework-framework itu antara lain Apache Xerces, Apache Xalan ( XML Framework ), Apache Struts, Apache Tapestry, WebWork ( MVC Framework) , Hibernate, Apache Ibatis, Apache Torque (ORM Framework), Apache Cocoon (Web Publishing Framework), Apache Ant, Apache Maven (Build and Documentation tool), XDoclet, Apache Lucene (Search engine/crawler Framework), Spring Framework, dan masih banyak framework lainnya yang hampir kesemuanya open source. Semua framework Java tersebut menggunakan XML sebagai teknologi dasarnya, Misal Apache Struts menggunakan file XML untuk menyimpan konfigurasi mapping halaman – halaman web / controller dalam file yang bernama struts-config.xml, Apache Ant menggunakan file XML yang bernama build.xml untuk mengatur proses kompilasi dan manajemen source code kita. Oleh karena itu XML merupakan teknologi yang sangat powerful dalam dunia Java sehingga mau tidak mau kita sebagai developer / programmer Java harus mempelajarinya.

Penggunaan XML dalam teknologi Web Services
Web Service sebagai teknologi baru di dunia Internet computing sangat mengutamakan faktor interoperabilitas. Dengan teknologi Web Service aplikasi yang kita buat dapat beroperasi pada semua platform dan dapat memanggil layanan / service (yang berupa API – Application Programming Interface) dari aplikasi lain yang dibuat dari platform berbeda. Misal kita dapat memanggil layanan dari Aplikasi .NET yang dibuat orang lain dari aplikasi Java yang kita buat. Hal itu terjadi karena penggunaan teknologi XML dalam Web Service.

Masa depan XML dan Java
XML sebagai “portable data” dan Java sebagai “portable code” akan menjadi solusi yang sempurna untuk mengembangkan aplikasi enterprise yang mengutamakan portabilitas dan interoperabilitas yang tinggi. Dan mungkin dalam beberapa tahun kedepan semakin banyak developer Indonesia yang menggunakan Java dan XML , yang selama ini masih bertahan pada produk-produk komersiil seperti .NET , Delphi, ASP, dan produk-produk Microsoft / komersiil lainnya.

Tidak ada komentar: