Hosting JSP Gratis Dengan Google App Engine


Google App Engine adalah layanan hosting aplikasi web  dari Google. Layanan ini bersifat gratis (dengan keterbatasan, yang tentunya bisa dihindari bila membayar) . Untuk menggunakannya, saya harus mendaftar terlebih dahulu di http://appengine.google.com. Setelah mendaftar, saya perlu membuat sebuah aplikasi baru dengan men-klik pada tombol Create Application. Google akan meminta verifikasi SMS terlebih dahulu. Setelah itu, saya memilih sebuah nama unik untuk aplikasi saya, misalnya latihan-java, seperti yang terlihat di gambar berikut ini:

Membuat Aplikasi Baru Di Situs Google App Engine

Membuat Aplikasi Baru Di Situs Google App Engine

Langkah berikutnya adalah menyiapkan lingkungan development untuk membuat kode program. Saya memakai Eclipse IDE for Java EE Developers versi 4.2 (Eclipse Juno) yang dapat di-download di alamat http://www.eclipse.org/downloads. Setelah selesai di-download, saya men-extract file eclipse-jee-juno-win32.zip ke C:\ setelah akan terdapat folder C:\eclipse\. Di dalam folder ini, ada file eclipse.exe yang dapat langsung dijalankan. Setelah men-double click file eclipse.exe, logo Eclipse 4.2 yang berkilau akan muncul menandakan bahwa Eclipse sedang ‘loading‘.

Setelah ini, saya perlu menambahkan plugin Google ke dalam Eclipse. Langkah detail dapat ditemukan di https://developers.google.com/eclipse/docs/install-eclipse-4.2. Secara garis besar, yang perlu saya lakukan di Eclipse adalah:

  1. Membuka menu Help, Install New Software.
  2. Men-klik tombol Add… yang ada disamping Work with:
  3. Saya mengisi Name dengan Google App Engine dan mengisi Location dengan http://dl.google.com/eclipse/plugin/4.2
  4. Setelah menambahkan lokasi baru, di Work with, saya memilih lokasi Google App Engine yang saya tambahkan di lokasi sebelumnya.
  5. Saya memberi centang pada Google Plugin for Eclipse (required) dan SDKs.
  6. Setelah menyetujui lisensi dengan memilih I accept the terms of the license agreements, Eclipse akan men-download file yang dibutuhkan. Ukuran file sekitar lebih dari 180 MB.
  7. Setelah selesai melakukan instalasi, Eclipse akan memberikan pesan untuk melakukan restart.  Saya langsung men-klik tombol Restart Now.

Berikutnya, saya akan membuat sebuah proyek baru di Eclipse dengan memilih File, New, Web Application Project. Pada Project name, saya mengisi dengan latihan. Pada package, saya mengisi dengan co.id.jocki. Saya juga menghilangkan tanda centang di Use Google Web Toolkit serta Generate project sample code, seperti yang terlihat di gambar berikut ini:

Membuat Proyek App Engine Baru

Membuat Proyek App Engine Baru

Pada proyek yang dibuat oleh Eclipse, terdapat folder src dan war.  Folder src adalah tempat saya meletakkan kode program Java.   Sementara itu, folder war adalah tempat saya meletakkan file HTML, CSS, gambar, termasuk file JSP.

Untuk membuat sebuah file JSP di folder war, saya men-klik kanan pada folder war, kemudian memilih New, Other. Pada dialog yang muncul, saya memilih New, JSP File. Lalu saya men-klik Next. Saya mengisi latihan.jsp pada File name, kemudian saya men-klik tombol Finish.

Struktur proyek akan terlihat seperti berikut:

Struktur Proyek App Engine

Struktur Proyek App Engine

Saya melakukan sedikit modifikasi sehingga isi file latihan.jsp terlihat seperti berikut ini:

<%@page import="java.util.Enumeration"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Latihan</title>
  </head>

  <body>
    <h1>Nama Servlet: <%=config.getServletName() %></h1>
    <h1>Informasi Context</h1>
    <p>Context Path: <%=config.getServletContext().getContextPath() %></p>
    <p>Versi Servlet: <%=config.getServletContext().getMajorVersion() %>.<%=config.getServletContext().getMinorVersion() %></p>
    <p>Server Info: <%= config.getServletContext().getServerInfo() %>
    <p>Servlet Context Name: <%=config.getServletContext().getServletContextName() %></p>

    <h1>Informasi Request</h1>
    <p>Path Info: <%=request.getPathInfo() %></p>
    <p>Path Translated: <%=request.getPathTranslated() %></p>
    <p>Query String: <%=request.getQueryString() %></p>
    <p>Alamat Kamu: <%=request.getRemoteAddr() %></p>
    <p>Host Kamu: <%=request.getRemoteHost() %></p>
    <p>Port Kamu: <%=request.getRemotePort() %></p>

    <h1>Informasi Request Dari Kamu</h1>
    <%
      Enumeration enumHeader = request.getHeaderNames();
      while (enumHeader.hasMoreElements()) {
       String headerName = (String) enumHeader.nextElement();
       out.println("<p>" + headerName + ": " + request.getHeader(headerName)+"</p>");
      }
    %>
  </body>
