Web server memberikan layanan untuk tampilan pada web browser, sedangkan Application server menyediakan operasi yang bisa dipanggil oleh aplikasi client. Singkatnya kita bisa katanan bahwa Web Server secara eksklusif menghandel HTTP request, sedangkan Application Server memberikan layanan bussiness logic untuk suatu aplikasi yang dimungkinkan melalui beberapa protokol, termasuk bisa juga lewat HTTP.

Web Server

Web server memberikan layanan permintaan melalui protokol HTTP. Ketika Web server menerima sebuah reques via HTTP atau HTTP request, dia akan merespon dan memberikan HTTP response, seperti mengirimkan halaman HTML. Dalam memproses request, web server bisa jadi akan merespon dengan halaman statik HTML atau gambar, mengirimkan redirect atau akan memberikan permintaan atau request tersebut ke script program dinamis yang lain seperti CGI, JSP dsb. Jadi pada umumnya, web server akan memberikan respon dalam bentuk halaman HTML umntuk pada akhirnya di tampilkan di web browser.

Nah…carana gini ne… ketika suatu request datang ke suatu web server, maka web server akan melanjutkannya kepada suatu program yang memang dituju untuk menhandel permintaan itu. Perlu diingat bahwa web server tidak menyediakan fungsionalitas apapun, kecuali hanya menyediakan lingkungan atau environment yang memungkinkan program server side script untuk terseksekusi dan memberikan respon balik. Sedangkan yang dilakukan oleh suatu program server side bisa macam2, bisa pemrosesan transaksi, koneksi databse, ataupun juga bisa messaging, redirecting dsb.

Application Server

Untuk application server, ia menyediakan layanan bisnis logic untuk aplikasi client bisa melalui berbagai protokol, termasuk di dalamnya protokol HTTP. Kalau web server intinya pada penerimaan request dan pengiriman kembali respon dalam bentuk halaman web untuk akhirnya ditampilkan kembali di browser, maka untuk aplication server menyediakan akses ke bisnes logic untuk digunakan oleh client. Program aplikasi client dapat menggunakan bisnis logic ini dengan memanggil method yang ada pada suatu objek…atau kalao di dunia struktural si…manggil fungsi atau prosedur lah…

ContohSebagai sebuah contoh, bayangkan sebuah alikasi toko online yang harus menyediakan informasi harga dan stok barang secara real time. Seperti yang kebnyakan sudah ada, apliaksi ini bisa didesain dengan sebuah halaman yang terdiri dari form, yang anda bisa memilih product dsb, kemudian setelah anda mensubmit request, akan muncul halamn respon yang berisi daftar arga dan stok barang yang anda pilih. Kemudian anda bisa memilih barang tersebut untuk dimasukkan ke daftar pembelian, atau cukup sekedar melihat saja. Aplikasi ini bisa dikembangkan melalui 2 cara yaitu dengan web server atau dengan application server.

cara 1: menggunakan Web server tanpa application server

Pada cara ini, web server akan menerima request, kemudian melanjutkan request tersebut ke program server side yang sesuai. Dari sini server side program akan mencari informasi harga dan stok dari database atau file. Setelah itu kemudian hasil tersebut diformulasikan dalam format HTML dan dikirimkan kembali ke web browser untuk ditampilkan lagi. Ringkasnya, web server akan memproses HTTP request dan meresponnya dengan HTML page.

cara 2: Web server dengan application server

Kita sekarang dapat meletakkan bisnis logic untuk pencarian harga dan stok pada application server. Ketika client membutuhkan untuk mencari daftar harga dan stok dari suatu barang, dapat langsung mengakses bisnis logic dan memanggil method untuk pencarian ini. Hasil yan gdidapatkan kemudian ditampilkan dalam browser,.

Pada cara ini, application server memberikan layanan business logic untuk pencarian daftar harga dan stok dari suatu produk. Ketika client meminta layana tersebut atau memanggil layana tersebut, application server akan menjalankan program itu dan akan mengirimkan kembali hasilnya ke client. Dan client akan menerima data hasil tersebut. Jadi data tidak dikirimkan dalam format HTML kepada client. Setelah mendapatkan hasil tersebut, maka client dapat menampilkannya dalam browser, tentu dengan formula HTML, tapi ini dilakukan oleh client.

Dengan cara ini maka plikasi pencarian harga untuk suatu barang tersebut lebih re-usable. Kalau ada objek lain yang memanggil, misal bukan pembeli, tetapi kasir, maka aplikasi logic untuk pencarian tersebut tetap bisa digunakan. Berbeda dengan cara no.1 yang mengirimkan hasil ke client sudah dalam bentuk formu HTML, jadi lebih un-re-usable.

Itu tadi sekilas penjelasannya. Mungkin perlu jiga untuk diketahui, pada umumnya memang di dalam application server sudah ada web server. atau web server merupakan bagian dari application sever.  COntoh Appliocation server : WebLogic Server (BEA), JBoss (Red Hat), WebSphere (IBM), JRun (Adobe), Apache Geronimo (Apache Foundation, based on IBM WebSphere), Oracle OC4J (Oracle Corporation), Sun Java System Application Server (Sun Microsystems) and Glassfish Application Server (based on Sun Java System Application Server). Contoh web server: Apache (oleh vendor apache), IIS (Microsoft), GFE (Google) dsb.

Translated from: http://www.javaworld.com/javaqa/2002-08/01-qa-0823-appvswebserver.html?page=1