Jumat, 19 Maret 2010

SPRING

Spring adalah salah satu application framework untuk aplikasi berbasis Java, tepatnya J2EE. application framework itu adalah sekumpulan aturan atau standar yang disertai dengan library, yang digunakan untuk mempermudah, mempercepat atau membuat pengembangan aplikasi secara rapi sehingga bisa dikembangkan lagi dengan mudah di kemudian hari. Sedangkan J2EE –sekarang disebut Java EE– oleh situs Sun Microsystem dijelaskan sebagai

Java Platform, Enterprise Edition (Java EE) builds on the solid foundation of Java Platform, Standard Edition (Java SE) and is the industry standard for implementing enterprise-class service-oriented architecture (SOA) and next-generation web applications“.

Sederhananya, ini adalah edisi Java yang dipakai untuk mengembangkan aplikasi berskala besar atau enterprise. Edisi lainnya, Java SE (Standard Edition) adalah Java yang selama dipakai untuk mengembangkan aplikasi desktop kecil2an. Dan satunya lagi, Java ME (Micro Edition) sesuai namanya, untuk mengembangkan aplikasi untuk perangkat kecil seperti PDA, handphone, dll.. Ketika bicara tentang Spring, maka akan sering sekali terdengar istilah Inversion of Control (IoC) dan Dependency Injection Jadi mari lihat contoh berikut ini.

Semakin besar aplikasi yang dibuat, semakin banyak factory class yang diperlukan. Ini gak menguntungkan karena kebanyakan factory itu merupakan singleton sederhana, yang tugasnya membuat dan menghubungkan objek2, nggak bisa di-inherit sehingga banyak duplikasi. Kelebihan DI dengan Spring, menurut DevX.com adalah


… its ability to act as a factory to create objects. Spring reads a schematic defined in an external configuration file, creates and wires the objects together using reflection, and then passes the objects back to you. Think of Spring as a factory that you don’t have to write any code for.

Masih belum mengerti hal2 lain seperti AOP, DAO, dan ORM. Kesimpulan tentang Spring, katanya sih framework yang satu ini sangat mantep sekali. Ini garis besarnya

  • Spring bertujuan untuk meminimalkan dependency antar komponen aplikasi dan menyediakan plug-in architecture. Mungkin inilah yang mendukung terjadinya dynamic workflow. Jadi kita bisa pasang komponen aplikasi saat runtime tanpa perlu bongkar kode Java-nya.
  • Object linking di Spring didefinisikan di file XML, jadi kita bisa memasang komponen atau konfigurasi yang berbeda saat runtime.
  • Berbeda dengan factory yang invasive, di mana client sangat tergantung pada factory karena meminta objek ke sana, Spring menyediakan reference objek ke client yang membutuhkan. Spring secara aktif merangkai dependency dari objek yang gak kenal satu sama lain menjadi aplikasi yang utuh.
  • Kemampuannya ini berguna banget buat Test-Driven-Development di Xtreme Programming. Tapi mungkin artinya adalah bisa memudahkan untuk testing sana sini. Karena kode2 gak saling kenal, tp kalo mau disatuin juga gampang. Client gak perlu membuat objek baru (gak pernah membuat reference dengan keyword new), gak perlu lookup ke factory, Spring yang menyediakan dependency-nya secara runtime–dengan real maupun mock object.
  • Unit testing jadi mudah dilakukan karena gak ada dependecy yang hard-code, class2 yang ada saling gak kenal satu sama lain.

sumber : http://csui05.net

Tidak ada komentar:

Posting Komentar