Membuat aplikasi web dalam 30 menit

Filed under: , , , by:


Entah kenapa, beberapa waktu belakakangan ini saya menjadi terobsesi mempelajari Grails. Mungkin karena iri dengan RoR namun malas untuk belajar Ruby. Atau karena terpengaruh hasutan temen2x sesama programmer. Atau mungkin hanya iseng aja. Yang jelas, akhir2x ini saya banyak dibuat kagum dengan kemudahan yang ditawarkan Grails dalam membuat web app secara cepat dan mudah.

Oh ya, biasanya jika di artikel2x lain yang membahas mengenai tutorial, biasanya sipenulis akan mengawali dengan paragraf yang memperkenalkan secara singkat mengenai teknologi yang akan diterangkannya. Namun jujur saja, kali ini saya agak malas untuk menulis paragraf yang sebenarnya sudah banyak yang menuliskannya. So, jika anda blm mengetahui mengenai Grails silahkan merujuk ke website nya aja ya :-p .

Well, kalo gitu kita langsung aja membuat aplikasi sederhana yang saya sebut dengan coPas. Aplikasi coPas ini adalah aplikasi yang mirip dengan aplikasi codepaste yang dibuat oleh Bradley Gill dimana anda dapat meperlihatkan source code anda kepada orang lain dengan tampilan yang bagus dengan mudah.

Menyiapkan Lingkungan Kerja
Seperti biasa juga, sebelum kita mulai membuat suatu aplikasi, kita dituntut untuk selalu memastikan bahwa lingkungan kerja dikomputer kita sudah terdapat berbagai tool yang dibutuhkan. Dalam membangun aplikasi mengunakan Grails, berikut ini adalah daftar aplikasi / tool yang seharusnya sudah ada dilingkungan kerja komputer anda.
- Java SDK
- Grails
Sedangkan untuk langkah2x installasi setiap tool tersebut silahkan merujuk ke websitenya masing2x.

Membuat template aplikasi
Jika anda sudah berhasil menginstall semua tool yang dibutuhkan, kini anda dapat memulai membuat aplikasi. Silahkan buat template aplikasi dengan cara mengetikkan perintah dibawah ini pada console anda.
$grails create-app copas
Jika perintah tersebut berhasil maka kini akan ada direktori baru bernama copas. Silahkan masuk kedalam direktory tersebut dengan mengetikkan
$cd copas
Apabila anda melihat direktori itu, maka anda akan menemukan banyak direktori dan file2x yang nantinya akan kita butuhkan dalam mengkonfigurasi aplikasi copas tersebut. Namun, untuk sementara ini kita belum akan menyentuh direktori / file 2x tersebut.
Sekarang silahkan anda ketikkan perintah dibawah ini untuk membuat domain pertama anda. Yang dimaksud dengan domain disini adalah sebuah class yang mirip dengan POJO dan berisi representasi dari sebuah table dalam database anda. Untuk kali ini kita hanya kan membuat domain "Code" yang nantinya akan digunakan untuk menyimpan source code yang user masukkan keaplikasi kita ini.
$grails create-domain-class Code
Setelah perintah tersebut selesai dijalankan, silahkan buka file grails-app/domain/Code.groovy dengan editor kesayangan anda. Anda akan melihat bahwa didalam domain tersebut hanya beisi class kosong. Kini anda harus mengisikannya dengan beberapa attribute sehingga akan seperti gambar dibawah ini.

Setelah itu, dari lokasi root direktori proyek anda ini, silahkan ketikkan perintah dibawah ini
$grails generate-all
Dan kemudian jalan aplikasi dengan perintah berikut ini
$grails run-app
Silahkan tunggu beberapa saat hingga aplikasi anda berjalan dengan sukses, dan kemudian ketikkan pada kotak alamat dibrowser anda lokasi http://localhost:8080/copas.
Seharusnya kini akan muncul tampilan seperti pada gambar dibawah ini.

Agar tampilan source code yang telah anda simpan nanti dapat dimunculkan dengan rapi, maka anda harus menginstall plugin syntax-highlighter. Ketikkan perintah berikut ini pada console
$grails install-plugin syntax-highlighter
Kemudian modifikasi file grails-app/views/code/show.gsp sehingga akan menjadi seperti dibawah ini

Sekarang silahkan jalankan kembali aplikasi anda dengan perintah $grails run-app
Wah, ternyata gampang kan bikin aplikasi web :D

update :
Saya sudah membuat project di google code. Silahkan download source code nya disini untuk mempelajarinya.

Men-deploy equinox di Morph

Filed under: by:

Setelah artikel saya yang sebelumnya mengenai Morph Labs, kali ini saya ingin sedikit membagi pengalaman saya dalam mendeploy equinox kedalam sistem Morph. Setelah membaca artikel ini, diharapkan nantinya anda akan leih mudah untuk medeploy aplikasi anda yang berbasiskan equinox ataupun appfuse.


Mendaftar di Morph Labs
Sebelum anda bisa mendeploy aplikasi kedalam sistem Morph, tentunya anda diharuskan untuk mendaftar terlebih dahulu. Langkah2x yang harus anda lakukan adalah sebagai berikut :

