Anda di halaman 1dari 8

SPRING FRAMEWORK

Tugas ke- 1 Java Web Programming


Kelompok : AB
NIM : 1711500429
Nama : Arinda Hana Syafira
Fakultas Teknologi Informasi
A. Pengertian Sping Framework
Spring pertama kali ditulis dan dirilis oleh Rod Johnson dengan lisensi
Apache 2.0 pada bulan Juni 2003. Spring merupakan sebuah framework dan
kerangka kerja yang digunakan untuk membangun sebuah aplikasi interprise.
Spring termasuk framework yang light weight dan ringan untuk mendukung
secara penuh dalam pengembangan aplikasi interprise siap pakai. Spring bersifat
modular sehingga kita dapat menggunakan bagian-bagian yang dibutuhkan
tanpa harus membawa sisanya.
Spring dapat digunakan untuk melakukan pengaturan deklarasi
manajemen transaksi, remote access dengan menggunakan RMI atau layanan
web lainnya, fasilitas mailing, dan beragam opsi untuk pengaturan data ke
database.
Spring Framework menggunakan teknik pemrograman yang sederhana,
model pemrograman dengan Spring cukup mudah, namun rapi. Hal Ini
memudahkan bagi para developer pemula untuk mempelajarinya. Jika
mempelajari Spring, para developer berevolusi menjadi developer yang lebih
baik. Hal ini karena  framework Spring mendorong untuk membuat kode
program yang modular dan independen. Hasilnya, kode program yang dibuat
akan lebih rapi, mudah dites, dan terstruktur dengan baik.

B. Fitur-Fitur dari Spring Framework


1. Java Inversion of Control (IoC) Container atau disebut juga
Dependency Injection Spring
Membantu pembuatan kontainer dalam menampung object-object yang
memiliki ketergantungan pada object lain dalam melakukan transaksi. IoC
berupa layer abstrak yang menampung object-object yang akan digunakan
secara singleton (singleton adalah object yang dibuat sekali dan ditampung
terus dalam memory selama aplikasi berjalan). Contoh object yang disimpan
didalam IoC Container adalah SessionManager yang membuat koneksi
dengan database. Contoh penggunaan objek SessionManager tersebut dalam
IoC Container yaitu melakukan auto wire data injeksi object kedalam object
yang akan melakukan transaksi dalam database.
2. Basis Web
a. Web MVC Framework
Spring MVC menyediakan fitur pengembangan web yang
memisahkan proses bisnis pada User Interface (Client Layer),Kontroller or
Remote Server (Server Layer) dan Data Access Layer kedalam Model-
View-Controller (MVC). Implementasi Spring MVC adapada project CUBE
yang sedang kami kerjakan.
b. Web Enterprise-Java-Beans (EJB) Integration
Teknologi ini memungkinkan penggunaan Java EE 7 yang berupa
component oriented yang memudahkan Konversi/Interaksi User Interface
melalui Java Beans.Integrasi Spring dalam EJB yaitu pengembangan Web
Services melalui Spring
3. Transaction Management Spring framework
menyediakan sebuah layer abstrak yang generik untuk manajemen
transaksi, sehingga memudahkan para developer dalam melakukan
manajemen transaksi.
4. JDBC Exception Handling layer abstrak JDBC
menawarkan exception yang bersifat hierarki sehingga memudahkan
penanganan error.
5. Integrasi dengan hibernate, JDO, Email dan ibatis
6. Object-Relational-Mapping (ORM) Menggunakan Hibernate ORM.
ORM adalah pola pemograman database tanpa harus berinteraksi
langsung dengan bahasa SQL. ORM digunakan dengan cara mengubah relasi
database kedalam objek java (Model) serta transaksi database menggunakan
Data-Access-Object(DAO)melalui Hibernate Framework. Model mendefinisikan
field dari entity dan relasi antar entity. Sedangkan Data-Access-Object(DAO)
berupa transksi yang sering digunakan seperti Input, Delete dan Update pada
database dan telah konversi kedalam Generic Object yang hanya perlu
dipanggil sekali pada setiap transaksi yang sama. Java Spring Framework
memiliki fitur dalam Integrasi Hibernate dalam akses data dan manajemen
transaksi database.

C. Kelebihan Spring Framework dengan framework lainnya:


1. Build Anything
Menulis kode yang bersih, dapat diuji terhadap komponen infrastruktur
pilihan dan lakukan tugas apa pun.
2. Run Anywhere
Aplikasi spring berbasis berjalan dimana saja yang menggunakan JVM.
3. Rest Assured
Kode dengan percaya diri. Spring menyediakan model pemrograman
terbuka yang komprehensif, kohesif, dipahami secara luas dan didukung
dengan baik.
4. Pola MVC (Model View Controller)
5. Hemat Waktu
Kita tidak perlu menghabiskan waktu untuk menulis kode program, kita
bisa menggunakan fungsi atau class bawaan dari framework yang kita
gunakan, seperti:
a. Modul Generator, akan menghasilkan modul yang diinginkan menjadi
cepat.
b. ORM (Object Relation Mapping), dengan ORM kita tidak perlu repot
dengan menuliskan syntax SQL yang spesifik untuk database tertentu.
c. Ketersediaan Plugin. 

D. Perbandingan Spring Framework dengan Framework lainnya


 Spring Framework vs Play Framework
Play Framework adalah framework untuk membuat Web sedangkan Spring
Framework adalah core support untuk dependency injection. Yang dalam
artian, sebenarnya jika kita membuat aplikasi menggunakan Play Framework,
kita bisa memasukkan Spring Framework didalamnya.
 Spring Framework vs Java Enterprise Edition
