Benefits of JSP – Separating Presentation and Implementation

Benefits of JSP – Separating Presentation and Implementation – JSP द्वारा JavaBeans को In-Built Support प्राप्त होने की वजह से हम Data Presentation जो कि End User को Display होता है तथा Data Generation जो कि Program Implementation के कारण Generate होता है, दोनों को पूरी तरह से अलग रख सकते हैं।

Data के Generation व Presentation को अलग-अलग रख सकने के कारण यदि Frontend User Interface में कोई Modification किया जाता है, तो उसका प्रभाव Data Generate करने वाले Program Logic पर नहीं पडता, जबकि Program Logic में किए गए Changes का प्रभाव Data को Display करने वाले Presentation Logic पर नहीं पडता।

Presentation व Implementation को Separate रखने के लिए हम HTML Markups की तरह ही JSP Markups को Use करते हुए JavaBeans Components की PropertiesBehaviors को Access करने की सुविधा प्राप्त करते हैं। फलस्वरूप बहुत ही सरल तरीके से हम Dynamic Content आधारित Webpage Generate कर सकते हैं, जबकि हमें एक भी Line का Java Programming Code लिखने की जरूरत नहीं होती।

यानी जब हम JSP Tags Use करते हैं, तब हमें इस बात की चिन्ता करने की जरूरत नहीं होती कि हमारी Requirement को पूरा करने के लिए हम जो JSP Code लिख रहे हैं, वह JSP Code Internally किन Java Programming Codes को Generate व Execute कर रहा है। जबकि JSP द्वारा Provide किए जाने वाले विभिन्न JSP Tags द्वारा भी यदि हमारी कोई Particular Requirement पूरी न हो रही हो, तो हम स्वयं JSP Tag Extension Mechanism का प्रयोग करते हुए अपने Application के लिए Application Specific Tag Library भी Create कर सकते हैं।

जब हमारे JSP Page में केवल JSP Tags या HTML Tags ही होते हैं और कोई Java Code नहीं होता, तो इस प्रकार का JSP Page Separation के पहले नियम को पूरी तरह से Follow करता है, जिसमें Presentation व Implementation पूरी तरह से अलग होते हैं। जबकि यदि JSP Page में Java Codes Exist हों, तो इस प्रकार के JSP Page को हम पूरी तरह से Presentation Layer की तरह Developed Page नहीं मान सकते, क्‍योंकि इसमें Java Code के रूप में Implementation Layer भी Included होता है।

यानी जब हम ऐसा JSP Page Create करते हैं, जिसमें HTML व JSP Tags के अलावा कोई Direct Java Code Embedded नहीं होता, तो इस प्रकार के JSP Page को हम Presentation Layer के रूप में Identify करते हैं। ठीक इसी तरह से एक JavaBeans Component में भी केवल Java Codes ही होने चाहिए और एक भी HTML या JSP Tag नहीं होना चाहिए। इस प्रकार के JavaBeans को ही हम पूरी तरह से Implementation Layer के रूप में Identify कर सकते हैं।

हालांकि यदि हम JSP Page में Java Codes लिखते हैं अथवा JavaBeans Component में HTML या JSP Tag Use करते हैं, तब भी हमारे Web Application में किसी तरह की कोई Coding Related परेशानी पैदा नहीं होती। लेकिन इस प्रकार के Mixed Codes व Tags वाले Application को Update व Maintain करना काफी मुश्किल व Time Consuming Task होता है। इसीलिए Presentation Layer (HTML and JSP Tags) तथा Implementation Layer (Java Codes) दोनों को पूरी तरह से Separate रखा जाना] अपने Web Application को Future Proof रखते हुए सरल तरीके से Upgrade व Maintain करने के लिए जरूरी व उपयोगी होता है।

लेकिन कई बार ऐसी स्थिति होती है कि JavaBeans में ही HTML Codes को Embed कर देना किसी Requirement को पूरा करने का ज्यादा बेहतर तरीका होता है या फिर एक JSP Page के अन्दर ही Java Codes को Specify करते हुए ज्यादा आसानी से किसी Requirement को पूरा किया जा सकता है क्‍योंकि इस प्रकार की Requirement को पूरा करने के लिए कोई भी JavaBeans या JSP Tag Available नहीं होता।

इसलिए इस प्रकार की स्थिति में भी Presentation व Implementation को केवल एक ही स्थिति में Separate रखा जा सकता है, कि हम हमारे Current Application की जरूरतों को पूरा करने से सम्बंधित Specific Custom Tags की Library Create करें।

हालांकि Custom Tags की भी अपनी परेशानी हैं कि जब हम Presentation व Implementation को अलग-अलग करने के लिए Custom Tags Create करते हैं, तब हमें एक तरफ तो एक नया JavaBeans Create करना होता है जबकि दूसरी तरफ उस JavaBeans को अपने JSP Page में Embed करना होता है। यानी Custom Tabs Create करना व Embed करना दो अलग काम हो जाते हैं, जिसकी वजह से हमारा काम कुछ बढ़ जाता है, लेकिन इस Extra काम के बदले में हम Presentation Logic को पूरी तरह से Implementation Logic से Separate रखने में सक्षम हो जाते हैं, जिससे अपने Application को भविष्‍य में Upgrade व Maintain करना आसान हो जाता है।