</html>

Untuk  menjalankan halaman JSP  ini di komputer lokal, saya men-klik kanan di area editor latihan.jsp lalu memilih menu Run As, Web Application. Window Console akan terbuka dan saya akan menemukan tulisan seperti:

INFO: The server is running at http://localhost:8888/
...
INFO: The admin console is running at http://localhost:8888/_ah/admin

Saya kemudian mem-browse alamat  http://localhost:8888/latihan.jsp untuk melihat seperti apa tampilan JSP pada saat dijalankan.   Setelah memastikan bahwa file JSP dapat ditampilkan dengan baik di komputer lokal, saya perlu memindahkan (deploy) proyek ini ke server Google.  Tujuannya tentu saja agar halaman JSP ini dapat diakses oleh banyak orang.

Saya memulai proses deploy dengan memilih drop-down di GDT pull-down, dan men-klik pilihan Deploy to App Engine… seperti pada gambar berikut ini:

Men-deploy proyek ke App Engine

Men-deploy proyek ke App Engine

Bila ini adalah pertama kalinya saya melakukan proses deploy,  Eclipse akan memunculkan sebuah dialog untuk mengisi nama user dan password account Google App Engine.  Ia akan meminta izin, dan saya perlu memberikan kewenangan dengan men-klik tombol Izinkan Akses.   Setelah proses login selesai,  saya dapat melihat status apakah telah sign-in atau tidak, dengan melihat indikator di kanan bawah layar.  Bila seandainya saya ingin mengganti ke account lain, saya perlu men-klik indikator ini.

Seandainya saya telah sign-in ke Google App Engine di Eclipse, maka pada saat melakukan proses deploy akan muncul sebuah kotak dialog Deploy dengan pesan latihan does not have an application ID.   Untuk memperbaikinya, saya men-klik pada link App Engine project settings…. Pada dialog yang muncul, saya mengisi application ID sesuai dengan yang sebelumnya saya buat di halaman administrasi Google App Engine, misalnya latihan-java, seperti pada gambar berikut ini:

Pengaturan proyek App Engine

Pengaturan proyek App Engine

Di dialog Deploy akan ada status Ready to deploy application ‘latihan-java’, version 1.   Ini menandakan bahwa saya bisa  memulai proses pemindahan isi proyek ke server Google dengan men-klik tombol Deploy.  Eclipse akan menampilkan progress selama proses berlangsung.

Setelah  selesai, saya dapat mencoba melihat isi file JSP saya dengan membuka URL: http://[application_id].appspot.com/latihan.jsp.

Bila application id saya adalah latihan-java, maka saya harus membuka URL berikut:

http://latihan-java.appspot.com/latihan.jsp

Perihal Solid Snake
I'm nothing...

4 Responses to Hosting JSP Gratis Dengan Google App Engine

  1. Kevin mengatakan:

    halo pak joki, gw mpe langkah “Ia akan meminta izin, dan saya perlu memberikan kewenangan dengan men-klik tombol Izinkan Akses.” Setelah langkah ini pop out dialog tutup sendiri n tidak ada pesan apa2 lagi, di kanan bawah juga tidak ada tanda2 ter sign in, terus gw coba klik “deploy app engine” lagi, tidak ada respon lagi, bahkan udah gw restart eclipse ku, tidak berpengaruh

    • Solid Snake mengatakan:

      Gw juga pernah mengalaminya.. pastikan perspective yang sedang aktif adalah perspective “Java” (lihat di icon kanan atas). Kamu juga bisa memilih menu Window, Open Perspective, Other… Kemudian pilih Java. Setelah itu, coba deploy kembali.

      • Kevin mengatakan:

        solved mr.snake, gw ganti persepective nya dengan perspective lain selain java, trus gw milih kembali perspective java, baru bisa berjalan😀

        gimana kalo pingin nge hosting database mysql ke appengine ini juga mr.snake?

  2. Kevin mengatakan:

    ternyata uda di tulis di postingan berikutnya, thx mr.snake! keep posting😀

Apa komentar Anda?

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: