implementasi clustering pada jee container
Post on 13-May-2015
814 Views
Preview:
DESCRIPTION
TRANSCRIPT
Implementasi Clustering
Pada JEE Container
Dikembangkan oleh :
Email : cs@meruvian.orgPhone : 021-985 644 17
Daftar Isi
Daftar Isi .......................................................................................................................................... 2
Bagian 1. Mengenal Cluster ........................................................................................................... 3
1.1 Pengertian Cluster .......................................................................................................... 3
1.2 Macam-macam Tipe Cluster ........................................................................................... 3
Bagian 2. Mengapa Menggunakan Cluster .................................................................................. 6
Bagian 3. Mengenal JEE Container .............................................................................................. 8
3.1 Pengertian JEE Container ............................................................................................... 8
3.2 Instalasi JEE Container .................................................................................................. 9
Bagian 4. Deploy Java Web Application (Yama) .......................................................................... 17
4.1 Menyiapkan Kebutuhan Aplikasi ................................................................................... 17
4.2 Deploy Yama diJEE Container ....................................................................................... 21
Bagian 5. Implementasi Cluster Pada Java Container ............................................................... 30
5.1 Load Balance JEE Container dengan WebServer .......................................................... 30
5.2 Fail Over dan Session Replication ................................................................................. 31
5.3 Implementasi Load Balance, Fail Over dan Session Replication Pada Container ........ 32
5.3.1 Apache Tomcat .................................................................................................. 33
5.3.2 Glassfish ............................................................................................................ 42
5.3.3 Jboss .................................................................................................................. 52
Lampiran A :
Meruvian Integrated Platform(MIP) versi.1.0 ..................................................................... 62
Created By Meruvian Cloud Team 2
Bab 1
Mengenal Cluster
1.1 Pengertian Cluster
Clustering merupakan sebuah metode untuk menghubungkan beberapa resource sistem untuk bekerja secara
bersama-sama layaknya sebuah single sistem.
Teknologi clustering telah ada sejak dekade 1980-an yang awalnya digunakan pada sistem VMS (Virtual
Memory System), yaitu sebuah Operating System yang diciptakan oleh Digital Equipment Corporation
(DEC) yang nantinya akan dikenal dengan OpenVMS
Pada umumnya teknologi clustering ini dimanfaatkan untuk load balance trafik pada sebuah situs atau
aplikasi dengan trafik yang tinggi.Namun pada perkembangannya cluster digunakan untuk melakukan paralel
processing yang mana metode ini dimanfaatkan oleh Hadoop.
1.2 Macam-macam Tipe Cluster
Pada implementasinya cluster terbagi menjadi dua metode, yaitu :
• vertical clustering
• horizontal clustering
Created By Meruvian Cloud Team 3
Vertical Clustering
Vertical cluster merupakan sebuah model untuk menjalankan beberapa member cluster-nya berada dalam satu
sistem.Pada
Pada tipe vertical cluster ini kita dapat menjalankan failover yang berjalan pada level application
server.Namun tidak pada level physicial server karena tipe ini menggunakan sebuah single server.
Horizontal Clustering
Horizontal cluster merupakan sebuah tipe cluster yang member cluster-nya berada pada sistem yang berbeda.
Pada tipe horizontal cluster, failover dapat dilakukan baik pada level physical server.
Created By Meruvian Cloud Team 4
Mixed Clustering
Tipe ini merupakan tipe gabungan antara horizontal cluster dan vertical cluster.Dengan lebihnya resource
yang dimiliki tipe ini mempunyai kemampuan untuk menghandle failover baik dari level physiclal atau
application server.
Created By Meruvian Cloud Team 5
Bab 2
Mengapa Menggunakan Cluster ?
Cluster merupakan sebuah terobosan yang sangat vital di era teknologi ini.Dengan semakin
banyaknya kebutuhan user dalam pemrosesan sebuah informasi, resource penyedia informasi harus
siap mengganti metode yang digunakan dari menggunakan single mesin menjadi mesin cluster untuk
meningkatkan performa dan juga mempercepat proses request dari user.
Ada beberapa hal yang mendasari mengapa paradigma teknologi beralih dari single mesin ke cluster
mesin diantaranya :
• Untuk membuat sebuah redundancy pada mesin cluster untuk mencegah terjadinya sistem
down.Jikapun salah satu sistem mengalami down maka akan ada server replikasi pada server
lain yang sedang berjalan.Inilahyang biasanya disebut dengan istilah failover
Created By Meruvian Cloud Team 6
• Untuk meningkatkan performa aplikasi. Dengan metode cluster ini, server – server yang
tergabung dalam sebuah cluster akan bekerja bersama-sama dalam memproses request dari user
dalam jumlah banyak.Dengan demikian pemprosesan data yang ada pada cluster berjalan akan
lebih cepat dibanding dengan pemrosesan pada single mesin.
Dengan adanya metode cluster tersebut, permasalah mengenai server down ataupun peningkatan
performa pada pemrosesan data yang besar akan teratasi.
Created By Meruvian Cloud Team 7
Bab 3
Mengenal JEE Container
3.1 Pengertian JEE Container
JEE Container merupakan sebuah interface yang menyediakan dukungan untuk komponen-
komponen aplikasi JEE, untuk me-manage dan men-deploy aplikasi java enterprise.
JEE menyediakan EJB container dan Web container di dalamnya.EJB container digunakan untuk
mengelola dan mengeksekusi Enterprise Bean.Sedangkan Web Container digunakan untuk mengelola
dan mengeksekusi servet.
Tipe package yang dapat berjalan pada JEE Container berupa Enterprise Archive (EAR), Java Archive
(JAR) dan Web Archive (WAR).
Beberapa macam JEE Container yang populer di kalangan java developer :
• Apache Tomcat
• Jetty
• Glassfish
• Jboss
• Weblogic
• dll
Untuk JEE container yang akan kita gunakan pada bab-bab selanjutnya untuk keperluan clustering dan
Created By Meruvian Cloud Team 8
high availability adalah Apache Tomcat, Glassfish dan Jboss.
Selanjutnya kita akan membahas langkah-langkah instalasi, deploy aplikasi ke dalam container sampai
dengan membuat cluster.
3.2 Instalasi JEE Container
A. Instalasi JAVA
Adapun langkah-langkah untuk menginstal java adalah sebagai berikut :
1. Download JDK dari http://www.oracle.com/technetwork/java/javase/downloads/ .
2. Setelah master installasi di dapat lakukan untar.
$ tar xcvf jdk-xxx-linux-xxx.tar.gz
3. Setelah itu akan didapatkan file eksekusi jdk jdk-xxx-linux-xxx.sh , salin file tersebut ke /opt.
$ sudo chmod 777 /opt
$ cp jdk-xxx-linux-xxx.sh /opt
$ sudo chmod +x /op/ jdk-xxx-linux-xxx.sh
4. Run file .sh untuk memulai instllasi jdk.
$ cd /opt
$ ./ jdk-xxx-linux-xxx.sh
5. Proses installasi tadi akan membentuk sebuah folder berisi file java , rename-lah folder tersebut
agar lebih mudah untuk proses-proses selanjutnya.
$ mv jdkx_xxx/ Java
6. Jika proses sukses lakukan pengeditan .bashrc dan profile untuk mengkonfigurasi
JAVA_HOME.
$ nano /home/meruvian/.bashrc
Tambahkan baris berikut di bagian paling bawah :
Created By Meruvian Cloud Team 9
JAVA_HOME=/opt/Java
PATH=$PATH:$JAVA_HOME/bin
$ sudo nano /etc/profile
Tambahkan juga baris tadi di bagian paling bawah
Jangan untuk menyimpan konfigurasi di atas.
7. Log out exit dari terminal untuk menerapkan hasil konfigurasi , jika benar lakukan perintah :
$ java -version
java version "1.x.x"
Java(TM) SE Runtime Environment (build 1.6.0_23-b05)
Java HotSpot(TM) Server VM (build 19.0-b09, mixed mode)
Ini menandakan bahwa JAVA_HOME berhasil diterapkan di sistem dan siap
digunakan.
B. Apache Tomcat
Apache Tomcat merupakan software opensource untuk implementasi teknologi java servlct dan java
server pages.Java container ini berada di bawah lisensi apache.Versi terkahir Apache Tomcat ketika
buku ini ditulis adalah Apache Tomcatv7.029.
Untuk download, bisa kunjungi alamat http://tomcat.apache.org/
Instalasi
1.download apache tomcat versi tar.gz dari http://tomcat.apache.org/
2.extrak file apache-tomcat-7.0.29.tar.gz dengan perintah :
$ tar xzf apache-tomcat-7.0.29.tar.gz
3.masuk ke folder apache-tomcat-7.0.29/bin, kemudian tambahkan mode executable untuk semua file
.sh yang ada di dalam folder bin
$ cd apache-tomcat-7.0.29/bin
$ chmod +x *.sh
4.jalankan file catalina.sh atau startup.sh untuk menjalankan tomcat container
$ ./catalina.sh
atau
Created By Meruvian Cloud Team 10
$ ./startup.sh
Selanjutnya akses browser dan ketikkan url http://localhost:8080/ sehingga akan muncul halaman
seperti di bawah ini
C. Glassfish
Glassfish adalah sebuah aplikasi open source yang awalnya dikembangkan oleh Sun Micro System
untuk platform Java EE dan sekarang telah disponsori oleh Oracle Corporation dengan versi terbaru
dinamai Oracle Glassfish Server.Glassfish telah mendukung berbagai Enterprise seperti
JavaBeans,JPA,JavaServer Faces,JMS,RMI,JavaServer Pages,servlet,dll.
Ini memungkin pengembang (developer) untuk membuat aplikasi yang portabel dan terukur dan
terintegrasi.Glassfish juga menyediakan optional componen yang dapat ditambahkan.
Instalasi
Adapun langkah-langkah installasinya adalah sebagai berikut :
1. Download versi terbaru Glassfish dari http://glassfish.java.net/downloads/ .
2. Unzip master Glassfish yang telah didownload tadi.
$ unzip Glassfish.zip
Created By Meruvian Cloud Team 11
3. Selanjutnya adalah yang bisa dilakukan melalui halaman admin dari web browser disebut DAS
(Domain Administration Server) yang diaktifkan melalui shell Glassfish (asadmin).Domain
standar yang disediakan oleh Glassfish adalah domain1.
$ cd Glassfish/bin
$ ./asadmin change-admin-password
Enter admin user name [default:admin] > admin
Enter admin password> [enter]
Enter new admin password> [password baru]
Enter new admin password again> [password baru]
4. Kemudian aktifkan secure-admin untuk menjalankan Glassfish dalam mode aman.
$ ./asadmin start-domain domain1
Enter admin user name>[admin]
Enter admin password> [masukkan password]
$ ./asadmin enable-secure-admin
Kemudian restart Glassfish :
$ ./asadmin restart-domain domain1
Successfully restarted the domain
Command restart-domain executed successfully.
Atau melalui Web browser dengan alamat http://localhost:4848 , port 4848 adalah port standar
yang digunakan oleh Glassfish agar dapat diakses via web browser oleh pengguna.
Pada awalnya akan muncul peringatan SSL yang memberitahukan bahwa enable-secure-admin
telah diterapkan.
Created By Meruvian Cloud Team 12
K
Kemudian akan muncul halaman login Glassfish , login dengan username admin dan password
yang sudah dibuat sebelumnya.
Created By Meruvian Cloud Team 13
Kemudian akan muncul halaman admin Glassfish untuk keperluan administrasi server.Untuk
melihat bahwa Glassfish telah berjalan akses juga http://localhost:8080
Created By Meruvian Cloud Team 14
C. Jboss
Jboss meuapakan application server yang mengimplementasikan Java EE di bawah lisensi GNU
LGPL.JBoss dikembangkan oleh oleh Jboss, salah satu divisi dari Red Hat.Versi terakhir saat buku ini
ditulis adalah versi 7.1
Jboss terbaru dapat didownload dari http://www.jboss.org/jbossas/downloads
Instalasi
• Unduh jboss-as-7.1.2.Final.zip dari situs resminya di
http://www. jboss .org/ jbossas /downloads .
• Ekstrak file tersebut ke dalam folder dengan perintah unzip
$ unzip jboss-as-7.1.2.Final.zip
• masuk ke dalam direktori jboss.
$ cd Jboss-as-7.1.2
• Buat user admin untuk aplikasi jboss
#./bin/add-user.sh
<a> ManagementRealm
<b> ApplicationRealm
#Pilih yang <a>
Enter the details of the new user to add.
Realm (ManagementRealm) : <Enter>
Username : admin
Password : ******
Re-enter Password : ******
The username 'admin' is easy to guess
Are you sure you want to add user 'admin' yes/no? yes
About to add user 'admin' for realm 'ManagementRealm'
Is this correct yes/no? yes
• Jalankan Web Server JBOSS dengan menggunakan perintah di bawah ini.
$ ./bin/domain.sh
• Tunggu beberapa saat hingga Jboss selesai menjalankan semua servicenya.
Created By Meruvian Cloud Team 15
• Buka web server Jboss di web browser dan masukkan link berikut untuk mengakses
Administrator.
http://localhost:9990/console/App.html
• Login dengan user dan password admin yang telah dibuat sebelumnya untuk login ke dalam
dashboard.
Created By Meruvian Cloud Team 16
Bab 4
Deploy Java Web Application
(Yama)
Pada bab ini kita akan mencoba untuk melakukan deploy aplikasi web kita ke dalam JEE
container yang telah kita siapkan pada bahasan sebelumnya.
Untuk aplikasi yang akan kita deploy pada bab ini adalah sebuah framework java berbasis web dengan
database mysql yang kita sebut dengan Yama (untuk informasi lebih detail mengenai yama bisa dibaca
di lampiran).
Untuk itu kita akan melakukan beberapa persiapan seperti instalasi database, membuat database
di mysql, export project ke dalam bentuk war sampai pada tahapan deployment pada JEE Container.
4.1 Menyiapkan Kebutuhan Aplikasi
a. Instalasi Database Mysql
Untuk kebutuhan database kita memilih Mysql karena database ini cukup powerfull meskipun pada
dasarnya Yama bisa terhubung dengan berbagai macam database baik SQL Database maupun No-SQL
Database.
Untuk instalasi database ketikkan perintah di bawah ini di terminal :
Created By Meruvian Cloud Team 17
$ sudo apt-get install mysql-server
Tunggu beberapa menit untuk proses instalasi paket sampai kita menemui window untuk
mengkonfirmasi username dan password root database kita
Masukkan password untuk user root, lalu tekan enter.
Masukkan kembali untuk konfirmasi password user root, tekan enter untuk menyetujui.
Ketikkan perintah mysql -u root -p pada terminal untuk masuk ke mysql console :
Created By Meruvian Cloud Team 18
$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 39
...
...
mysql>
b. Membuat Database Mysql
Selanjutnya kita akan membuat database di Mysql untuk aplikasi Yama akan kita deploy
nantinya.
Untuk membuat database ikuti step-step di bawah ini :
1.Membuat database dengan nama “yama”
mysql> create database yama;
Query OK, 1 row affected (0.00 sec)
2.Membuat privelege database yama untuk user dengan nama 'yama'
mysql> grant all on yama.* to yama@localhost identified by 'yama';
Query OK, 0 rows affected (0.00 sec)
3.Menampilkan database
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| yama |
+--------------------+
3 rows in set (0.00 sec)
c. Konfigurasi Database di Yama
Sebelum user mengeksport aplikasi user menjadi .war terlebih dahulu user perlu memastikan bahwa
Created By Meruvian Cloud Team 19
konfigurasi database yang user gunakan sudah sesuai dengan database yang berada di Azure.
Pada Yama, user dapat melihat konfigurasi database dengan mengakses file db.properties yang ada di
src/main/resources
Buka file db.properties dan sesuaikan dengan konfigurasi database yang telah kita buat sebelumnya :
db.url=jdbc:mysql://localhost:3306/yama
db.driver=com.mysql.jdbc.Driver
db.username=yama
db.password=password
Pada konfigurasi di atas kita menggunakan database yama, dengan username yama dan password
password.
d. Export .WAR Project
Created By Meruvian Cloud Team 20
Yama menggunakan maven, untuk itu user bisa mendapatkan file war dengan
dengan mengakses klik kanan pada project terpilih \ Run As \Maven Build
Lalu isikan perintah clean verify pada textbox goals.Klik tombol Run.
Selanjutnya buka folder target dan kita telah berhasil membuat file WAR yang akan kita deploy di JEE
Container nantinya.
4.2 Deploy Yama di JEE Container
a. Apache Tomcat
Pada tahap ini kita akan melakukan deployment yama yang telah kita export ke dalam
bentuk .WAR ke dalam Apache Tomcat yang telah kita install pada bab sebelumnya.
Ikuti langkah-langkah di bawah ini untuk melakukan deploy yama di apache tomcat :
• Copy kan file .war ke dalam directory apache tomcat/webapps
Created By Meruvian Cloud Team 21
$ cp yama.war apache-tomcat-7.0.29/webapps
• Jalankan apache-tomcat dengan mengeksekusi ./catalina.sh atau ./startup.sh
./catalina.sh run (menjalankan tomcat dengan menampilkan log)
atau
./startup.sh (menjalankan tomcat sebagai service di background)
• Akses browser dan arahkan url ke http://localhost:8080/yama
Login dengan username admin dan password admin sebagai user dan password default.
b.Glassfish
Adapun langkah-langkah mendeploy Yama di Glassfish adalah sebagai berikut :
Jalankan glassfish dengan perintah ./asadmin start-domain
$ ./asadmin start-domain
Akses dashboard glassfish melalui browser dengan alamat http://localhost:4848
Created By Meruvian Cloud Team 22
Pilih Application kemudian klik Deploy untuk memulai deployment
Kemudian masuk halaman Deploy Application
Created By Meruvian Cloud Team 23
Pilih file .war yang akan kita deploy dengan klik tombol choose file
Kemudian pada halaman berikutnya pastikan bahwa Targets diarahkan ke server.
Created By Meruvian Cloud Team 24
Kemudian klik OK untuk memulai deploy.
Jika proses berhasil , maka akan kembali ke halaman daftar aplikasi , dan di bagian terdapat aplikasi
yama yang sudah di deploy.
Klik Laucnh untuk mengakses aplikasi
Selanjutnya kita akan dibawa ke halaman yang menunjukkan url dari aplikasi yama yang telah kita
deploy.
Klik url tersebut sehingga kita mendapati halaman front end dari aplikasi yama seperti di bawah ini :
Created By Meruvian Cloud Team 25
c.Jboss
Di bawah ini akan di jelaskan bagaimana langkah-langkah melakukan deployment file .WAR
(dalam hal ini kita menggunakan Yama) ke dalam Jboss.Pada tulisan ini Jboss yang digunakan adalah
Jboss application server versi 7.1.2.
Langkah-langkah deploy yama.war ke dalam Jboss:
• Unduh jboss-as-7.1.2.Final.zip dari situs resminya di
http://www. jboss .org/ jbossas /downloads .
• Ekstrak file tersebut ke dalam folder dengan perintah unzip
$ unzip jboss-as-7.1.2.Final.zip
• masuk ke dalam direktori jboss.
$ cd Jboss-as-7.1.2
• Buat user admin untuk aplikasi jboss
#./bin/add-user.sh
<a> ManagementRealm
<b> ApplicationRealm
#Pilih yang <a>
Created By Meruvian Cloud Team 26
Enter the details of the new user to add.
Realm (ManagementRealm) : <Enter>
Username : admin
Password : ******
Re-enter Password : ******
The username 'admin' is easy to guess
Are you sure you want to add user 'admin' yes/no? yes
About to add user 'admin' for realm 'ManagementRealm'
Is this correct yes/no? yes
• Jalankan Web Server JBOSS dengan menggunakan perintah di bawah ini.
$ ./bin/domain.sh
• Tunggu beberapa saat hingga Jboss selesai menjalankan semua servicenya.
• Buka web server Jboss di web browser dan masukkan link berikut untuk mengakses
Administrator.
http://localhost:9990/console/App.html
• Masukkan user dan password admin yang sebelumnya telah dibuat.
• Klik Manage Deployments pada tab Domain. Klik Add Content, klik Choose File, dan arahkan ke
direktori file .war yama berada, klik Next.
Created By Meruvian Cloud Team 27
• Otomatis aplikasi akan mendapatkan key algorithm yang berbeda setiap aplikasi yang dideploy, klik
Save.
• Klik next untuk memulai pendeployan, tunggu beberapa saat, sampai proses selesai.
• Setelah semua proses selesai, jalankan aplikasi yama di web browser dengan mengakses alamat url
http://localhost:8080/yama
Created By Meruvian Cloud Team 28
Created By Meruvian Cloud Team 29
Bab 5
Implementasi Clustering
Pada Java Container
Pada bab ini kita akan membahas tentang bagaimana mengimplementasikan clustering pada
beberapa JEE Container yang telah kita install pada bab sebelumnya.
5.1 Load Balance J2EE Container dengan Webserver
Created By Meruvian Cloud Team 30
Load Balance adalah pembagian beban pada server agar server dapat berjalan
seimbang.Contohnya jika pengguna mengakses sebuah situs halaman dengan domain tertentu
maka paket request akan sampai di server, kemudian load balancer yang telah dikonfigurasi
meneruskan request ke aplikasi-aplikasi yang telah disesuaikan domainnya untuk diproses ,
kemudian paket data dikembalikan lagi ke pengguna melalui port HTTP (80).Selain itu load
balance juga bertujuan untuk menyembunyikan port container seperti 8080 dari akses publik
Pada bahasan ini kita menggunakan Apache2 sebagai webserver yang digunakan untuk
forntend load balance.Untuk urusan load balancing ini Apache2 mempunya beberapa module
seperti mod_jk, mod_proxy ataupun module lain yang mempunyai fungsi sama.
5.2 Failover dan Session Replication
FailOver adalah metode clustering dimana jika server utama mengalami DOWN, maka
dengan otomatis sistem akan mengalihkannya ke server lain yang sedang UP.
Metode penting bagi server yang bekerja dengan hit yang besar.
Lalu bagaimana cara server utama memindahkan paket-paket yang telah dikirim oleh client ke
Created By Meruvian Cloud Team 31
server yang lain ketika server utama down ? Session Replication jawabnya
Session Replication, yaitu sebuah metode replikasi paket data pada instance server yang
berbeda.Metode inilah yang digunakan pada cluster untuk memindahkan paket data ke server
yang lain ketika server utama mengalami down.
5.3 Implementasi Load Balance, Failover dan Session Replication
pada Java Container
Sebelum ke tahap selanjutnya ada baiknya kita mempersiapkan beberapa keperluan lain yang
akan kita gunakan untuk percobaan cluster ini :
A. Apache2
Install apache2 sebagai webserver yang akan kita gunakan sebagai frontend load balance.
$ sudo apt-get install apache2
Setelah proses instalasi selesai, buka browser dan ketikkan url http://localhost untuk memastikan
bahwa Apache2 Webserver sudah berjalan.
Created By Meruvian Cloud Team 32
5.3.1 Apache Tomcat
A.Load Balancing
Kali ini kita akan mencoba membuat sebuah load balancing antara apache tomcat
dengan menggunakan HAProxy
Untuk itu kita memerlukan 2 buah apache tomcat v 7 dengan ketentuan beberapa port yaitu :
Port Tomcat 1 Tomcat 2
Shutdown 8005 8105
Http 8080 8180
Created By Meruvian Cloud Team 33
Ajp 8009 8109
Untuk mengganti port tersebut, kita bisa mengedit file server.xml yang berada di dalam folder
apache-tomcat/conf
Cari pada bagian di bawah ini, dan ganti sesuai dengan keterangan di atas :
shutdown
<Server port="8005" shutdown="SHUTDOWN">
Http
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
AJP
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
Selanjutnya jalankan masing-masing tomcat untuk memastikan bahwa tomcat berjalan dengan baik.
Apache Tomcat pertama dengan port http 8080
Apache Tomcat ke dua dengan port http 8180
Created By Meruvian Cloud Team 34
Konfigurasi HAProxy
Buka terminal dan eksekusi perintah di bawah ini :
download haproxy
$ wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.18.tar.gz
extrack haproxy
$ tar -zxf haproxy-1.4.18.tar.gz
install haproxy
$ cd haproxy-1.4.18
$ make install
Ketikkan perintah haproxy untuk memastikan bahwa haproxy berjalan dengan baik:
$ haproxy
HA-Proxy version 1.4.18 2011/09/16
Copyright 2000-2011 Willy Tarreau <w@1wt.eu>
Usage : haproxy [-f <cfgfile>]* [ -vdVD ] [ -n <maxconn> ] [ -N
<maxpconn> ]
[ -p <pidfile> ] [ -m <max megs> ]
Created By Meruvian Cloud Team 35
-v displays version ; -vv shows known build options.
-d enters debug mode ; -db only disables background mode.
-V enters verbose mode (disables quiet mode)
-D goes daemon
-q quiet mode : don't display messages
-c check mode : only check config files and exit
-n sets the maximum total # of connections (2000)
-m limits the usable amount of memory (in MB)
-N sets the default, per-proxy maximum # of connections (2000)
-p writes pids of all children to this file
-sf/-st [pid ]* finishes/terminates old pids. Must be last arguments.
Buat folder haproxy di dalam /etc untuk menyimpan file konfigurasi haproxy
$ sudo mkdir /etc/haproxy
$ sudo nano /etc/haproxy/haproxy.cfg
Isikan dengan konfigurasi di bawah ini :
global
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
maxconn 4096
daemon
defaults
log global
mode http
option httplog
option dontlognull
retries 3
option redispatch
maxconn 2000
contimeout 5000
clitimeout 50000
srvtimeout 50000
Created By Meruvian Cloud Team 36
frontend http-in
bind *:80
default_backend servers
backend servers
option httpchk OPTIONS /
option forwardfor
stats enable
stats refresh 10s
stats hide-version
stats scope .
stats uri /admin?stats
stats realm Haproxy\ Statistics
stats auth admin:pass
cookie JSESSIONID prefix
server tomcat1 127.0.0.1:8080 cookie JSESSIONID_SERVER_1 check inter 5000
server tomcat2 127.0.0.1:8180 cookie JSESSIONID_SERVER_2 check inter 5000
Perlu di ingat bahwa pada
stats auth admin:pass
adalah username dan password untuk authentifikasi ketika kita masuk ke haproxy manager
server tomcat1 127.0.0.1:8080 cookie JSESSIONID_SERVER_1 check inter 5000
server tomcat2 127.0.0.1:8180 cookie JSESSIONID_SERVER_2 check inter 5000
Pada bagian yang bercetak tebal di atas adalah port http dari tomcat1 dan tomcat2 yang kita
masukkan ke dalam cluster.
Perlu di ingat, bahwa HaProxy yang kita konfigurasi menggunakan port 80, jadi matikan
terlebih dahulu apache webserver yang sedang berjalan untuk menghindari crash.
Konfigurasi membaca file konfigurasi file yang ada di haproxy.cfg
$ sudo haproxy -f /etc/haproxy/haproxy.cfg
Created By Meruvian Cloud Team 37
Open browser dan akses url :
http://localhost/admin?stats
Login dengan username dan password yang telah kita buat sebelumnya di file haproxy.cfg
Warna merah pada service tomcat1 dan tomcat2 menandakan bahwa tidak ada tomcat yang sedang
berjalan.Jika di system terdapat tomcat yang tercluster yang sedang berjalan maka warna dari service
akan berubah menjadi hijau.
Sekarang kita jalankan apache tomcat1
$ apache-tomcat-6.1/bin/catalina.sh run
Pada HAProxy browser akan tampak, bahwa satu service tomcat kita telah running
Selanjutnya pastikan dua buah tomcat yang telah kita konfigurasi berjalan.Kita akan coba akses url host
Created By Meruvian Cloud Team 38
kita untuk memastikan bahwa cluster dan load balancing yang kita konfigurasi berhasil.
Masuk ke browser dan akses url http://localhost atau http://localhost/yama
Request yang dikirim oleh client akan diarahkan oleh HaProxy ke dalam Tomcat yang sedang
berjalan di dalam cluster.
Created By Meruvian Cloud Team 39
B. Fail Over
Untuk konfigurasi Apache-tomcat untuk keperluan failover cukup mudah.Sekarang pada
masing-masing apache tomcat yang telah kita konfigurasi pada bagian sebelumnya, edit file
server.xml di dalam folder ${TOMCAT_HOME}/conf/server.xml.
Tambahkan baris berikut di dalam file tersebut:
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
C. Session Replication
Untuk mereplikasi aplikasi Yama yang akan kita deploy ke dalam apache tomcat, cukup
tambahkan tag <distributable/> di dalam file web.xml di dalam folder WEB-INF.
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<distributable/>
…
...
</web-app>
Selanjutnya deploy seperti biasa dengan memindahkan file aplikasi dalam bentuk yama.war ke
dalam folder webapps di dalam apache tomcat.
Kita bisa melakukan beberapa skenario untuk memastikan bahwa konfigurasi berhasil dengan
• akses http://localhost/yama
Created By Meruvian Cloud Team 40
• login dengan username : admin password :admin
• Matikan server2 sementara server1 tetap hidup
Server 1 Server 2
Up Down
• Buka kembali browser dan pastikan bahwa kita tidak perlu login kembali meskipun ada
satu server yang kita matikan.
• Selanjutnya hidupkan Server2 dan matikan Server1
Server 1 Server 2
Down Up
• Buat Crud Item di dalam form yama, dan pastikan ketika kita melakukan save data
tersimpan.Hal ini menunjukkan bahwa failover dan session replikasi kita berhasil
terkonfigurasi antar server tersebut
Created By Meruvian Cloud Team 41
5.3.2 Glassfish
Pada bagian ini akan dibahas bagaimana cara melakukan cluster load balancing, fail over dan
session replication dengan menggunakan glassfishv3.
A. Load Balancing
1.Pastikan bahwa apache2 telah terinstall dengan benar.
2.Pastikan juga bahwa Glassfish sudah berjalan dengan baik.
http://localhost:8080
Created By Meruvian Cloud Team 42
3.Aktifkan modul proxy_http .
$ sudo a2enmod proxy_http
$ sudo service apache2 restart
4.Kemudian lakukan perubahan pada file konfigurasi apache2 di /etc/apache2/apache2.conf
$ sudo nano /etc/apache2/apache2.conf
masukkan baris berikut di baris paling bawah
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
5.Buat Virtual Host baru untuk mengatur Glassfish agar di-load balance oleh apache2.
$ sudo nano /etc/apache2/sites-available/glassfish
dengan isi :
<VirtualHost *:80>
ServerName glassfish.meruvian.com
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
ErrorLog /var/log/apache2/glassfish.error.log
LogLevel warn
CustomLog /var/log/apache2/glassfish.access.log combined
</VirtualHost>
glassfish.meruvian.com adalah nama host dimana Glassfish berjalan.
Untuk menambahkannya edit /etc/hosts , dan tambahkan :
Created By Meruvian Cloud Team 43
127.0.0.1 glassfish.meruvian.com
6.Kemudian enable konfigurasi virtual host tadi .
$ sudo a2ensite glassfish
$ sudo /etc/init.d/apache2 restart
7.Restart kembali Glassfish :
$ cd Glassfish/bin/
$ ./asadmin restart-domain
8.Akses http://glassfish.meruvian.com , jika berhasil maka akan muncul halaman seperti di
bawah ini :
9. Dalam penerapan dalam aplikasi Yama,jika konfigurasi load balance benar dan Yama
telah di deploy sebelumnya maka Yama bisa langsung diakses di
http://glassfish.meruvian.com/yama
Created By Meruvian Cloud Team 44
B. Fail Over
Glassfishv3 memiliki fitur GMS (Group Management Service) yang memang berfungsi
untuk mengatur beberapa metode clustering seperti failover dan session replication dengan
adanya menu baru yaitu 'Cluster'.Adapun langkah-langkah dalam mengkonfigurasi failover
pada glassfish adalah sebagai berikut :
1. Pastikan Glassfish A dan B sudah dapat berjalan dengan baik pada port masing-masing
(4848 dan 4838 ,8080 dan 8081).Pastikan juga bahwa load balance juga sudah berjalan
baik seperti tutorial sebelumnya.
2. Pertama buatlah cluster pada Glassfish A dengan perintah :
$ ./asadmin create-cluster meruvian_local_cluster
3. Kemudian buat instance dalam cluster di meruvian_local_cluster :
$ ./asadmin create-local-instance –cluster meruvian_local_cluster
local1
4. Setelah beralihlah ke direktori Glassfish B dan buat instance pada cluster
meruvian_local_cluster :
$ ./asadmin –port 4848 create-local-instance –cluster
meruvian_local_cluster local2
[OUTPUT]
JMX_SYSTEM_CONNECTOR_PORT=28692
JMS_PROVIDER_PORT=27682
Created By Meruvian Cloud Team 45
HTTP_LISTENER_PORT=28086
ASADMIN_LISTENER_PORT=24854
JAVA_DEBUGGER_PORT=29015
IIOP_SSL_LISTENER_PORT=23826
IIOP_LISTENER_PORT=23706
OSGI_SHELL_TELNET_PORT=26672
HTTP_SSL_LISTENER_PORT=28187
IIOP_SSL_MUTUALAUTH_PORT=23926
Command create-local-instance executed successfully.
5. Pastikan bahwa kedua instance telah berhasil dibuat .
6. Kemudian start cluster pada Glassfish A :
$ asadmin start-cluster meruvian_local_cluster
7. Kemudian start instance local2 di Glassfish B:
$ asadmin start-local-instance --node localhost-domain1 --sync normal
local2
8. Pastikan keduanya sudah berjalan :
9. Untuk memastikan cluster berjalan , testing lah dari segi aplikasi yaitu dari Yama.
Pada aplikasi Yama yang sudah berjalan tambahkan target ke cluster
meruvian_local_cluster.
Created By Meruvian Cloud Team 46
Untuk menambahkan pilih manage target , dan add pada
meruvian_local_cluster,kemudian Save
10. Kemudian akses melalui Web Links .
Created By Meruvian Cloud Team 47
[local1] http://glassfish1.meruvian.com:28085/yama menyatakan bahwa aplikasi yama
telah dideploy di Glassfish A.
[local1] http://glassfish1.meruvian.com:28086/yama menyatakan bahwa aplikasi yama
sudah dideploy di Glassfish B.
11. Untuk testing aplikasinya , klik pada http://glassfish1.meruvian.com:28085/yama dan
http://glassfish1.meruvian.com:28086/yama .
Created By Meruvian Cloud Team 48
12. Untuk memastikan bahwa failover berjalan , matikan service pada Glassfish A ,
kemudian akses kembali pada port 28085 dimana aplikasi yama berjalan di Glassfish A.
Glassfish A Glassfish B
Down UP
Seharusnya jika failover berhasil maka aplikasi Yama tetap bisa dijalankan,
aplikasi CRUD Yama juga tetap berjalan
Created By Meruvian Cloud Team 49
13. Jika ingin dipadu dengan load balance , maka lakukan konfigurasi ulang pada
/etc/apache2/sites-available/glassfish dan mengarahkan ProxyPass dan ProxyPass
Reverse ke http://localhost:28085/ .
Kemudian restart konfigurasi apache2
$ sudo service apache2 restart
14. Kemudian akses kembali http://glassfish.meruvian.com
C. Session Replication
Untuk session replication sudah secara otomatis tercluster pada konfigurasi GMS di
langkah failover sebelumnya.
Tapi untuk memastikan bahwa session replication berhasil lakukan edit pada web.xml di
Glassfish A dengan perintah :
$ nano glassfish/domain/domain1/application/yama/WEB-INF/web.xml
Edit web.xml pada aplikasi dan tambahkan tag <distributable/>
Created By Meruvian Cloud Team 50
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<description>Testing Session</description>
<display-name>meruvian</display-name> <distributable/>
<session-config> <session-timeout> 30</session-timeout> </session-
config> </web-app>
Tambahkan juga glassfish-web.xml pada direktori yang sama:
<?xml version="1.0" encoding="UTF-8"?>
<glassfish-web-app error-url="">
<session-config> <cookie-properties> <property
name="cookieDomain" value="meruvian.com"/>
</cookie-properties> </session-config> </glassfish-web-app>
Kemudian restart kembali Glassfish A.
Untuk mengetest session replication buat juga skenario dengan menginputkan data di
form CRUD di saat service Glassfish A dan B dalam keadaan UP.
Glassfish A Glassfish B
UP UP
Created By Meruvian Cloud Team 51
Masukkan data pada form
Matikan service Glassfish A
$./asadmin stop-domain
Jika session replication yang sudah dipadu dengan load balance dan failover berhasil
maka ketika tombol Save dipilih maka aplikasi tetap berjalan dan memasukkan semua
data pada form ke Database , dan kemudian akan menampilkan hasilnya.
Created By Meruvian Cloud Team 52
5.3.3 JBoss
Pada tahap ini akan dijelaskan cara membangun clustering vertikal dengan menggunakan
container Jboss AS7 Final dan dengan aplikasi Yama.
Sebelumnya , diperlukan beberapa aplikasi yang perlu dipersiapkan sebelum membangun
clustering, antara lain :
• Untuk membangun clustering secara vertikal diperlukan beberapa kebutuhan antara lain:
• Untuk server menggunakan Sistem Operasi Ubuntu 12.04 Precise
• Menggunakan Jboss AS7.1 FInal
• Menggunakan Java6
• Menggunakan aplikasi yama
• Menggunakan MySQL sebagai database aplikasi yama
• Menggunaan mod_cluster untuk load balancing dan session replication
Skenario yang akan dijalankan adalah sebagai berikut :
• Menggunakan standalone mode dalam membangun cluster vertikal antara 2 node di
dalam server yang sama
• Konfigurasi akan difokuskan pada file standalone-ha.xml
• Menggunakan mod_cluster sebagai load balancing dan session replication
• Menggunakan IP kelas C, yaitu 192.168.2.20 dan port 8180 dan 8280
Created By Meruvian Cloud Team 53
A. Load Balance
Di bawah ini merupakan langkah-langkah membangun load balancing di Jboss AS7, aplikasi
yang digunakan untuk load balancing adalah mod_cluster.
• Untuk aplikasi kontainer yang gunakan adalah Jboss AS7 dan file yang digunakan
adalah jboss-as-7.1.0.Final.tar.gz yang dapat diunduh di
http://www. jboss .org/ jbossas /downloads .
• Ekstrak file tersebut ke dalam folder /opt. Dengan perintah tar -zxvf
• Buat dua node dengan menggunakan nama standalone-node1 dan standalone-node2
• Buat user admin untuk kedua node dengan menggunakan perintah di bawah ini
#./bin/add-user.sh
<a> ManagementRealm
<b> ApplicationRealm
#Pilih yang <a>
Enter the details of the new user to add.
Realm (ManagementRealm) : <Enter>
Username : admin
Password : ******
Created By Meruvian Cloud Team 54
Re-enter Password : ******
The username 'admin' is easy to guess
Are you sure you want to add user 'admin' yes/no? yes
About to add user 'admin' for realm 'ManagementRealm'
Is this correct yes/no? yes
• Ubah konfigurasi standalone.conf yang berada di direktori /bin pada setiap node.
...
JAVA_OPTS="$JAVA_OPTS -Djboss.server.default.config=standalone-
ha.xml"
• Berikan nama setiap node
Standalone-node1
<server name="node1" xmlns="urn:jboss:domain:1.2">
Standalone-node2
<server name="node2" xmlns="urn:jboss:domain:1.2">
• mod_cluster yang digunakan dalam clustering ini adalah versi 1.2.0 Final, unduh file
mod_cluster versi terbaru di http://www.jboss.org/mod_cluster/downloads/
• Pilih bundle yang binaries linux2-x86, unduh kemudian ekstrak pada direkori /opt
• Konfigurasi file httpd.conf dengan konfigurasi dibawah ini.
Listen 192.168.2.20:80
<IfModule manager_module>
CreateBalancers 1
Maxsessionid 1
<VirtualHost 192.168.2.20:80>
<Directory />
Order deny,allow
Deny from all
Allow from 192.168.2.
</Directory>
<Location /mod_cluster_manager>
SetHandler mod_cluster-manager
Order deny,allow
Deny from all
Allow from 192.168.2.
Created By Meruvian Cloud Team 55
</Location>
LogLevel debug
ProxyPass /yama balancer://yama/ stickysession=JSESSIONID|jsessionid
nofailover=On
ProxyPassReverse /yama balancer://yama/
<Location /yama>
SetHandler yama
</Location>
KeepAliveTimeout 60
MaxKeepAliveRequests 0
ManagerBalancerName yama
AdvertiseFrequency 5
EnableMCPMReceive
AllowDisplay On
</VirtualHost>
</IfModule>
• Pastikan port :80 tidak sedang digunakan oleh aplikasi lain misalnya apache, jalankan aplikasi
dengan perintah di bawah ini.
$ sudo ./sbin/apachectl start
• Jalankan aplikasi di web browser dengan menggunakan link berikut
http://192.168.2.20/mod_cluster_manager
• Tambahkan fungsi proxy-list pada konfigurasi domain:modcluster
Created By Meruvian Cloud Team 56
<subsystem xmlns="urn:jboss:domain:modcluster:1.0">
<mod-cluster-config advertise-socket="modcluster" proxy-
list="192.168.2.20:80" connector=”ajp”>
• Pada domain:weld ubah ip adress lokal interfaces menjadi ip address server
<subsystem xmlns="urn:jboss:domain:weld:1.0"/>
</profile>
<interfaces>
<interface name="management">
<inet-address value="$
{jboss.bind.address.management:192.168.2.20}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:192.168.2.20}"/>
</interface>
<interface name="unsecure">
<inet-address value="$
{jboss.bind.address.unsecure:192.168.2.20}"/>
</interface>
• Ubah port pada domain:weld dengan menambahkan 100 untuk standalone-node1 dan 200
untuk standalone-node2
<socket-binding name="ajp" port="8109"/>
<socket-binding name="ajp" port="8209"/>
• Tes pada salah satu server jboss
$ cd /opt/standalone-node1/bin/
$ sudo ./standalone.sh -u 230.0.0.4
-Djboss.server.base.dir=../standalone
• Buka aplikasi yama yang telah di load balancer di web browser dengan url berikut:
http://192.168.2.20/yama
Created By Meruvian Cloud Team 57
B. Fail Over
Jboss Application Server memiliki fitur Clustering dan Failover, dengan adanya fitur failover,
kemungkinan downtime server bisa diminimalisir, fungsi failover di Jboss hampir sama dengan
fungsi failover pada umumnya, Berikut tahapan menggunakan failover di Jboss.
• Pastikan server standalone-node1 dan standalone-node2 sudah berjalan dengan baik.
• Pastikan juga Load Balance telah berjalan
• Untuk mengecek kedua node telah berjalan dan port node yang digunakan dapat
mengakses aplikasi mod_cluster di web browser
Created By Meruvian Cloud Team 58
• Buka aplikasi yama yang telah di load balancing di web browser
• Login ke dalam aplikasi dengan username dan password admin
• Uji Failover dengan mematikan salah satu node, misal standalone-node2 dengan
menekan tombol Ctrl + C.
• Jika aplikasi tetap berjalan, berarti failover telah berjalan di cluster vertikal
• Uji dengan sebaliknya, misal mematikan standalone-node2 dan standalone-node1 dalam
keadaan menyala
Created By Meruvian Cloud Team 59
C. Session Replication
Untuk menggunakan session replication pada setiap node, hanya perlu menambahkan
beberapa konfigurasi melanjutkan konfigurasi di load balancing.
• Tambahkan konfigurasi instance-id pada konfigurasi domain:web
Standalone-node1
<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-
server="default-host" instance-id="node1" native="false">
Standalone-node2
<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-
server="default-host" instance-id="node2" native="false">
• Tambahkan fungsi sticky session pada konfigurasi domain:modcluster
<subsystem xmlns="urn:jboss:domain:modcluster:1.0">
<mod-cluster-config advertise-socket="modcluster"
balancer="yama" sticky-session="true" sticky-session-
force="false" proxy-list="192.168.2.20:80" connector=”ajp”>
<dynamic-load-provider history="9" decay="2">
<load-metric type="cpu"/>
</dynamic-load-provider>
</mod-cluster-config>
</subsystem>
• Jalankan kedua node dengan perintah di bawah ini.
Created By Meruvian Cloud Team 60
• Cek kedua node telah berjalan dan aplikasi yama telah dideploy pada mod_cluster
• Buka aplikasi yama yang telah di load balancer di web browser dengan url berikut:
• Buat User baru di tab CRUD EXAMPLE dan sebelum menekan tombol SAVE, tes
terlebih dahulu session replication tiap node, matikan salah satu node, misal standalone-
node2.
• Klik SAVE
• Jika aplikasi tetap berjalan, berarti session replication telah berjalan di cluster vertikal
• Uji dengan sebaliknya, misal mematikan standalone-node2 dan standalone-node1 dalam
keadaan menyala
Created By Meruvian Cloud Team 61
Created By Meruvian Cloud Team 62
Lampiran A :Meruvian Integrated Platform(MIP) versi.1.0
Pengantar
Jauh sebelum Meruvian didirikan, sampai saat buku ini dibuat, yaitu 2001 dibawah
BlueOxygen, sampai ditahun 2010 diputuskan Meruvian mengembangkan engine yang serupa tetapi
lebih ringan dan memiliki skalabilitas. Konsep pengembangan adalah membuat sebuah engine atau
platform yang memudahkan pengembangan, dan telah menjadi dasar dari solusi sejak didirikannya,
kami menyebutnya MIP (Meruvian Integrated Platform)
Meruvian Integration Platform(MIP) merupakan platform integrasi berbasis RESTful yang digunakan
untuk menciptakan solusi pengembangan aplikasi secara lebih cepat. MIP terdapat 2 core model yaitu
Yama dan Midas. Dalam platform ini Yama digunakan sebagai server dan Midas sebagai
client(Aplikasi Android), keduanya berkomunikasi satu sama lain dengan menggunakan mekanisme
REST.
MIP merupakan platform yang bersifat opensource dengan menggunakan Apache License.
Sehingga dapat dengan mudah dikembangkan. MIP juga mendukung teknologi berbasis cloud dan
middleware sehingga dapat dengan mudah dikolaborasikan.
Arsitektur yang digunakan pada MIP Server atau Yama dapat diintegrasikan dengan berbagai
komponen mengacu 3 layer yaitu Model View Controller. Hibernate dipilih sebagai solusi Model,
Spring sebagai IoC dan Struts2 sebagai Controller. Kemudian layer diatasnya akan menghasilkan
output berupa JSON/XML --merupakan sebuah plugins REST untuk Struts2, dapat diakses di
http://s2restplugins-java.net) -- yang dapat diintegrasikan dengan Android, Browser atau mobility
Created By Meruvian Cloud Team 63
Arsitektur Yama
Sekilas mengenai MIP :
-) Pengembangan aplikasi secara lebih cepat
-) Total REST Platform – Consumer & Producer
-) Solusi lengkap: Cloud, Middleware untuk pengembangan solusi mobile
-) Integration Project dari IAAS ke PAAS maupun ke SAAS dan diintegrasikan dengan aplikasi
mobile
-) OpenSource menggunakan Apache License
-) Terintegrasi dengan program Link-&-Match Meruvian
Adapun fitur-fitur pada MIP, meliputi :
Created By Meruvian Cloud Team 64
1. MIP Server
MIP Server yang dikembangkan berbasis REST Service yang dapat diintegrasikan dengan MIP Client
yang berupa aplikasi mobile. Mekanisme pengembangannya berupa platform integrasi (SpringMVC,
Hibernate, JPA), (Struts2, Hibernate, JPA). Sehingga, untuk pengembangan aplikasi menjadi sangat
mudah dan cepat dengan adanya Pattern Platform yang dapat mempercepat proses pembuatan aplikasi
yang sudah disediakan pada MIP Server.
Nama Proyek: Yama (http://yama.java.net)
2. MIP Client
Solusi mobile application baik menggunakan aplikasi android yang dikembangkan sebagai client dari
integrasi MIP.
Nama Proyek: Midas (http://midas.java.net)
Created By Meruvian Cloud Team 65
Lampiran B :
Tertarik Untuk Implementasi Clustering di
Environtment Anda ?
Hubungi kami di :
Email : cs@meruvian.orgPhone : 021-985 644 17
Created By Meruvian Cloud Team 66
top related