Pertemuan 3 Pemrograman Web J2EE dan Konsep Client-Server

Pertemuan 3 Pemrograman Web J2EE dan Konsep Client-Server

j2eePada Postingan kali ini, kita akan membahas mengenai inti dari Mata Kuliah Pemrograman Web 1 ini, yaitu tentang “Pemrograman Web J2EE dan Konsep Client-Server“. Topik ini akan menjelaskan kira-kira apa sih karakteristik pemrograman web itu, proses kerja Client-Server mengenal lebih dalam mengenai J2EE, dan beberapa istilah umum yang terdapat dalam pemrograman web.

Pertemuan 3 Pemrograman Web J2EE dan Konsep Client-Server

Sebelum kita masuk ke pembahasan gambar di atas lebih lanjut, disitu udah tau belum apa itu Pemrograman Web ??

Pemrograman Web bila dipisah menjadi 2 yaitu :

  1. Pemrograman yaitu proses pembuatan program dengan bahasa pemrograman tertentu.
  2. Web yaitu Kumpulan situs-situs yang tertera pada Internet yang memunculkan tampilan grafik dan suara melalui protokol HTTP.

Jadi, Pemrograman Web merupakan Proses pembuatan situs-situs internet yang memunculkan tampilan kepada client melalui HTTP dengan menggunakan bahasa pemograman. Pemrograman Web juga bisa disebut dengan Pemrograman Jaringan lhoo..

Karakteristik Pemrograman Web :

  • Kebutuhan akan Teknologi Netral
    • User dapat menggunakan Sistem Operasi apapun, tidak ada Sistem Operasi yang spesial sama sekali. Bisa menggunakan Windows, Android, Mac OS, Linux dan banyak lagi.
    • User tidak membutuhkan client yang diprogramkan pada bahasa pemrograman atau framework tertentu.
    • User tidak memerlukan proses instalasi, cukup browser dan internet.
    •  

      User tidak ikut berperan dalam update program, karena hal tersebut telah dikerjakan oleh server.

  • Menggunakan Web Browser ( sisi client ) yang digunakan untuk mengakses aplikasi web
  • Server menyediakan Database Server dan Web Server
    • Database Server : Melayani akses terhadap database
      Contoh : Oracle dan MySQL
    • Web Server : Melayani permintaan user terhadap aplikasi web.
      Contoh : Apache ( Bersifat Open Source ), IIS, dan lain-lain

Dari tadi pembahasan diatas, ada yang sadar tidak?? Yang tulisan cetak miring, bergaris bawah, dan berwarna merah. Tulisan itu adalah Client dan Server. Selanjutnya, kita akan membahas mengenai Client, Server dan hubungan keduanya.

Apa itu Client ?

= Merupakan sebuah Browser.
= Hanya berupa interface atau antarmuka yang digunakan oleh user uuntuk melaksanakan tugas-tugas.
= Meminta atau merequest data kepada server.

Apa itu Server ?

= Memerlukan data untuk melakukan operasi.
= Logika aliran program dan eksekusi.= Menerima permintaan, memproses dan merespon data yang dicari client.

Prinsip Kerja Client-Server

Client-Server

  1. Client membuka browser untuk mengakses halaman web
  2. Client merequest halaman web berupa URL pada browser. Proses ini disebut HTTP Request.
  3. Server memproses request client dengan mencari sumber file ( dalam bentuk IP address ) yang direquest client.
  4. Server merespon permintaan client ( berupa dokumen yang direquest atau berupa status error code jika sumber file tersebut tidak ditemukan, yaitu 404 ). Proses ini disebut HTTP Response.

Selain status kode 404, banyak lagi respon HTTP berupa Status Kode, pada umumnya yang sering kita temui :

  • 200 ( OK / Successful / Request Berhasil )
    Server berhasil memproses permintaan/request dari client, yang berarti sukses terhubung ke halaman web. Biasanya kode ini tidak tampak oleh client dan langsung menampilkan halaman web yang diminta.
  • 404 ( Not Found / Tidak Ditemukan )
    Server tidak menemukan halaman web yang diminta. Biasanya saya menemukan status kode ini ketika melaksanakan proses perkuliahan pemrograman web. Kesalahannya terdapat pada action = “….” dalam tag <form action=”…..”> di file HTML.
  • 500 ( Internal Server Error )
    Server mengalami error dan tidak dapat memenuhi permintaan client. Biasanya kesalahan ini terjadi pada servlet. Mungkin coding yang anda buat dalam servlet mengalami error ata kesalahan pengetikan.
  • 503 ( Service Unavailable )
    Server saat ini tidak tersedia, dikarenakan overload atau dalam proses maintenance. Status ini bersifat temporary/sementara.

