Pengenalan Spring

  • August 2, 2019

Pengenalan Spring

Pengenalan Spring

Mengapa Spring?

Desember 1996, Sun Microsystem mempublikasikan spesifikasi standar JavaBeans 1.00-A. JavaBeans itu sendiri merupakan sebuah software berupa komponen model untuk Java. Spesifikasi ini mencakup berbagai aturan standar penulisan kode program dalam Java yang memungkinkan sebuah objek dalam Java dapat digunakan kembali ataupun dimodifikasi dengan mudah untuk dikembangkan menjadi objek yang lebih kompleks lagi. 1998, Sun kemudian mempublikasikan versi pertama dari Enterprise Java Beans (EJB). EJB mampu bekerja secara server-side dan menyediakan berbagai service untuk aplikasi enterprise namun gagal memenuhi tujuan utama JavaBeans yang dibuat atas dasar kemudahan dan kesederhanaan dalam pengembangan suatu aplikasi enterprise. Namun tak dapat dipungkiri bahwa kemampuan EJB dalam model pemrograman deklaratif telah sukses dalam menyederhanakan banyak aspek insfrastruktur pengembangan aplikasi seperti pada aspek transaksi dan security. Tetapi penggunaan EJB sendiri cukup rumit dalam berbagai hal.

Kemudian ditemukan teknik baru dalam memanfaatkan JavaBeans, yaitu

Injection of Control (IoC) dan Aspect-oriented Programming (AOP). Teknik ini mampu memaksimalkan JavaBeans dengan kekuatan  model pemrograman deklaratif EJB, tetapi dengan tanpa kerumitan kompleksitas EJB. Disinilah framework Spring bermula.

Spring  menyadari bahwa EJB memang menyediakan service-service yang berharga untuk developers, namun hal itu sebanding dengan kompleksitas EJB untuk menyelesaikan tugas-tugas yang kompleks. Untuk itu, Spring mencoba untuk menjadi penyedia service seperti layaknya EJB dengan cara permograman model yang lebih sederhana. Dengan mengadopsi sebuah filosofi J2EE : “J2EE should be easy to use”, Spring didesain dengan mengacu pada prinsip :

  1. Desain yang baik jauh lebih penting daripada teknologi yang dipakai,
  2. Loosely Coupled JavaBeans melalui interface adalah desain yang baik. Coupled dalam hal ini merupakan ketergantungan JavaBeans terhadap EJB,
  3. Kode program haruslah mudah di uji coba.

 

Apa itu Spring?

Spring merupakan sebuah framework opensource Java yang dibuat oleh Rod Johnson. Spring menjadikan mungkin menggunakan JavaBeans yang masih polos, dimana sebelumnya hanya mampu dilakukan oleh EJB. Namun keunggulan Spring menawarkan kesederhanaan, kemudahan testing kode program, serta loose coupling.

Keuntungan memakai Spring diantaranya:

  1. Termasuk framework yang lightweight (ringan) baik dari ukuran maupun kinerjanya. Bentuk JAR-nya tidak lebih besar dari 1MB.
  2. Memiliki kemampuan Injection of Control yang mampu menjadikan objek lebih loose coupling. Saat IoC aktif, objek secara pasif memberikan daftar objek yang tergantung terhadapnya juga objek apa saja yang dia butuhkan. Spring akan memberikan dependencies mereka saat inisialisasi secara otomatis.
  3. Aspect-oriented Programming, Spring juga memiliki kemampuan untuk memisahkan pengembangan antara aspek business logic dengan system service. Dengan ini objek dapat lebih berkonsentrasi untuk melakukan tugasnya, hanya melakukan business logic sesuai dengan tujuan dia dibuat. Objek-objek tersebut tidak perlu bertanggungjawab atas service-service system seperti logging ataupun mensupport transaksi.
  4. Container, Spring merupakan sebuah container yang dapat mengatur life cycle dari objek-objek aplikasi. Programmer dapat menentukan sendiri bagaimana beans-beans mereka dipakai, apakah hanya dibutuhkan satu inisialisasi beans ataupun menginisialisasi beans baru setiap satu dari mereka dibutuhkan. Semua bisa dilakukan dengan berdasarkan pada prototype yang dapat di konfigurasi.
  5. Framework, Spring memungkinkan programmer untuk lebih berkonsentrasi mengembangkan business logic dari objek-objek aplikasi mereka sementara Spring akan mensupport system service seperti manajemen transaksi, integrasi framework, dll. Semua ini memungkinkan untuk membuat aplikasi yang kompleks dari komponen-komponen yang sederhana.

Sumber : https://pengajar.co.id/

Wahyudi

E-mail : admin@thailandomania.com