Spring Framework sendiri pertama kali dibuat oleh Rod Johnson
tahun 2002 sebagai alternatif dari Java Enterprise Edition. Jadi memang
Spring Framework secara tidak langsung dibuat sebagai pesaing Java
Enterprise Edition.

Jika dilihat dari Google Trends, popularitas Java Enterprise Edition


dari hari ke hari semakin menurun dibanding Spring Framework.

E. The Good Part dari Spring Framework


1. Mature
Spring Framework dibuat sejak tahun 2002, itu artinya udah
berumur sekitar 15 tahun (sampai 2017). Dan memang framework ini
sudah mature sekali, sudah proven dan sudah tidak bisa dipungkiri, sudah
banyak sekali berjalan di aplikasi-aplikasi besar di production.
Rata-rata framework yang sudah uzur biasanya digantikan oleh
framework yang baru. Namun berbeda dengan Spring Framework,
walaupun framework itu bisa dibilang sudah lama, tapi framework ini tetap
selalu menjadi hits di dunia Java. Salah satu asalannya adalah, karena
framework ini opensource sehingga semua orang bisa berkontribusi untuk
meningkatkan framework Spring.
2. Lightweight
Jika dibandingkan dengan Java Enterprise Edition, Spring
Framework sangatlah ringan. Kita tidak perlu menunggu puluhan menit
untuk restart Enterprise Application hanya untuk mendeploy ulang aplikasi
kita. Spring Framework bisa jalan walaupun hanya di aplikasi web server
seperti Tomcat atau Jetty.
Bahkan semenjak hadirnya Spring Boot, orang-orang semakin
menyukai menggunakan Spring Framework karena web servernya bisa di
embed dalam single jar, sehingga untuk menjalankan aplikasinya kita tidak
perlu mendeploy ke web server lagi.
Artinya dengan resource hardware yang lebih kecil dan lebih
produktif, kita bisa mendapatkan manfaat yang sama, bahkan lebih baik
dibandingkan menggunakan Java Enterprise Edition.

3. Supporter Framework
Spring Framework sebenarnya bukanlah framework untuk
menggantikan framework-framework yang lain, justru tujuan utama Spring
Framework adalah sebagai fondasi untuk framework-framework yang lain.
Spring Framework sendiri mendukung dan didukung oleh framework-
framework yang sudah mature lainnya, seperti Hibernate, AspectJ, Bean
Validation, JPA, Hystrix, OpenFeign, RxJava dan lain-lain.
Oleh karena itu, saat kita menggunakan Spring Framework sebagai
fondasi aplikasi yang akan kita buat, maka akan banyak sekali framework
mature yang bisa kita gunakan dengan mudah, bahkan kita juga bisa
dengan mudah mengintegrasikan framework lain secara manual.

4. Spring Ecosystem
Spring Framework adalah fondasi dari Spring Ecosystem-nya.
Pernah dengar tentang Spring Boot? Spring Cloud? dan Spring Data? Yup,
itu adalah framework-framework lain yang di develop diluar core Spring
Framework nya itu sendiri.
Saat ini dari Spring Framework, sudah banyak dikembangkan
framework pendukung lainnya seperti yang bisa dilihat di
halaman https://spring.io/projects. Sehingga menggunakan Spring
Framework, akan mempermudah lagi dalam membuat aplikasi, saat ini
yang menurut saya sangat membantu sekali adalah Spring Boot, Spring
Data dan Spring Cloud.

5. Backward Compatible
Sejak pertama kali Spring Framework rilis menggunakan
konfigurasi XML sampai sekarang yang lebih popular menjadi konfigurasi
Annotation. Spring Framework selalu backward compatible.
Walaupun umurnya yang sudah terbilang lama, tapi karena dari
awal desain API Spring Framework sangat bagus, dia selalu bisa
menjaga backward compatible, bandingkan dengan framework seperti
Play Framework (tiap ganti versi, selalu rewrite framework) atau
framework-framework yang lainnya.

F. The Bad Part dari Spring Framework


1. No Standard
Berbeda dengan Java Enterprise Edition yang dibuat standarisasinya.
Spring Framework tidak memiliki standard. Jika kita develop aplikasi sesuai
spesifikasi Java Enterprise Edition, biasanya kita bisa dengan mudah ganti
Application Server-nya, misal JBoss, Glassfish, Webspere dan lain-lain.
Tapi tidak dengan Spring Framework, karena memang Spring Framework
itu tidak memiliki standard, jadi sekali kita menggunakan Spring, maka
selamanya aplikasi kita harus menggunakan Spring. Jika ingin ganti teknologi,
maka kita harus rewrite lagi aplikasi kita.

2. Fast Updates
Jika diperhatikan update Java Enterprise Edition itu rentannya sekitar 3–5
tahun sekali. Tapi kalo Spring Framework? Bisa jadi tiap hari selalu ada update
terbaru.
Jadi dengan menggunakan Spring Framework, berarti Anda harus sudah
menerima kalau Anda selalu harus selalu update informasi seputar Spring
Framework, karena mungkin tiap hari akan ada update Spring Framework
terbaru.

G. Spring Boot
Spring Boot merupakan salah satu jenis framework dari Spring.
Namun di Spring Boot kita lebih dipermudah dalam pembuatan program karena :
1. Sudah disediakan Tomcat dan beberapa server lain, sehingga kita hanya
perlu run.
2. Menggunakan Maven sebagai build manager yang dapat kita atur di Project
Object Model (POM)
3. Anotasi-anotasi ajaib yang mempermudah kita dalam menentukan
komponen kelas-kelas, dsb.

Anda mungkin juga menyukai