- Pergilah ke alamat http://panel.mor.ph/signup sehingga akan muncul halaman formulir.
- Masukkan informasi2x yang dibutuhkan pada kotak isian yang telah disediakan.
- Check pada pilihan "I have read and agree to the Terms of Use." untuk menyetujui
- Click tombol "Signup"
- Periksa email anda dan click link yang ada untuk memverifikasikan email anda.
- Kini anda sudah terdaftar dan dapat login kedalam sistem Morph.

Mempersiapkan lingkungan kerja aplikasi
Kini anda harus mempersiapkan AppSpace yang dipersiapkan untuk menampung aplikasi kasi anda nantinya. Anda akan diminta untuk mengisikan informasi2x yang berkaitan dengan profile aplikasi anda. Isilah informasi2x yang sesuai dengan profile aplikasi yang akan anda deploy.

Setelah anda mempersiapkan AppSpace tersebut, kini anda harus mendonlot beberapa file yang nantinya akan kita gunakan dilingkungan kerja lokal komputer anda. Setelah itu silahkan click link "create database" untuk membuat database untuk aplikasi anda. Kemudian silahkan click tombol "Manage" untuk masuk kedalam halaman AppSpace aplikasi anda tersebut untuk mendonlot file2x yang akan kita butuhkan untuk proses deploy. Silahkan donlot file2x berikut ini dan simpan didalam root directory proyek equinox anda.
- Deployment properties file
- Deployment jar
- Ant plugin

Jika anda sudah mendonlot semua file itu, kini yang harus kita lakukan adalah melakukan beberapa perubahan dikonfigurasi equinox anda.
-Ubah file <equinox-root-dir>/src/main/webapp/WEB-INF/web.xml dengan menambahkan baris berikut ini pada baris sebelum tag "</web-app>".

<resource-ref>
<description>Morphlabs Datasource</description>
<!-- any name will do for the res-ref-name -->
<res-ref-name>jdbc/morph-ds</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>


- Ubah file <equinox-root-dir>/src/main/webapp/WEB-INF/applicationContext-hibernate.xml agar aplikasi anda mengambil lokasi jndi yang sudah disiapkan oleh sistem sebagai lokasi datasource.
- Ubah nilai <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> menjadi <bean id="dataSource-jdbc" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
- Tambahkan baris2x berikut ini pada baris sebelum baris <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

<bean id="dataSource-jndi" class="org.springframework.jndi.JndiObjectFactoryBean">

<property name="jndiName" value="java:/comp/env/jdbc/morph-ds"/>

</bean>

- Ubah nilai <property name="dataSource" ref="dataSource"/> menjadi <property name="dataSource" ref="dataSource-jndi"/>


- Tambahkan baris seperti dibawah ini pada file <equinox-root-dir>/build.xml

<taskdef name="morph-deploy" classname="com.morphexchange.ant.task.MorphDeployer" classpath="morph-ant-task.jar"/>
<target name="deploy-to-morph" depends="war"
description="deploy war package to morph server">

<echo message="Deploying web application to morph server"/>
<morph-deploy configFile="morph_deploy.properties" warFile="${dist.dir}/${webapp.name}.war" username="<username_anda>" password="<password_anda>"/>
</target>

Mulai mengupload

Nah, setelah perubahan2x tersebut, proyek equinox anda sudah dapat dideploy kedalam sistem Morph. Silahkan uji dengan menjalankan perintah "ant clean deploy-to-morph". Anda akan diminta menunggu beberpaa saat tergantung kecepatan koneksi anda. Jika sudah selesai, silahkan arahkan alamat browser anda kelokasi aplikasi yang sudah anda tentukan sebelumnya.

Hosting gratis aplikasi J2EE

Filed under: by:

Sebagai developer aplikasi Java, khususnya J2EE, sering kali saya merasa bingung jika ingin mem-publish karya saya agar dapat dilihat atau dipergunakan oleh orang lain. Baik itu untuk hal yang berkaitan dengan kepentingan bisnis maupun pribadi. Hal itu disebabkan karena sedikitnya layanan hosting gratisan yang dapat menjalankan aplikasi J2EE saya tersebut. Kadang saya iri dengan para developer PHP yang mempunyai banyak pilihan hosting gratisan untuk mempublikasikan karyanya.


Solusi yang akhirnya saya tempuh untuk mengatasi permasalahan ini adalah dengan cara membuat app server sendiri dirumah yang saya hubungkan dengan internet. Namun memiliki app server pribadi sangat menyulitkan bagi saya dalam pengelolaannya. Banyak energi, waktu, dan biaya yang harus dipersiapkan untuk itu, setidaknya saya harus memiliki sebuah mesin yang cukup kuat dan akses internet yang bagus dan murah.

Akhirnya, setelah usaha pencarian yang cukup melelahkan ini, saya menemukan sebuah tempat dimana saya dapat men-deploy aplikasi J2EE saya agar dapat dipublikasikan. Kini saya dapat men-deploy aplikasi saya di Morph Labs yang merupakan penyedia layanan Platform as a Service (PaaS). Mereka menyediakan berbagai resource yang kita butuhkan untuk mendeploy aplikasi2x berbasis Java(J2EE, Grails) dan Ruby on Rails(RoR).

Wah, saya bingung mo cerita apalagi soal ini. So, kalau tertarik silahkan saja langsung menuju ke website-nya dan silahkan lihat contoh aplikasi equinox yang saya sudah deploy disana.