Java Web Application – The Architecture – किसी भी JSP/Servlet आधारित Java Web Application के Architecture को हम अगले चित्रानुसार Specify कर सकते हैं, जिसमें Java Application को 3-Tier Architecture के आधार पर Presentation Layer या User Interface Layer, Business Rules Layer व Data Access Layer के रूप में प्रदर्शित किया गया है।
हालांकि इस प्रकार के 3-Tier Architecture को Use करते हुए एक Web Application Developer Theoretically तीनों ही Layers को एक दूसरे से Separate रखता है, लेकिन Practically ये तीनों ही Layers आपस में Interrelated होते हैं और विशेष रूप से Business Layer व Data Layer आपस में काफी Closely Interrelated होते हैं।
3-Tier Architecture Web Application में Presentation Layer के रूप में HTML Pages व JSP अपना Role Play करते हैं। सामान्यत: एक Web Designer, HTML Markups के माध्यम से हमारे Web Application के User Interface के Look and Feel को Define करता है। बाद में इसी Webpage को किसी Java Programmer द्वारा Edit करते हुए Dynamic Page के रूप में Convert कर दिया जाता है, ताकि वह Webpage, Application के Servlets के साथ Properly काम कर सके।
Business Rules Layer, Web Application के Flow को Control करने के लिए Servlets को Use करता है। ये Servlets अन्य Java Classes को Call कर सकते हैं जो कि Underlying Database में Data को Store करते हैं अथवा Underlying Database से Data को Retrieve करते हैं। साथ ही ये Servlets ही Generated Results को JSP या अन्य Servlet पर Forward करते हैं।
Business Layer में Java Programmers अक्सर एक Special Type की Class Use करते हैं, जिसे JavaBean के नाम से जाना जाता है। ये JavaBean कुछ समय के लिए Temporarily Data को Store व Process करते हैं। JavaBean का प्रयोग सामान्यत: विभिन्न प्रकार के Business Objects जैसे कि User, Invoice, Customer, Employee आदि को Define करने के लिए किया जाता है।
Data Layer उस Data के साथ काम करता है, जो कि Server Computer की Disk पर Stored होता है। हालांकि ये Data किसी Text File या Binary File के रूप में भी Store हो सकता है अथवा इस Data को eXtensible Markup Language (XML) के रूप में भी Store किया जा सकता है। लेकिन वर्तमान समय में ज्यादातर Web Application Related Data को RDBMS (Relational Database Management System) Software में Store किया जाता है।