Oct
9
نوشتهی:
سعید علیحسینی
10/09/2008 12:58 ب.ظ
محصول DotNetNuke یا به اختصار DNN یک پورتال نیست بلکه یک قالب توسعه برنامههای کاربردی مبتنی بر وب (Web Application Framework) است که میتوان از سرویسها و امکانات آن برای ساخت پورتال و دیگر برنامههای کاربردی مثل برنامههای کاربردی استاندارد ASP.NET تحت وب، سایتهای اجتماعی، اینترانت و اکسترانت استفاده کرد. در حقیقت DNN یک لایه سرویس روی ASP.NET است که استفاده از آن حجم بسیار زیادی از کدنویسی برای ایجاد یک برنامه کاربردی از سطح صفر را حذف میکند.
باید توجه داشت که DNN هم مانند هر امکان دیگری دارای مزایا و معایبی هست، هدف ما در اینجا بیان مزایا و معایب آن و مقایسه با محصولات دیگر نیست، بلکه فقط دلایل نامناسب بودن استفاده از این محصول در سازمان بزرگ دولتی و غیر دولتی را ذکر میکنم.
مقدمه
تعریف: محصول DotNetNuke یا به اختصار DNN یک پورتال نیست بلکه یک قالب توسعه برنامههای کاربردی مبتنی برر وب (Web Application Framework) است که میتوان از سرویسها و امکانات آن برای ساخت پورتال و دیگر برنامههای کاربردی مثل برنامههای کاربردی استاندارد ASP.NET تحت وب، سایتهای اجتماعی، اینترانت و اکسترانت استفاده کرد. در حقیقت DNN یک لایه سرویس روی ASP.NET است که استفاده از آن حجم بسیار زیادی از کدنویسی برای ایجاد یک برنامه کاربردی از سطح صفر را حذف میکند.
از مهمترین ویژگیهای آن برای یک کاربر ایرانی و فارسی زبان میتوان موارد زیر را ذکر کرد:
- سادگی نصب و راهاندازی: به سادگی کپی کردن فایلها در مدت چند دقیقه تا چند ساعت
- سادگی و راحتی ترجمه عناصر موجود در واسط کاربر (ولی نه محتوای آن) به زبان فارسی
اشکالات و نارساییها
باید توجه داشت که DNN هم مانند هر امکان دیگری دارای مزایا و معایبی هست، هدف ما در اینجا بیان مزایا و معایب آن و مقایسه با محصولات دیگر نیست، بلکه فقط دلایل نامناسب بودن استفاده از این محصول در سازمانهای بزرگ دولتی و غیر دولتی را ذکر میکنم:
- Open Source رایگان ولی غیر باز: در عمل امکان دسترسی و ایجاد تغییر در هستهی اصلی محصول (به صورت فایلهای dll) وجود ندارد.
- نوع لیسانس Berkeley Software Distribution (BSD): کاربر میتواند بدون هیچ محدودیتی هر نوع تغییری را در متن برنامهها ایجاد کند اما با رعایت شرایط زیر:
- مالکیت معنوی شرکت DotNetNuke و
- مجوز تغییر به شرح فوق در تمامی کپیهای محصول و یا اجزاء آن ذکر شود.
- محصول به صورت " همین طور که هست (AS IS)" ارائه میشود و هیچ گونه مسئولیتی در قبال هیچ گونه مشکل و یا خسارتی مستقیم یا غیرمستقیم وجود نخواهد داشت.
- عدم پشتیبانی استاندارد و رسمی تقویم و تاریخ فارسی
- عدم امکان ترجمه پویای محتوا
برای پشتیبانی از چند زبان مجبور به ایجاد چند سایت مستقل هستید، هماهنگی بین این سایتها به صورت سیستمی و خودکار انجام نمیشود بلکه باید به صورت دستی توسط کاربر انجام شود.
- عدم پشتیبانی از استانداردهای برنامهنویسی محیط تولید (مثل ObjectDataSource و استفاده از آنها در ویزاردها) هزینههای (زمان و حجم برنامهنویسی و اشکالیابی) را افزایش میدهد.
- زمانبر بودن و پیچیدگی برنامهنویسی
- عدم الزام به پشتیبانی: تأخیر زیاد در توسعهی ماژولها و رفع اشکالات آن.
- بروزرسانیهای پی در پی پلاتفرم اصلی که بعضاً با نسخهها و ماژولهای قبلی سازگار نیستند.
- توسعه، رفع اشکال و ارتقاء ماژولها: توسط افراد داوطلب از سراسر جهان و در زمان آزادی که میتوانند به آن اختصاص دهند انجام میشود بنابراین این رویه خیلی کند است و اغلب اوقات به دلیل خروج افراد از تیم طراحی متوقف میشود.
- امنیتی
سایتهای ایجاد شده با DNN به راحتی قابل شناسایی هستند (چه از نظر نوع لیسانس، و چه از نظر نوع آدرسدهی و اسامی کنترلها و متغیرها)، در حالی که از نظر امنیتی سعی میشود تا جایی که ممکن است از انتشار کمترین اطلاعات در مورد محیط و شیوه پیادهسازی آن جلوگیری کرد.
- خطاهای امنیتی: بعضاً دیده میشود اطلاعات محرمانه مثل اسامی و کلمات عبور بدون هیچ رمزگذاری در یک جدول درج شدهاند (مثل تنظیمات ایمیل در جدول HostSettings).
- پشتیبانی محلی: با وجود گستردگی انجمنهای مرتبط، اولاً به دلیل غیر حرفهای و غیرتخصصی بودن آنان، و دوم به خاطر مسائل اختصاصی که ممکن است برای کاربران فارسی زبان و داخل ایران اتفاق بیافتد که در نتیجه محدودهی افراد پاسخگو را تنگتر میکند نمیتوان از در دسترسپذیری پشتیبانیها اطمینان خاطر داشت.
- ماژولهای خریداری شده/تهیه شده از دیگران
در مقایسه با دیگر سیستمهای مدیریت محتوا مثل SharePoint از شرکتهای پشتیبانی حرفهای بسیار کمتری برخوردار است در حالی که در شمارش، افراد و شرکتهای بیشتری خدمات DNN را ارائه میدهند؛ اکثر ماژولهای DNN از طریق سایت واسط SnowCovered آن هم ناکامل، بدون بروزرسانی، بدون مستندات و پشتیبانی کافی ارائه میشوند.
- افزایش سریع حجم پایگاه داده، کاهش کارایی برنامه
در هر ماژول ممکن است از چند کنترل و چندین زیرکنترل استفاده کرد؛ هر ماژولی هم نیاز به اتصال به پایگاه داده برای واکشی اطلاعات یا ثبت پارامترهایش دارد. در یک سازمان بزرگ و در یک پروژه پیچیده ممکن است از دهها ماژول پیچیده هر کدام شامل چندین کنترل کاربر استفاده کرد که هر کدام از این کنترلها به نوبه خود نیازمند تعامل با پایگاه داده هستند.
در یک مورد تجربه شخصی، در حالی که کل اطلاعات ثبت شده توسط من به زحمت به یک مگابایت هم نمیرسید، حجم پایگاه داده، اطلاعات کنترلی و لاگ فایلهای آن تا نزدیک 100MB هم رسید!
- عدم یکپارچگی با سایر محصولات کاربردی مثل: Office
- ساختار یا معماری: مناسب برای وبسایتهای غیر پیچیده مثل سایتهای شخصی و شرکتهای کوچک و همچنین آموزشی و یا حداکثر برای اینترانت یک سازمان؛ اما نه برای شرکتها و سازمانهای بزرگ با صدها کارمند
- قابلیت توسعه (Scalability): بدون توجه به تغییرات و پیشرفتهای سختافزاری، DNN روی فقط یک وب سرور و فقط یک SQL Server نصب میشود و نمیتوان مثلاً Job Server، Index Server، Web frontend و Search Server را روی دستگاههای مختلف نصب کرد و از امکان Load Balancing استفاده کرد.
- عدم پشتیبانی از جستجوی سطح سازمانی (Enterprise Search) یا جستجوی همزمان در چند پورتال سازمان. همچنین در یک سازمان بزرگ نیاز است اطلاعات در فرمتهای مختلف (مثل pdf، doc، excel و ...) در دسترس باشد، dnn به جز امکان جستجو در اطلاعات تنها پایگاه داده تعریف شده برای آن، در این موارد هیچ امکان قابل استفادهای ندارد. این نقص به خصوص در بحث استفاده از فنآوریهای نوین اطلاعاتی مثل مخازن داده و هوش سازمانی و سازمان هوشمند قابل توجه است.
- عدم پشتیبانی از Single Sign-on
تعریف: امکان ورود به پورتالهای مختلف و سایر برنامههای کاربردی فقط با یک بار ورود اطلاعات و login کردن.
توضیح: DNN امکان استفاده از سرویسهای اکتیودایرکتوری را دارد ولی فقط امکان Single User-name (و نه Single Sign-on) را با نواقص و محدودیتهایی (به لحاظ تفاوت عملکرد در محیطهای متفاوت) پشتیبانی میکند؛ یعنی برای ورود به هر پورتال، باید اطلاعات شناسایی را مجدداً وارد کرد.
یادداشت: امکان ورود خودکار به پورتال تحت Windows Vista و IIS 7.0 به بعد وجود دارد شاید بتوان از این امکان برای ورود به پورتالهای مختلف DNN نصب شده در یک دستگاه یکه با مشخصات فوق استفاده کرد.
- تیمهای کاری و همکاری تیمی، گردش کار: هیچ کدام را به صورت یکپارچه پشتیبانی نمیکند و مجبورید ماژولهای متفاوت را از منابع مختلف تهیه کنید.
- امکانات مفید ولی نامناسب: امتیازات و ویژگیهای مفیدی که در صورت عدم توجه در استفاده از آن میتواند مشکلآفرین باشد و با توجه به نیازمندیهای سازمانهای بزرگ باید از آنها صرف نظر کرد:
- چند پورتالی – منشاء بیشتر مشکلات: از مشخصات برجستهی DNN توانایی آن در میزبانی چندین وبسایت تحت یک فایلسیستم با یک پایگاه داده و در یک نسخه نصب شدهی واحد میباشد (Single installation – Multiple Portals). این ویژگی برای وبسایتهای شخصی با کیفیت و خدمات معمولی امتیاز بزرگی محسوب میشود (به دلیل کاهش هزینههای میزبانی، خرید ماژول و ایجاد سایت)، اما به ادارات و سازمانهای رسمی/تجاری ارائهکنندهی خدمات اداری/تجاری به ارباب رجوع/مشتریان تجاری، توصیه میشود از این قابلیت آن استفاده نکنند. با وجود کاهش هزینهها در چند پورتالی، محصول نهایی بدون قابلیت اعتماد، کارایی بد و غیر قابل توسعه خواهد بود و از همه مهمتر این که امکان ارائهی خدمات مناسب و کامل به مشریان [به لحاظ امنیتی، کارایی و ...] را از دست میدهید.
- قابلیت اطمینان(Reliability) : پیکربندی نامناسب، ماژولهای نامناسب و خطاهای کاربری باعث خطاهای مهلک میشوند. دو خطا:
- Portal Crashes: این مشکل ناشی از خطای کاربر، داده و یا پیکربندی است و باعث بروز وقفه در فقط یک پورتال از چند پورتال میگردد؛ مشکل در اینجاست که نمیتوان فقط یک پورتال را از نسخ پشتیبان مجموعه چند پورتال بازیابی کرد – تنها راه حل مطمئن بازیابی تمام پورتالهاست، در این صورت تمام تغییرات محتوا در سایر پورتالها هم از دست میرود. اگر نتوان مشکل را به صورت دستی حل کرد، تنها راه حل ممکن حذف پورتال و ایجاد مجدد آن است. با حذف پورتال یک سری از اطلاعات مربوط به آن به صورت دادههای رها شده (Orphaned data) در پایگاه داده باقی میمانند که خود باعث کاهش بیشتر کارایی آن میگردد؛ در نتیجه همچنین حس کار با یک پورتال ناقص شده و ناکارا در کاربران آن القاء میگردد.
- Install Crashes: زمانی اتفاق میافتد که عملکرد تمامی پورتالها در یک نصب DNN متوقف شوند. این مسئله در صورت بروز مشکل در نصب یک ماژول، اشکال در ارتقاء سایت و یا پیکربندی نامناسب میزبان اتفاق میافتد.
مهمترین اثر این مشکل عدم امکان ارائهی خدمات به هیچ یک از مشتریان کل سایت است، اگر سایت ما شامل 100 پورتال باشد باید به 100 مشتری ناراضی پاسخگو باشیم. در صورت بازیابی سایت از نسخه پشتیبان، باید تمامی پورتالها را بازیافت کنیم که باعث از دست رفتن کار کاربران همهی این پورتالها و در نتیجه از دست رفتن اعتبار ما نزد مشتریان میگردد. همچنین ناچاریم توضیح دهیم که چگونه اختلال در سایت یکی از مشتریان ما به سایت سایر مشریان سرایت کرده است.
- کارآیی: ایجاد هر پورتال باعث درج تعداد بیشتری رکورد در پایگاه داده میگردد. هر پورتال دارای مجموعهای از صفحات، ماژولها، کاربران، نقشها، مجوزها و سایر موارد مخصوص به خودش است. با افزایش تعداد پورتالها، کارایی کوئریهای ارسالی به پایگاه داده کاهش مییابد. به عنوان مثال اگر سایت ما دارای 50 پورتال، هر کدام دارای 50 صفحه باشند، اطلاعات 2500 صفحه در پایگاه داده نگهداری می-شود. صرف نظر از این که در هر لحظه با کدام پورتال کار میکنیم، پایگاه داده باید برای یافتن 50 صفحه مربوط به آن، تمامی 2500 صفحه را مورد بررسی قرار دهد.
- قابلیت توسعه: دو عامل مهم در هر نصب DNN عبارت است از CPU و RAM. در اغلب این سایتها، درخواست برای افزایش فضای میزبانی و پهنای باند وجود دارد و به همین ترتیب زیرساختار سایت نیز باید توانایی ارتقاء این دو عامل را داشته باشد.
اگر یک نصب DNN میزبان چندین پورتال باشد و یکی از این پورتالها (مثل بانک اطلاعات سریهای زمانی اقتصادی) حجم وسیعی از ترافیک سایت را به خود اختصاص دهد، راه حل مناسبی برای جداسازی آن از سایرین وجود ندارد.
- محرمانگی و امنیت (Security and Privacy)
با وجود قابل قبول بودن امنیت DNN، امکان بروز خطا در نمایش قسمتهای مختلف سایت و یا دسترسی ماژولهای ایجادی به اطلاعات سایر ماژولها و تمامی پورتالها وجود دارد. در یک نسخهی چند پورتالی سایت، در صورتی که یک مشتری یک نسخهی کپی از اطلاعات اختصاصی خودش را خواسته باشد، قادر نیستید فقط اطلاعات خودش را در اختیارش بگذارید؛ ناچارید اطلاعات تمام سایت شامل دادههای سایر مشتریان را نیز در اختیارش قرار دهید.
خلاصه و نتیجهگیری
استفاده از DNN در ادارات و سازمانهای بزرگ (مثل بانکها که ارائهدهندهی خدمات مختلف آماری به طیف وسیعی از مراجعین هستند و همچنین مسئول اصلی ارائهی خدمات بانکداری الکترونیک در راستای دولت الکترونیک میباشند) با توجه به گستردگی نیازمندیهای آن و محدودیتهای این محیط اصلاً توصیه نمیشود.
در حالی که با داشتن مهارتها و دانشهای ابتدایی، جزئی و پراکنده نزد معدودی از همکاران سازمانی، فاقد برنامههای ساختیافته و نیروهای صاحب نظر و خبره در این زمینهها هستیم، قابل پیشبینی است که در صورت درخواست مراجع بالاتر به ارائهی این خدمات از بخشهای مرتبط با فنآوری اطلاعات به عنوان مرجع اصلی ارائهی خدمات فنآوری اطلاعات نخواهند توانست در زمان مناسب، پاسخ مناسبی ارائه کنند (سازمان غیر هوشمند یا بیهوش).
متأسفانه در تولید نرمافزار آنقدر از استانداردهای جهانی فاصله گرفتهایم که حالا مجبوریم چند درجه نزول را بپذیریم و تولیدات درجه دوم خارجی را ملاک تولیدات جدید خود قرار دهیم و کار مهندسین نرمافزار ما مساوی باشد با کدنویسی و ماژول نویسی تحت ابزارهائی مثل DotNetNuke و Joomla و غیره. ای کاش حداقل این کار را خوب انجام دهیم[منبع]؛ از این رو توصیه میشود صرفاً به عنوان یک هدف واسط و کوتاه مدت به منظور یکپارچه کردن سیستم-های مختلف و متفاوت، آموزش همکاران در برنامهنویسی استاندارد و ماژولار و آشنایی با این محیطها و همچنین پرورش نیروهای ماهر و تعدد ایشان، با اعمال برخی اصلاحات در شیوه برنامهنویسی از آن استفاده شود.
سعید، علیحسینی
چهارشنبه 17 مهر 1387
-
Data Warehouse: انبارهسازی داده فرآیندی است که طی آن دادههای جدا از هم موجود در منابع متعدد دادهای در سازمان که با ابزار و فرمتهای مختلف ذخیرهسازی شدهاند، به صورت یکپارچه و در یک قالب گرد هم جمعآوری میگردند.
-
Business Intelligence هوش سازمانی یا هوشمندی کسب و کار: یعنی ارائهی اطلاعات مناسب در زمان مناسب در قالبی مناسب به کاربر مورد نظر برای پشتیبانی از فرآیند تصمیمگیری. هوش سازمانی ابزاری جهت تولید دانش در میان انبوهی از دادهها و اطلاعات میباشد.
3 یادداشت قبلی...
پ: بررسی دات نت نیوک و دلایل عدم مناسب بودن آن برای استفاده در سازمانهای بزرگ
سلام به نظر میرسد اطلاعات فنی شما در زمینه دات نت نیوک چندان کامل و بروز نیست. بسیاری از مشکلاتی که شما در مقاله خود اشاره کرده اید راه حلهای بسیاری ساده ای دارد که کارایی پرتال را چندین برابر افزایش می د هد. بهتر است برای افزایش اطلاعات خود سری به مجموعه پرتالهای موفق شهرداری تهران بزنید و ببینید سازمان فناوری اطلاعات شهرداری با چه رویکردی از دات نت نیوک استفاده می کند. با تشکر
توسط امیر ایران پرست در تاریخ
08/03/2010 01:31 ب.ظ
|
پ: بررسی دات نت نیوک و دلایل عدم مناسب بودن آن برای استفاده در سازمانهای بزرگ
سلام شما که مقاله در مورد معایب دات نت نیوک برای سایت های بزرگ دولتی نوشته اید آیا خبر دارید که چه سایتی در جشنواره برترین سایت های دولتی در ایران برنده شد ؟ سایت tehran.ir که اتفاقا با دات نت نیوک طراحی شده و فکر نمی کنم سایت دولتی از این بزرگتر داشته باشیم . موفق باشید .
توسط ایمان در تاریخ
08/03/2010 01:30 ب.ظ
|
پ: بررسی دات نت نیوک و دلایل عدم مناسب بودن آن برای استفاده در سازمانهای بزرگ
مقاله درج شده در اینجا صرفاً بیان برخی نقاط قوت و همچنین اشکالاتی از داتنتنیوک است که به نظر اینجانب رسیده است؛ دیگران هم دیدگاههای متفاوتی در مورد این محصول خواهند داشت؛ هدف من در اینجا قضاوت نهایی نیست بلکه خواستم یافتههایم را ثبت کنم و با شما به اشتراک بگذارم تا با اطلاعاتی که از همدیگر به دست میآوریم من و شما و خوانندگان این مطلب و یادداشتهای مرتبط با آن بتوانیم مبنایی برای تصمیمگیری و انتخاب آگاهانه داشته باشیم؛ همین طور که میبینید خود این سایت هم با استفاده از دات نت نیوک ایجاد شده است. اما این که سایت شهرداری تهران به خوبی از این نرمافزار استفاده میکند به نظر من دلیلی بر رد اشکالات و نارساییهای آن نخواهد بود (یک بار دیگر اشکالات را ببینید)؛ همچنین از معیار انتخاب این سایت به عنوان سایت برتر اطلاعات کاملی الان یادم نیست اما فکر نمیکنم صرفاً جهت استفاده از دات نت نیوک باشد چون سایتهای دیگری هم هستند که از همین بستر استفاده میکنند.
توسط سعید علیحسینی در تاریخ
08/03/2010 02:11 ب.ظ
|