अभी तक हमने SqlDataSource Control का प्रयोग करते हुए विभिन्न प्रकार के Examples द्वारा Underlying Database के साथ Interaction करने के बारे में विस्तार से जाना, जबकि इन Examples को Create करने के लिए विभिन्न SQL Statements के अलावा हमने एक भी Line का Program Logic Code नहीं लिखा है।
हालांकि ये Visual Programming काफी आसानी से Perform होता है, लेकिन इस Visual Programming की कुछ कमियां भी हैं, जिन्हें जानना व समझना हमारे लिए जरूरी है, ताकि हम इस बात का बेहतर तरीके से निर्ण; ले सकें कि कब हमें SqlDataSource Control को Use करते हुए Visual Programming करना है और कब हमें Visual Programming को Ignore करना है।
Page Embedded Data Access Logic
जब हम SqlDataSource Control के माध्यम से Visually Data Access and Manipulation Perform करते हैं, तब हमें हमारे SQL Statement को Hard-Code के रूप में अपने Page में Embed करना पडता है।
जिसका मतलब ये है कि बिना अपने Page को Modify किए हुए हम हमारे SQL Statement की Fine-Tuning भी नहीं कर सकते और किसी Professional Level के Enterprise Application में ये Limitation Acceptable नहीं होता, क्योंकि इस प्रकार के Application में Web Application के पूरी तरह से Develop हो जाने के बाद विभिन्न SQL Queries की Fine-Tuning किया जाता है, ताकि Expected Performance प्राप्त किया जा सके।
हालांकि इस Issue के Solution के रूप में हम SQL Queries के स्थान पर Stored Procedures का प्रयोग कर सकते हैं। फिर भी एक Large-Scale Web Application में Data-Access Codes को Business-Logics से अलग Maintain, Test व Refine किया जाता है, जिन्हें अलग तरह के Developers Design करते हैं।
इसलिए SqlDataSource Control हमें एक Large-Scale Application Create करते समय वह Flexibility Provide नहीं करता, जिसकी Web Application Development के दौरान हमें जरूरत होती है।
Large Applications Maintenance Issue
क्योंकि जब हम SqlDataSource Control Use करते हैं, तो हमारे Web Application के प्रत्येक Page जो कि Underlying Database से Interact करता है, में स्वयं के SqlDataSource Control होते हैं।
इसी वजह से SqlDataSource आधारित बडे Web Applications को Maintain करना काफी जटिल व असुविधाजनक हो जाता है, क्योंकि एक ही Web Application के विभिन्न Webpages में समान SqlDataSource Controls का Duplication होता है।
इस स्थिति को Handle करने के लिए हम Component-Based Higher-Level Application Model को Use करते हैं, जिसमें हम हमारे Data Access से सम्बंधित एक Library Create करते हैं, जो कि सभी Webpages पर समान रूप से Use होती है। लेकिन एक सीमा के बाद इस Library Based Component Model को Maintain करना भी काफी मुश्किल भरा काम हो जाता है।
Flexibility Issue
चूंकि प्रत्येक Data-Access Task को एक Separate SqlDataSource Control की जरूरत होती है। इसलिए यदि हम एक ही Data को Different तरीके से View व Update करने की सुविधा Provide करना चाहें, तो हमें प्रत्येक Different Command के लिए Different SqlDataSource Control की जरूरत पडती है। परिणामस्वरूप हमारा Webpage जल्दी ही काफी Complicated हो जाता है, जिसे Maintain करना काफी असुविधाजनक व मुश्किल हो जाता है।
Inappropriate in Other Data Tasks
जब हमें Underlying Database के Data को View या Update करना होता है, तब SqlDataSource काफी आसानी से हमारी जरूरतों को पूरा कर देता है, लेकिन जब हमें View या Update के अलावा अन्य प्रकार के काम करने होते हैं, तब ये Control हमारे लिए कुछ ज्यादा उपयोगी साबित नहीं होता और उस स्थिति में हमें Custom Database Codes लिखने जरूरी हो जाते हैं।
SqlDataSource Control की इन सभी कमियों से छुटकारा पाने के लिए ही Microsoft ने ASP.NET Framework में ObjectDataSource नाम के एक नए Control को Add किया था। ये Control हमें हमारे Page को किसी Custom Data-Access Component से Bind करने की सुविधा Provide करता है।
जबकि इसकी सबसे बडी विशेषता ये है कि ये भी हमें SqlDataSource की तरह ही Design-Time Data Binding करने की सुविधा Provide करता है, जिसकी वजह से हमें हमारे Webpage पर किसी प्रकार का Program Logic लिखने की जरूरत नहीं होती। परिणामस्वरूप हमारा Database आधारित Web Application Development का काम काफी आसान हो जाता है।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Advance ASP.NET WebForms with C# in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
Advance ASP.NET WebForms in Hindi | Page:707 | Format: PDF