KumuluzEE merupakan framework pertama yang menggunakan standar Java API untuk membangun aplikasi berarsitektur microservice yang dibangun oleh sebuah software house bernama Kumuluz dari Slovenia.
KumuluzEE termasuk salah satu dari pemenang Duke’s Choice Award 2015 di San Fransisco.
Keuntungan dari framework ini untuk Java developer ialah tidak perlu mempelajari hal-hal / cara kerja baru seperti pada umumnya framework Java misalnya Spring, karena KumuluzEE menggunakan standar Java EE specification.
Komponen
Saat ini KumuluzEE sudah memiliki support untuk :
- Servlet 3.1
- JSP 2.3
- EL 3.0
- CDI 1.2
- JPA 2.1
- JAX-RS 2.0
- Bean Validation 1.1
- JSON-P 1.0
- Websocket 1.1
- JSF 2.2
- JAX-WS 2.2
Quick Start
Nah, sekarang kita coba membuat microservice menggunakan KumuluzEE :
- Gunakan Maven untuk men-generate project
- Edit file pom.xml, tambahkan properties untuk KumuluzEE
- Tambahkan modul core dari KumuluzEE
- Tambahkan modul servlet jetty dari KumuluzEE
- Tambahkan directory webapp pada directory resources, dan buat file index.html
- Tambahkan juga plugin maven untuk meng-copy library jar (dependency) ke directory target
- Kemudian build menggunakan perintah Maven
- Jalankan aplikasi dengan perintah :
mvn -B archetype:generate \
-DarchetypeGroupId=org.apache.maven.archetypes \
-DgroupId=org.nostra.kumuluz \
-DartifactId=blog
<properties>
<kumuluzee.version>1.0.0</kumuluzee.version>
</properties>
<dependency>
<groupId>com.kumuluz.ee</groupId>
<artifactId>kumuluzee-core</artifactId>
<version>${kumuluzee.version}</version>
</dependency>
Modul core ini belum cukup untuk menjalankan aplikasi. Untuk itu perlu ditambahkan server seperti Jetty/Tomcat untuk menerima request dan diteruskan ke komponen Java EE untuk diproses.
<dependency>
<groupId>com.kumuluz.ee</groupId>
<artifactId>kumuluzee-servlet-jetty</artifactId>
<version>${kumuluzee.version}</version>
</dependency>
Dua modul tersebut merupakan syarat minimum untuk dapat menjalankan microservice dengan standar Servlet dan file statis.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Kumuluz</title>
</head>
<body>
<p>Hello from KumuluzEE</p>
</body>
</html>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
</execution>
</executions>
</plugin>
mvn package
java -cp target/classes:target/dependency/* com.kumuluz.ee.EeApplication
Sekian, kita lanjut di blog KumuluzEE berikutnya :)
No comments:
Post a Comment