Berikut beberapa Daftar Status HTTP Response Kode, yang tergolong sebagai berikut :

  • 1xx ( Provisional Response )
    Status Kode yang bersifat sementara saja, meminta user untuk mengambil tindakan selanjutnya.
    Contoh :
    – 100 ( Continue )
    – 101 ( Switching Protocols / Permintaan untuk beralih protokol )
  • 2xx ( Success )
    Status Kode dimana server telah berhasil memproses request.
    Contoh :
    – 200 ( Success )
    – 201 ( Created / Server membuat resource baru )
    – 202 ( Accepted / Server telah menerima request, tetapi belum diproses )
    – 204 ( No Content / Server berhasil memproses request, tapi tidak ada konten )
  • 3xx ( Redirected )
    Status kode ini meminta user untuk melakukan pengalihan URL.
    Contoh :
    – 300 ( Multiple Choices / User memilih beberapa pilihan yang dibuat server )
    – 305 ( Use Proxy / Hanya dapat mengakses halaman dengan proxy )
  • 4xx ( Request Error / Client Error )
    Status kode dimana kemungkinan terjadi kesalahan dalam request dan mencegah server untuk memprosesnya.
    Contoh :
    – 400 ( Bad Request / Server tidak memahami request karena kesalahan sintaks )
    – 401 ( Unauthorized / Memerlukan otentifikasi ( page behind login )
    – 403 ( Forbidden / User dilarang mengakses halaman web tersebut )
    – 404 ( Not Found )
    – 408 ( Request Time Out / Server kehabisan waktu menunggu request )
  • 5xx ( Server Error )
    Status kode ini menandakan bahwa terjadi kesalahan pada server sendiri pada saat memproses request/permintaan, bukan kesalahan pada request.
    Contoh :
    – 500 ( Internal Server Error )
    – 505 ( HTTP version not Supported )

Dalam pokok bahasan mengenai Client-Server, terdapat beberapa istilah umum yang perlu diketahui, antara lain :

HyperText Markup Language ( HTML )

html logo

Merupakan bahasa pemrograman standar yang menampilkan informasi berbasis website melalui web browser dengan kode ASCII yang memiliki karakteristik markup “<>”. Standar HTML ini sendiri dikeluarkan oleh W3C ( World Wide Web Consortium ).

Untuk contoh HTML dapat dilihat pada postingan Pertemuan 2 HyperText Markup Language.

HyperText Transfer Protocol ( HTTP )

HTTP-icon

Merupakan sebuah protokol yang berfungsi untuk mentransfer dokumen atau interface kepada user dalam WWW ( World Wide Web ). Port yang digunakan adalah port 80.

HTTP dapat dibagi menjadi 2 bagian :

  1. HTTP Request
    HTTP Request dikirimkan ke server pada saat user melakukan permintaan melalui web browser.
    HTTP Request dapat dilakukan melalui 2 metode, antara lain :
    – Method GET ( Menampilkan data-data yang diinput oleh user pada URL )
    – Method POST ( Menyembunyikan value yang diinputkan oleh user pada URL )Contoh HTTP Request Header :
    HTTP Request
  2. HTTP Response
    HTTP Response dikirimkan ke client pada saat server merespon permintaan dari client.
    Contoh HTTP Response Header :
    HTTP Response

Web Browser

web-browsers

Merupakan aplikasi atau perangkat lunak yang berfungsi sebagai interface/antarmuka yang digunakan oleh client untuk mengakses website. Web Browser ini sebagai penghubung antara client dan server. Contoh nya seperti Safari, Chrome, Mozilla Firefox, Internet Explorer, Opera dan banyak contoh lainnya.

Web Server

Web Server

Merupakan sebuah teknologi informasi yang bertugas memastikan informasi yang diminta oleh client dapat tersampaikan menggunakan protokol HTTP. Contoh : Apache, IIS, Nginx, LiteSpeed, GWS, dan lain-lain.

Uniform Resource Locator ( URL )

URL

Merupakan suatu rangkaian karakter sesuai dengan standar tertentu sebagai identitas dari resource di internet. URL merupakan bagian dari URI ( Uniform Resource Identifier ). URI dibedakan untuk mengidentifikasi nama dan lokasi. Untuk nama disebut URN ( Uniform Resource Name ), sedangkan untuk lokasi disebut dengan URL.

Setelah membahas beberapa istilah umum yang berkaitan dengan Client-Server, saat ini kita akan mengkaji mengenai J2EE.

Apa itu J2EE ?

J2EE ( Java 2 Enterprise Edition ) merupakan platform java berskala enterprise seperti pengembangan aplikasi web, jaringan dan lain-lain. Platform ini lebih lengkap dari platform J2SE ( aplikasi berbasis GUI ) dan J2ME ( lebih ke arah aplikasi berbasis mobile, dan hardware yang berukuran kecil/mikro ).

J2EE Container

J2EE Container

Merupakan server penghubung antara client dengan database. Terdiri dari Web Container dan EJB ( Enterprise JavaBeans ) Container.

  • Web Container
    Biasa disebut dengan Servlet Container. Berfungsi untuk mengontrol proses eksekusi JSP Page dan Servlet, pemetaan URL ke servlet tertentu dan memastikan bahwa URL yang direquest telah benar.
    Contoh : Apache Tomcat, GlassFish ( dari Oracle ), Jetty ( dari Eclipse ), dan lain-lain.

    • Servlet
      Sebuah file class java untuk meningkatkan kemampuan web server dalam menangani request dari client dan response untuk client, biasanya melalui protokol HTTP.
    • JSP ( Java Server Pages )
      Kombinasi Java dengan HTML untuk menyediakan isi atau content yang lebih dinamis pada halaman web.
  • Enterprise JavaBeans Container
    Komponen untuk pengembangan aplikasi bisnis berskala besar dari sisi server yang mengontrol pekerjaan Enterprise Beans untuk aplikasi J2EE.
  • Application Client Container
    Terdiri dari beberapa class java, library java, dan file-file lainnya yang dibutuhkan untuk mengeksekusi program java.

J2EE Components

J2EE Components

  • Java Messaging Service ( JMS )
    Teknologi J2EE Messaging yang memungkinkan sebuah aplikasi untuk saling berkomunikasi antara satu dengan yang lainnya
  • Java Naming and Directory Interface ( JNDI )
    Sebuah Java API standar yang mengizinkan aplikasi untuk mencari atau mengidentifikasi objek maupun komponen-komponen berdasarkan nama, seperti RMI, Enterprise JavaBeans, JMS Queues, JDBC DataSources.
  • Java Transaction API ( JTA )
    Standar API yang digunakan untuk melaksanakan transaksi data pada aplikasi Java. JTA ini bekerjasama dengan JDBC ( berhubungan dengan database ).
  • Java Mail
    Memberikan aplikasi untuk membuat pesan e-mail dan mengirimnya melalui SMTP ( Simple Mail Transfer Protocol ).
  • JavaBeans Activation Framework ( JAF )
    Layanan standar yang digunakan untuk menentukan tipe data, memperkecil ruang lingkup akses, mencari operasi yang tersedia, dan menginisialisasi komponen JavaBeans untuk melakukan operasi-operasi.
  • Remote Method Invocation – Internet Inter-ORB Protocol( RMI-IIOP )
    Protokol ekstensi RMI yang digunakan untuk integrasi COBRA.
  • Java DataBase Connectivity ( JDBC )
    Standar API yang berfungsi untuk mengakses database, khususnya dalam bahasa pemrograman Java.

Sekian saja pembahasan mengenai Pemrograman Web J2EE beserta konsep dari Client dan Server. Saya harap materi ini dapat bermanfaat bagi kalian semua 😀

Push to the Limit

 

Referensi yang mendukung :

https://id.wikipedia.org/wiki/Pemrograman_web

https://docs.oracle.com/cd/E18930_01/html/821-2418/beaku.html

http://docs.oracle.com/javaee/1.3/tutorial/doc/Overview4.html

http://rendyriskianto.blogspot.co.id/2010/07/pemrograman-dengan-java-server-pages.html

http://rendyriskianto.blogspot.co.id/2010/07/pemrograman-servlet.html

https://en.wikipedia.org/wiki/Web_container

https://en.wikipedia.org/wiki/List_of_HTTP_status_codes

http://problogiz.blogspot.co.id/2012/12/memahami-kode-kode-status-http.html

http://docs.oracle.com/cd/E13222_01/wls/docs81/intro/chap1.html

http://www.oracle.com/technetwork/articles/java/index-135046.html

 

,
One comment on “Pertemuan 3 Pemrograman Web J2EE dan Konsep Client-Server
  1. Pingback: Pertemuan 7 HTTP Request and Response - Fandy's Personal Blog

Leave a Reply

Your email address will not be published. Required fields are marked *