Apa perbedaan antara server aplikasi dan server web?
Apa perbedaan antara server aplikasi dan server web?
Jawaban:
Sebagian besar istilah-istilah ini Server Web dan server Aplikasi digunakan secara bergantian.
Berikut adalah beberapa perbedaan utama dalam fitur-fitur Web Server dan Application Server:
Contoh konfigurasi tersebut adalah Apache Tomcat HTTP Server dan Oracle (sebelumnya BEA) WebLogic Server. Apache Tomcat HTTP Server adalah Web Server dan Oracle WebLogic adalah Application Server.
Dalam beberapa kasus, server terintegrasi secara ketat seperti IIS dan .NET Runtime. IIS adalah server web. Ketika dilengkapi dengan lingkungan .NET runtime, IIS mampu menyediakan layanan aplikasi.
Ini adalah jawaban terinci dengan beberapa skenario untuk memahami dengan jelas perbedaan, kesamaan dan bagaimana keduanya bisa bekerja bersama dan semuanya
Server Aplikasi adalah istilah yang terkadang dicampur dengan server web . Sementara server web menangani terutama protokol HTTP , server aplikasi berurusan dengan beberapa protokol yang berbeda, termasuk, tetapi tidak terbatas, untuk HTTP .
Pekerjaan utama server Web adalah untuk menampilkan konten situs dan server aplikasi bertanggung jawab atas logika , interaksi antara pengguna dan konten yang ditampilkan. Server aplikasi bekerja bersama dengan server web, tempat satu menampilkan dan yang lainnya berinteraksi.
Informasi yang bergerak bolak-balik antara server dan kliennya tidak terbatas pada tampilan markup sederhana, tetapi untuk interaksi antara keduanya.
Dalam kebanyakan kasus, server membuat interaksi ini melalui API komponen , seperti J2EE (Java 2 Platform) , EJB (Enterprise JavaBean) dan model perangkat lunak aplikasi lain yang berbeda.
Sebuah contoh:
Cara terbaik untuk memahami perbedaan antara skenario di mana server aplikasi bekerja dengan server web versus skenario di mana tidak ada server aplikasi adalah melalui toko online.
Skenario 1: Server web tanpa server aplikasi
Anda memiliki toko online dengan hanya server web dan tidak ada server aplikasi. Situs ini akan menyediakan tampilan tempat Anda dapat memilih produk. Saat Anda mengirimkan kueri, situs melakukan pencarian dan mengembalikan hasil HTML kembali ke kliennya. Server web mengirimkan permintaan Anda langsung ke server database (bersabarlah, saya akan menjelaskan ini di nugget kami berikutnya) dan menunggu tanggapan. Setelah diterima, server web merumuskan respons ke dalam file HTML dan mengirimkannya ke browser web Anda. Komunikasi bolak-balik antara server dan server database ini terjadi setiap kali kueri dijalankan.
Skenario 2: Server web dengan server aplikasi
jika kueri yang ingin Anda jalankan sudah dilakukan sebelumnya dan tidak ada data yang berubah sejak saat itu, server akan menghasilkan hasilnya tanpa harus mengirim permintaan ke server database. Ini memungkinkan kueri real-time di mana klien kedua dapat mengakses info yang sama dan menerima informasi real-time dan andal tanpa mengirim kueri duplikat lain ke server database. Server pada dasarnya bertindak sebagai perantara antara server basis data dan server web. Hal ini memungkinkan informasi yang ditarik dapat digunakan kembali sementara dalam skenario pertama, karena info ini tertanam dalam halaman HTML khusus dan "disesuaikan", ini bukan proses yang dapat digunakan kembali. Klien kedua harus meminta info lagi dan menerima halaman HTML lainnya dengan info yang diminta - sangat tidak efisien.
Untuk mendukung berbagai tugas rumit ini, server ini harus memiliki redundansi, daya pemrosesan yang hebat, dan jumlah RAM yang tinggi untuk menangani semua data yang diambilnya secara real time.
Semoga ini membantu.
the application server deals with several different protocols, including, but not limited, to HTTP
<- yang mengatakan itu pasti menangani permintaan http - itu tidak akurat.
Kedua istilah ini sangat umum, yang satu berisi yang lain dan sebaliknya dalam beberapa kasus.
Server web : menyajikan konten ke web menggunakan protokol http.
Server aplikasi : host dan memperlihatkan logika dan proses bisnis.
Saya pikir poin utamanya adalah server web memaparkan semuanya melalui protokol http, sedangkan server aplikasi tidak dibatasi untuk itu.
Yang mengatakan, dalam banyak skenario Anda akan menemukan bahwa server web sedang digunakan untuk membuat front-end dari server aplikasi, yaitu, memperlihatkan serangkaian halaman web yang memungkinkan pengguna untuk berinteraksi dengan aturan bisnis yang ditemukan dalam server aplikasi.
Server web
Jalankan python -m 'SimpleHTTPServer'
dan buka http: // localhost: 8080 . Apa yang Anda lihat adalah server web yang berfungsi. Server hanya melayani file melalui HTTP yang disimpan di komputer Anda. Poin kuncinya adalah semua ini dilakukan di atas protokol HTTP. Ada juga server FTP misalnya yang melakukan hal yang persis sama (melayani file yang disimpan) tetapi di atas protokol yang berbeda.
Server aplikasi
Katakanlah kita memiliki aplikasi kecil seperti di bawah ini (cuplikan dari Flask ).
@app.route('/')
def homepage():
return '<html>My homepage</html>'
@app.route('/about')
def about():
return '<html>My name is John</html>'
Program contoh kecil memetakan URL /
ke fungsi homepage()
dan /about
ke fungsi about()
.
Untuk menjalankan kode ini, kita memerlukan server aplikasi (mis. Gunicorn) - program atau modul yang dapat mendengarkan permintaan dari klien dan menggunakan kode kita, mengembalikan sesuatu secara dinamis. Dalam contoh ini kita hanya mengembalikan beberapa HTML yang sangat buruk.
Apa logika bisnis yang dibicarakan semua orang? Yah, karena URL memetakan ke suatu tempat khusus di basis kode kami, kami secara hipotesis menunjukkan beberapa logika tentang cara kerja program kami.
Rekap
server web - melayani file yang disimpan di suatu tempat (paling umum .css, .html, .js). Server web yang umum adalah Apache, Nginx atau bahkan SimpleHTTPServer Python.
server aplikasi - menyajikan file yang dihasilkan dengan cepat. Pada dasarnya sebagian besar server web memiliki semacam plugin atau bahkan datang dengan fungsi bawaan untuk melakukan itu. Ada juga server aplikasi yang ketat seperti Gunicorn (Python), Unicorn (Ruby), uWSGI (Python), dll.
Perhatikan bahwa Anda sebenarnya dapat membangun server web dengan kode dari server aplikasi. Ini dilakukan dalam beberapa kasus selama pengembangan di mana Anda tidak ingin memiliki trilyun server yang berbeda berjalan di komputer Anda.
Seperti yang ditunjukkan Rutesh dan jmservera, perbedaannya adalah kabur. Secara historis, mereka berbeda, tetapi melalui 90-an dua kategori yang sebelumnya berbeda ini menggabungkan fitur dan secara efektif bergabung. Pada titik ini mungkin yang terbaik untuk membayangkan bahwa kategori produk "App Server" adalah superset ketat dari kategori "server web".
Beberapa sejarah. Pada hari-hari awal browser Mosaic dan konten hyperlink, di sana berkembang hal ini disebut "server web" yang melayani konten halaman web dan gambar melalui HTTP. Sebagian besar konten bersifat statis, dan protokol HTTP 1.0 hanyalah cara untuk mengirim file. Dengan cepat kategori "server web" berkembang untuk memasukkan kemampuan CGI - secara efektif meluncurkan proses pada setiap permintaan web untuk menghasilkan konten dinamis. HTTP juga semakin matang dan produk menjadi lebih canggih, dengan fitur caching, keamanan, dan manajemen. Seiring dengan perkembangan teknologi, kami mendapatkan teknologi server-side berbasis Java dari Kiva dan NetDynamics, yang akhirnya bergabung menjadi JSP. Microsoft menambahkan ASP, saya pikir pada tahun 1996, ke Windows NT 4.0. Server web statis telah mempelajari beberapa trik baru, sehingga itu efektif "
Dalam kategori paralel, server aplikasi telah berevolusi dan ada sejak lama. perusahaan mengirimkan produk untuk Unix seperti Tuxedo, TopEnd, Encina yang secara filosofis berasal dari manajemen aplikasi Mainframe dan lingkungan pemantauan seperti IMS dan CICS. Penawaran Microsoft adalah Microsoft Transaction Server (MTS), yang kemudian berkembang menjadi COM +. Sebagian besar produk ini menetapkan protokol komunikasi khusus produk "tertutup" untuk menghubungkan klien "gemuk" ke server. (Untuk Encina, protokol komunikasi adalah DCE RPC; untuk MTS itu adalah DCOM; dll.) Pada 1995/96, produk server aplikasi tradisional ini mulai menanamkan kemampuan komunikasi HTTP dasar, pada awalnya melalui gateway. Dan garis-garis itu mulai kabur.
Server web menjadi semakin dewasa sehubungan dengan penanganan beban yang lebih tinggi, lebih banyak konkurensi, dan fitur yang lebih baik. Server aplikasi memberikan semakin banyak kemampuan komunikasi berbasis HTTP.
Pada titik ini garis antara "server aplikasi" dan "server web" adalah yang kabur. Tetapi orang terus menggunakan istilah secara berbeda, sebagai masalah penekanan. Ketika seseorang mengatakan "server web" Anda sering berpikir HTTP-centric, UI web, aplikasi yang berorientasi. Ketika seseorang mengatakan "Server aplikasi" Anda mungkin berpikir "beban lebih berat, fitur perusahaan, transaksi dan antrian, komunikasi multi-saluran (HTTP + lebih). Tetapi sering kali itu adalah produk yang sama yang melayani kedua set persyaratan beban kerja.
Seperti yang banyak dikatakan sebelumnya, server web menangani petisi HTTP, sementara server aplikasi menangani petisi untuk komponen yang didistribusikan. Jadi, mungkin cara termudah untuk memahami perbedaannya adalah dengan membandingkan kedua produk dalam hal lingkungan pemrograman yang mereka tawarkan.
IIS: ASP (.NET)
Tomcat: Servlet
Jetty: Servlet
Apache: Php, CGI
MTS: COM +
WS: EJB
JBoss: EJB
Server Aplikasi WebLogic: EJB
Perbedaan penting adalah bahwa server aplikasi mendukung beberapa teknologi komponen terdistribusi , menyediakan fitur seperti pemanggilan jarak jauh dan transaksi terdistribusi, seperti EJB di dunia Java atau COM + pada platform Microsoft. Server Http sering mendukung beberapa lingkungan pemrograman yang lebih sederhana, sering scripting, seperti ASP (.NET) dalam kasus berbasis Microsoft atau Servlet, termasuk JSP dan banyak lainnya dalam kasus Java atau PHP dan CGI dalam kasus Apache.
Kemampuan lain seperti load-balancing, clustering, sesi-failover, koneksi dll koneksi yang dulu berada di ranah server aplikasi, menjadi tersedia di server web juga secara langsung atau melalui beberapa produk pihak ketiga.
Akhirnya, perlu dicatat bahwa gambar lebih jauh terdistorsi dengan "wadah ringan" seperti Spring Framework, yang sering melengkapi tujuan server aplikasi dengan cara yang lebih sederhana dan tanpa infrastruktur server aplikasi. Dan karena aspek distribusi dalam aplikasi bergerak dari komponen terdistribusi ke paradigma layanan dan arsitektur SOA, semakin sedikit ruang yang tersisa untuk server aplikasi tradisional.
Perbedaan utama antara server Web dan server aplikasi adalah bahwa server web dimaksudkan untuk melayani halaman statis misalnya HTML dan CSS, sedangkan Server Aplikasi bertanggung jawab untuk menghasilkan konten dinamis dengan mengeksekusi kode sisi server misalnya JSP, Servlet atau EJB.
Mana yang harus saya gunakan?
Setelah Anda mengetahui perbedaan antara server web dan aplikasi dan wadah web, mudah untuk mengetahui kapan menggunakannya. Anda memerlukan web server
Apache HTTPD seperti jika Anda melayani halaman web statis. Jika Anda memiliki aplikasi Java hanya dengan JSP dan Servlet untuk menghasilkan konten dinamis maka Anda perlu web containers
seperti Tomcat atau Jetty. Sementara, jika Anda memiliki aplikasi Java EE menggunakan EJB, transaksi terdistribusi, pengiriman pesan, dan fitur mewah lainnya daripada yang Anda perlukan lengkap application server
seperti JBoss, WebSphere atau Oracle WebLogic.
Wadah web adalah bagian dari Server Web dan Server Web adalah bagian dari Server Aplikasi.
Server Web terdiri dari wadah web, sedangkan Server Aplikasi terdiri dari wadah web serta wadah EJB.
Singkatnya server web adalah server yang melayani halaman web untuk pengguna melalui http. Sebuah server aplikasi adalah server yang host logika bisnis untuk sistem. Ini sering menjadi tuan rumah baik proses batch / berjalan lama dan / atau layanan interop tidak dimaksudkan untuk konsumsi manusia (layanan REST / JSON, SOAP, RPC, dll).
Server Web secara eksklusif menangani permintaan HTTP / HTTPS. Ini melayani konten ke web menggunakan protokol HTTP / HTTPS.
Server aplikasi menyajikan logika bisnis ke program aplikasi melalui sejumlah protokol, mungkin termasuk HTTP. Program aplikasi dapat menggunakan logika ini seperti halnya memanggil metode pada objek. Dalam kebanyakan kasus, server mengekspos logika bisnis ini melalui API komponen, seperti model komponen EJB (Enterprise JavaBean) yang ditemukan di server aplikasi Java EE (Java Platform, Enterprise Edition). Poin utama adalah bahwa server web memaparkan semuanya melalui protokol http, sedangkan server aplikasi tidak dibatasi untuk itu. Server aplikasi dengan demikian menawarkan lebih banyak layanan daripada server web yang biasanya meliputi:
Sebagian besar server aplikasi memiliki Web Server sebagai bagian integral dari mereka, itu berarti App Server dapat melakukan apa pun yang mampu dilakukan oleh Server Web. Selain itu, App Server memiliki komponen dan fitur untuk mendukung layanan tingkat Aplikasi seperti Connection Pooling, Object Pooling, Dukungan Transaksi, layanan Pesan, dll.
Server aplikasi dapat (tetapi tidak selalu) berjalan di server web untuk menjalankan logika program, yang hasilnya kemudian dapat disampaikan oleh server web. Itu salah satu contoh skenario server web / server aplikasi. Contoh yang baik di dunia Microsoft adalah hubungan Internet Information Server / SharePoint Server. IIS adalah server web; SharePoint adalah server aplikasi. SharePoint duduk "di atas" IIS, mengeksekusi logika spesifik, dan menyajikan hasilnya melalui IIS. Di dunia Java, ada skenario yang mirip dengan Apache dan Tomcat, misalnya.
Karena server web sangat cocok untuk konten statis dan server aplikasi untuk konten dinamis, sebagian besar lingkungan produksi memiliki server web yang bertindak sebagai proxy terbalik ke server aplikasi. Itu berarti saat melayani permintaan halaman, konten statis seperti gambar / html statis dilayani oleh server web yang menginterpretasikan permintaan tersebut. Menggunakan semacam teknik penyaringan (sebagian besar ekstensi sumber daya yang diminta) server web mengidentifikasi permintaan konten dinamis dan secara transparan meneruskan ke server aplikasi.
Contoh konfigurasi tersebut adalah Apache HTTP Server dan BEA WebLogic Server. Apache HTTP Server adalah Web Server dan BEA WebLogic adalah Application Server. Dalam beberapa kasus, server terintegrasi secara ketat seperti IIS dan .NET Runtime. IIS adalah server web. ketika dilengkapi dengan lingkungan .NET runtime IIS mampu menyediakan layanan aplikasi
Web Server Programming Environment
Apache PHP, CGI
IIS (Internet Information Server) ASP (.NET)
Tomcat Servlet
Jetty Servlet
Application Server Programming Environment
WAS (IBM's WebSphere Application Server) EJB
WebLogic Application Server (Oracle's) EJB
JBoss AS EJB
MTS COM+
Perbatasan antara keduanya semakin tipis.
Server aplikasi memaparkan logika bisnis kepada klien. Itu berarti server aplikasi terdiri dari sekumpulan metode (tidak hanya secara eksklusif, bahkan dapat berupa komputer jaringan yang memungkinkan banyak orang untuk menjalankan perangkat lunak di dalamnya) untuk melakukan logika bisnis. Jadi itu hanya akan menampilkan hasil yang diinginkan, bukan konten HTML. (mirip dengan pemanggilan metode). Jadi tidak sepenuhnya berbasis HTTP.
Tetapi server web meneruskan konten HTML ke browser web (Berbasis HTTP ketat). Server web hanya mampu menangani sumber daya web statis, tetapi kemunculan skrip sisi server memungkinkan server web untuk menangani konten dinamis juga. Di mana server web menerima permintaan dan mengarahkannya ke skrip yang relevan (PHP, JSP, skrip CGI, dll.) Untuk MENCIPTAKAN konten HTML yang akan dikirim ke klien. Setelah konten diterima, server web akan mengirim halaman HTML ke klien.
Namun, saat ini kedua server ini digunakan bersama. Di mana server web menerima permintaan dan kemudian memanggil skrip untuk membuat konten HTML. Kemudian, skrip akan kembali memanggil LOGIC server aplikasi (mis. Ambil detail transaksi) untuk mengisi konten HTML.
Jadi kedua server digunakan secara efektif.
Oleh karena itu .... Kita dapat dengan aman mengatakan bahwa saat ini, dalam sebagian besar kasus, server web digunakan sebagai bagian dari server aplikasi. TAPI secara teatrik BUKAN demikian.
Saya telah membaca banyak artikel tentang topik ini dan menemukan artikel ini cukup berguna.
Server aplikasi biasanya dirancang dan digunakan untuk memfasilitasi proses yang berjalan lebih lama yang juga akan lebih intensif sumber daya.
Server web digunakan untuk semburan singkat yang tidak padat sumber daya, umumnya. Ini sebagian besar untuk memfasilitasi melayani lalu lintas berbasis web.
Dalam istilah Java, ada satu lagi: wadah web (atau lebih tepatnya, wadah servlet). Ini, katakanlah, di antara server web dan server aplikasi.
Wadah web dalam istilah Java adalah server aplikasi yang pada dasarnya hanya mengimplementasikan bagian JSP / Servlet dari Java EE dan tidak memiliki beberapa bagian inti Java EE, seperti dukungan EJB. Contohnya adalah Apache Tomcat.
Server aplikasi adalah mesin (proses yang dapat dieksekusi berjalan pada beberapa mesin, sebenarnya) yang "mendengarkan" (pada saluran apa pun, menggunakan protokol apa pun), untuk permintaan dari klien untuk layanan apa pun yang disediakannya, dan kemudian melakukan sesuatu berdasarkan permintaan tersebut. (mungkin atau mungkin tidak melibatkan istirahat kepada klien)
Server Web adalah proses yang berjalan pada mesin yang "mendengarkan" secara khusus pada Saluran TCP / IP menggunakan salah satu protokol "internet", (http, https, ftp, dll.) Dan melakukan apa pun yang dilakukannya berdasarkan permintaan yang masuk tersebut. .. Secara umum, (seperti yang didefinisikan sebelumnya), ia mengambil / membuat dan mengembalikan halaman web html ke klien, baik diambil dari file html statis di server, atau dibuat secara dinamis berdasarkan parameter dalam permintaan klien yang masuk.
Server web menjalankan protokol HTTP untuk melayani halaman web. Server aplikasi dapat (tetapi tidak selalu) berjalan di server web untuk menjalankan logika program, yang hasilnya kemudian dapat disampaikan oleh server web. Itu salah satu contoh skenario server web / server aplikasi.
Contoh yang baik di dunia Microsoft adalah hubungan Internet Information Server / SharePoint Server. IIS adalah server web; SharePoint adalah server aplikasi. SharePoint duduk "di atas" IIS, mengeksekusi logika spesifik, dan menyajikan hasilnya melalui IIS.
Di dunia Java, ada skenario yang mirip dengan Apache dan Tomcat, misalnya.
Di sisi pertama, server web menyajikan konten web (konten HTML dan statis) melalui protokol HTTP. Di sisi lain, server aplikasi adalah wadah di mana Anda dapat membangun dan mengekspos logika bisnis dan proses ke aplikasi klien melalui berbagai protokol termasuk HTTP dalam arsitektur n-tier.
Server aplikasi dengan demikian menawarkan lebih banyak layanan daripada server web yang biasanya meliputi:
AFAIK, ATG Dynamo adalah salah satu server aplikasi pertama di akhir 90-an (sesuai dengan definisi di atas). Pada awal 2000, itu adalah pemerintahan beberapa server aplikasi berpemilik seperti ColdFusion (CFML AS), BroadVision (Server-side JavaScript AS), dll. Tetapi tidak ada yang benar-benar selamat dari era server aplikasi Java.
Pemahaman dasar:
Dalam arsitektur server klien
Server:> Yang melayani permintaan.
Klien:> Yang mengkonsumsi layanan.
Server web & Server aplikasi adalah aplikasi perangkat lunak yang berfungsi sebagai server untuk klien mereka.
Mereka mendapatkan nama mereka berdasarkan tempat penggunaan mereka.
Web server :> serve web content
:> Like Html components
:> Like Javascript components
:> Other web components like images,resource files
:> Supports mainly web protocols like http,https.
:> Supports web Request & Response formats.
Penggunaan -
we require low processing rates, regular processing practices involves.
Misalnya: Semua server flat umumnya tersedia yang siap pakai yang hanya menyajikan konten berbasis web.
Application server :> Serve application content/component data(Business data).
:> These are special kind which are custom written
designed/engineered for specific
purpose.some times fully unique in
their way and stands out of the crowd.
:> As these serves different types of data/response contents
:> So we can utilize these services for mobile client,web
clients,intranet clients.
:> Usually application servers are services offered on different
protocols.
:> Supports different Request& Response formats.
Penggunaan -
we require multi point processing, specialized processing techniques involves like for AI.
Misalnya: Google memetakan server, server pencarian Google, server Google docs, server Microsoft 365, server visi komputer Microsoft untuk AI.
Kita dapat menganggap mereka sebagai tingkatan / Hierarki dalam arsitektur 4-tier / n-tier.
So they can provide
load balancing,
multiple security levels,
multiple active points,
even they can provide different request processing environments.
Silakan ikuti tautan ini untuk analogi arsitektur standar:
https://docs.microsoft.com/en-us/previous-versions/msp-np/ee658120(v%3dpandp.10)
Perbedaan terbesar adalah Server Web menangani permintaan HTTP, sementara server Aplikasi akan menjalankan logika bisnis pada sejumlah protokol.
Sebenarnya Apache adalah server web dan Tomcat adalah server aplikasi. Ketika permintaan HTTP datang ke server web. Kemudian konten statis dikirim kembali ke browser oleh server web. Apakah ada dan logika dilakukan, maka permintaan itu kirim ke server aplikasi. setelah memproses logika maka respons kirim ke server web dan kirim ke klien.
Semua hal di atas hanya menyulitkan sesuatu yang sangat sederhana. Server aplikasi berisi server web, server aplikasi hanya memiliki beberapa tambahan / ekstensi daripada server web standar. Jika Anda melihat TomEE sebagai contoh:
CDI - Apache OpenWebBeans
EJB - Apache OpenEJB
JPA - Apache OpenJPA
JSF - Apache MyFaces
JSP - Apache Tomcat
JSTL - Apache Tomcat
JTA - Apache Geronimo Transaction
Servlet - Apache Tomcat
Javamail - Apache Geronimo JavaMail
Bean Validation - Apache BVal
Anda akan melihat bahwa Tomcat (Web container / server) hanyalah alat lain di gudang aplikasi server. Anda bisa mendapatkan JPA dan teknologi lainnya di server web juga jika Anda mau, tetapi server aplikasi hanya mengemas semua hal ini untuk kenyamanan Anda. Untuk sepenuhnya diklasifikasikan sebagai server aplikasi, Anda pada dasarnya harus mematuhi daftar alat yang ditetapkan oleh beberapa standar.
Tidak perlu garis pemisah yang jelas. Saat ini, banyak program menggabungkan elemen dari keduanya - melayani permintaan http (server web) dan menangani logika bisnis (server aplikasi)
Dari https://en.wikipedia.org/wiki/Web_server
Sebuah web server adalah sebuah sistem komputer yang proses permintaan melalui HTTP, protokol jaringan dasar yang digunakan untuk mendistribusikan informasi di World Wide Web. Istilah ini dapat merujuk ke seluruh sistem, atau khusus untuk perangkat lunak yang menerima dan mengawasi permintaan HTTP .
Dari https://en.wikipedia.org/wiki/Application_server#Application_Server_definition
Server aplikasi berjalan di belakang Server web (mis. Apache atau Microsoft Internet Information Services (IIS)) dan (hampir selalu) di depan database SQL (misalnya PostgreSQL, MySQL, atau Oracle).
Aplikasi web adalah kode komputer yang dijalankan di atas server aplikasi dan ditulis dalam bahasa yang didukung server aplikasi dan memanggil pustaka runtime dan komponen yang ditawarkan server aplikasi .
Server aplikasi dan server web keduanya digunakan untuk meng-host aplikasi web. Web Server berurusan dengan wadah web di sisi lain Application Server berurusan dengan wadah web serta wadah EJB (Enterprise JavaBean) atau wadah COM + untuk Microsoft dot Net.
Web Server dirancang untuk menyajikan Konten statis HTTP seperti HTML, gambar, dll. Dan untuk konten dinamis, ada plugin untuk mendukung bahasa scripting seperti Perl, PHP, ASP, JSP dll dan terbatas pada protokol HTTP. Server di bawah ini dapat menghasilkan konten HTTP dinamis.
Lingkungan Pemrograman Server Web:
IIS: ASP (.NET)
Apache Tomcat: Servlet
Jetty: Servlet
Apache: Php, CGI
Application Server dapat melakukan apa pun yang mampu dilakukan oleh Server Web dan mendengarkan menggunakan protokol apa pun serta App Server memiliki komponen dan fitur untuk mendukung layanan tingkat Aplikasi seperti Connection Pooling, Objecting Pooling, Dukungan Transaksi, Layanan Pesan, dll.
Lingkungan Pemrograman Aplikasi Server:
MTS: COM +
WS: EJB
JBoss: EJB
Server Aplikasi WebLogic: EJB
Meskipun mungkin ada tumpang tindih antara keduanya (beberapa server web bahkan dapat digunakan sebagai server aplikasi) perbedaan terbesar IMHO adalah dalam model pemrosesan dan manajemen sesi:
Dalam model pemrosesan server Web, fokusnya adalah pada penanganan permintaan; gagasan "sesi" cukup virtual. Dengan kata lain "sesi" disimulasikan dengan mentransfer representasi keadaan antara klien dan server (karenanya REST) dan / atau membuat serialisasi ke penyimpanan persisten eksternal (SQL Server, Memcached dll).
Dalam server Aplikasi, sesi biasanya lebih eksplisit dan sering mengambil bentuk objek yang hidup dalam memori server aplikasi untuk seluruh durasi "sesi".
Itu tergantung pada arsitektur spesifik. Beberapa server aplikasi mungkin menggunakan protokol web secara asli (XML / RPC / SOAP melalui HTTP), jadi ada sedikit perbedaan teknis. Biasanya server web menghadap pengguna, melayani berbagai konten melalui HTTP / HTTPS, sementara server aplikasi tidak menghadap pengguna dan dapat menggunakan protokol non-standar atau non-routable. Tentu saja dengan RIA / AJAX, perbedaannya dapat dikaburkan lebih lanjut, hanya melayani konten non-HTML (JSON / XML) untuk klien yang memompa layanan akses jarak jauh tertentu.
IMO, sebagian besar tentang memisahkan masalah.
Dari sudut pandang teknis murni, Anda dapat melakukan segalanya (konten web + logika bisnis) dalam satu server web. Jika Anda melakukan itu, maka informasi yang akan tertanam di dalamnya meminta konten HTML. Apa dampaknya?
Misalnya, bayangkan Anda memiliki 2 aplikasi berbeda yang merender konten HTML yang sama sekali berbeda di browser. Jika Anda ingin memisahkan logika bisnis menjadi server aplikasi daripada Anda dapat menyediakan server web yang berbeda mencari data yang sama di server aplikasi melalui skrip. Namun, Jika Anda tidak akan memisahkan logika dan menyimpannya di server-web, setiap kali Anda mengubah model bisnis Anda, Anda akhirnya akan mengubahnya di setiap server-server tunggal yang Anda miliki yang akan membutuhkan waktu lebih lama, kurang dapat diandalkan dan rawan kesalahan.