Borna66
01-11-2011, 01:02 PM
(http://pnu-club.com/redirector.php?url=http%3A%2F%2Fwww.egzaweb.com%2F toptab%2Fgo.php%3Fid%3D8)
بررسی انواع گزارش گیری های تحت وب توسط ASP.net
برای تهیه گزارش روی برنامه های تحت وب سه راه عمده وجود دارد
1)استفاده از کریستال ریپرتس
2)استفاده از ریپورتینگ سرویس
3)طراحی گزارش با کمک برنامه نویسی .
ابتدا به شرح مختصر هر یک از راه های پیش رو میپردازیم :
کریستال ریپرتس :
ابزار گزارش گیری بسیار کار آمدی که از قبل از تکنولوژی دات نت نیز با ویژال استدیو عرضه شده بوده است . هم اکنون این ابزار پا به پای ویژال استدیو پیشرفت کرده و به قابلیت های آضافه شده است . تهیه گزارش با این ابزار به بسیار ساده میباشد تا جایی که با استفاده ازجادوگر (ویزارد) این ابزار طراحی گزارش های ساده بسیار آسان بوده و فقط کافی است به بانک اطلاعاتی مربوطه را مشخص کنیم دیگر نیازی نیست نگران صفحه بندی و ظاهر گزارش خود باشیم .
سناریوی استفاده از کریستال ریپرتس در وب دات نت بدین صورت است که یک گزارش آماده که توسط متخصص طراحی کریستال ریپرتس طراحی شده است توسط برنامه نویس مورد استفاده قرار میگیرد گرچه طراحی خود گزارش نیز میتواند توسط برنامه نویس دات نت صورت بگیرد هیچ انتظاری مبنی بر طراحی گزارش از یک برنامه نویس نمیرود ( همانطور که انتظار نمیرود یک برنامه نویس وب یک گرافیست ماهر یا یک انیماتور فلاش باشد ).
گرچه کریستال ریپرتس در نگاه اول بسیار آسان به نظر میرسد و استفاده ازگزارش آماده آن توسط برنامه نویس لذت بخش مینماید ، در صورتی که برنامه نویس بخواهد خود ساختن یک گزارش حرفه ای را که کمی از گزارش معمولی پیچیده تر است به عهده بگیرد بدون شک خود را در دردسر بزرگی انداخته است !
ریپورتینگ سرویس :
یکی از ابزارهایی که در SQL server 2005 به نحو شایسته ای بدان پرداخته شده است ریپورتینگ سرویس میباشد که با SQL SERVER 2005 عرضه میشود . این ابزار بسیار قدرتمند است و در ساختن گزارش ها و ایجاد نمودار ها بسیار کارامد میباشد . از طرف دیگر تهیه گزارشهایی با قال بندی پیچیده توسط آن نسبت به تهیه گزارش به وسیله کریستال ریپورتس ساده تر میباشد.
ایجاد گزارش ها در نظر اول با هریک از ابزار های بالا از ایجاد گزارش توسط برنامه نویسی روی وب فرم منطقی تر به نظر میرسد . لیکن اکثر هاستینگ هایی که به صورت مشارکتی سروری را به چندین سایت تخصیص میدهند قالبیت های پایه هیچ یک از این ابزار ها را ندارند . به عبارت دیگر کریستال ریپرتس روی سرور وب و ریپورتینگ سرویس روی اس کیو ال سرور نصب نیست ! دلیل منطقی هم دارند ! چون این ابزارها قابل کنترل نیستند و برای هر گزارش ممکن است منابع بسیار زیادی از سرور مصرف شود . شما شاید نتوانید فشاری که ممکن است با این کار برای حتی چندین دقیقه بابت هر گزارش به سرور تحمیل شود را تصور کنید . به هر حال عاقلانه این است که چنین امکانی روی یک سرور اشتراکی موجود نباشد !
پس چه کنیم !؟!
اگر مجبورید نرم افزار تحت و ب خود را روی جایی غیر از یک سرور اختصاصی نصب کنید چاره ای که برای شما میماند آن است که با همان ابزارهای معمولی برنامه نویسی وب گزارش خود را پیاده سازی کنید .
بهترین کار این است که فشار این گزارش را بین SQL server و web server تقسیم کنید ! و عاقلانه این است که برنامه خود را به نحوی بنویسید که کمترین فشار به سرور وارد شود . بین منظور باید از ترکیبی از برنامه نویسی روی SQL با دستورات T-SQL و همینطور برنامه نویسی روی وب توسط ASP.net بهره ببرید. گرچه کار طاقت فرسایی مینماید ولی نتیجه بهتری عاید شما خواهد شد .
__________________
بررسی انواع گزارش گیری های تحت وب توسط ASP.net
برای تهیه گزارش روی برنامه های تحت وب سه راه عمده وجود دارد
1)استفاده از کریستال ریپرتس
2)استفاده از ریپورتینگ سرویس
3)طراحی گزارش با کمک برنامه نویسی .
ابتدا به شرح مختصر هر یک از راه های پیش رو میپردازیم :
کریستال ریپرتس :
ابزار گزارش گیری بسیار کار آمدی که از قبل از تکنولوژی دات نت نیز با ویژال استدیو عرضه شده بوده است . هم اکنون این ابزار پا به پای ویژال استدیو پیشرفت کرده و به قابلیت های آضافه شده است . تهیه گزارش با این ابزار به بسیار ساده میباشد تا جایی که با استفاده ازجادوگر (ویزارد) این ابزار طراحی گزارش های ساده بسیار آسان بوده و فقط کافی است به بانک اطلاعاتی مربوطه را مشخص کنیم دیگر نیازی نیست نگران صفحه بندی و ظاهر گزارش خود باشیم .
سناریوی استفاده از کریستال ریپرتس در وب دات نت بدین صورت است که یک گزارش آماده که توسط متخصص طراحی کریستال ریپرتس طراحی شده است توسط برنامه نویس مورد استفاده قرار میگیرد گرچه طراحی خود گزارش نیز میتواند توسط برنامه نویس دات نت صورت بگیرد هیچ انتظاری مبنی بر طراحی گزارش از یک برنامه نویس نمیرود ( همانطور که انتظار نمیرود یک برنامه نویس وب یک گرافیست ماهر یا یک انیماتور فلاش باشد ).
گرچه کریستال ریپرتس در نگاه اول بسیار آسان به نظر میرسد و استفاده ازگزارش آماده آن توسط برنامه نویس لذت بخش مینماید ، در صورتی که برنامه نویس بخواهد خود ساختن یک گزارش حرفه ای را که کمی از گزارش معمولی پیچیده تر است به عهده بگیرد بدون شک خود را در دردسر بزرگی انداخته است !
ریپورتینگ سرویس :
یکی از ابزارهایی که در SQL server 2005 به نحو شایسته ای بدان پرداخته شده است ریپورتینگ سرویس میباشد که با SQL SERVER 2005 عرضه میشود . این ابزار بسیار قدرتمند است و در ساختن گزارش ها و ایجاد نمودار ها بسیار کارامد میباشد . از طرف دیگر تهیه گزارشهایی با قال بندی پیچیده توسط آن نسبت به تهیه گزارش به وسیله کریستال ریپورتس ساده تر میباشد.
ایجاد گزارش ها در نظر اول با هریک از ابزار های بالا از ایجاد گزارش توسط برنامه نویسی روی وب فرم منطقی تر به نظر میرسد . لیکن اکثر هاستینگ هایی که به صورت مشارکتی سروری را به چندین سایت تخصیص میدهند قالبیت های پایه هیچ یک از این ابزار ها را ندارند . به عبارت دیگر کریستال ریپرتس روی سرور وب و ریپورتینگ سرویس روی اس کیو ال سرور نصب نیست ! دلیل منطقی هم دارند ! چون این ابزارها قابل کنترل نیستند و برای هر گزارش ممکن است منابع بسیار زیادی از سرور مصرف شود . شما شاید نتوانید فشاری که ممکن است با این کار برای حتی چندین دقیقه بابت هر گزارش به سرور تحمیل شود را تصور کنید . به هر حال عاقلانه این است که چنین امکانی روی یک سرور اشتراکی موجود نباشد !
پس چه کنیم !؟!
اگر مجبورید نرم افزار تحت و ب خود را روی جایی غیر از یک سرور اختصاصی نصب کنید چاره ای که برای شما میماند آن است که با همان ابزارهای معمولی برنامه نویسی وب گزارش خود را پیاده سازی کنید .
بهترین کار این است که فشار این گزارش را بین SQL server و web server تقسیم کنید ! و عاقلانه این است که برنامه خود را به نحوی بنویسید که کمترین فشار به سرور وارد شود . بین منظور باید از ترکیبی از برنامه نویسی روی SQL با دستورات T-SQL و همینطور برنامه نویسی روی وب توسط ASP.net بهره ببرید. گرچه کار طاقت فرسایی مینماید ولی نتیجه بهتری عاید شما خواهد شد .
__________________