mahdi hoshmandi
mahdi hoshmandi
خواندن ۴ دقیقه·۴ سال پیش

ایجاد گزارشات کم هزینه در فریمورک قائم

در یک سامانه درون سازمانی ماژولهای مختلف نیاز به گزارشات متنوعی دارند. در قائم هر جداول به یک ماژول متصل شده و به صورت مستقل برای هر جدول عملیات گزارشگیری انجام میشود، فارغ از اینکه جدول پایه باشد یا واسط ارتباط بین دو جدول دیگر. جداول مجموعه ای از رکوردها هستند که شامل فیلدهای مختلفی هستند. گزارشگیری از جداول با فیلدها و رکوردهای فراوان کار پرهزینه ای است. هم از لحاظ بار پردازشی روی وب سرور و هم کدنویسی و ایجاد کوئریهای لایه دیتا و وب سرور. فریمورک قائم با تولید گزارشات در استور پروسیجر (Stored Procedure) هم بحث گزارشگیری با حداکثر انعطاف را با ایجاد پارامترهای نامحدود و مقداردهی خودکار آنها حل کرده و هم قابلیت تصمیم گیری در نمایش ستونهای منتخب در موبایل را فعال کرده است. در زیر تعدادی از مزایای رویکرد فریمورک قائم در ایجاد گزارشات را ملاحظه می فرمایید.

ایجاد گزارشات کم هزینه در فریمورک قائم
ایجاد گزارشات کم هزینه در فریمورک قائم


1- کاهش هزینه پردازشی

در سامانه های بزرگ که رکوردهای بالایی دارند و کاربران آنها فراوان است. بایستی گزارشات باحداقل کدنویسی و به صورت بهینه ایجاد شوند. در این سیستمها حتی یک خط کد اضافی و سنگین می تواند باعث مختلف شدن کار سامانه گردد. قائم توانسته حداقل کدنویسی را با ایجاد مستقیم گزارشات از طریق استور پروسیجر و کوئری فراهم کند. مورد مهم دیگر که در فریمورک قائم هندل شده است عدم ارسال HTML نهایی به کلاینت است. کلاینت رشته گزارش خام را پردازش کرده و گزارش متناسبی بسته به شرایط کلاینت و ماژول به کاربر نمایش میدهد.

2- کاهش هزینه کدنویسی

به طور معمول کدنویسی ایجاد گزارشات باعث درگیری نفرات مختلفی در لایه های سه گانه می شود. ایجاد ساختار گزارش HTML در فرانت اند، ایجاد حلقه های و کدهایی برای پردازش داده های دریافتی از دیتابیس و در نهایت تهیه کوئریهای واکشی لایه دیتا، باعث هزینه بالایی در کدنویسی میشود. در کدنویسی فریمورک قائم تقریبا 90درصد حجم کدنویسی گزارشات به همان ایجاد کوئریهای مناسب برای ایجاد خروجی بر می گردد. 10 درصد باقیمانده هم صرف تنظیم پارامترهای نمایش گزارش و نشانه گذاری دیتا خروجی کوئری جهت استفاده کلاینت بر می گیرد. در نهایت کلاینت با کمک این داده ها رندرینگ را انجام میدهد.

3- انعطاف در نمایش

بحث نمایش گزارشات در دیوایسهای مختلف مثل موبایلها و کامپیوترها بسیار مهم است. تلاشهای زیادی صورت گرفته که گزارشات در دیوایسهای مختلف ریسیپانسیو باشند. اما باید توجه داشت که گزارشات معمول برای کامپیوتر با ستونهای متعدد اکثرا به صورت جذابی در موبایل دیده نمی شوند. در چنین شرایطی تفکیک گزارش موبایل و کامپیوتر ضروری به نظر میرسد. فریمورک قائم در رندرینگ کلاینت با توجه به پهنای نمایشگر تصمیم می گیرد کدامیک از ستونها را با توجه به تنظیمات نمایش دهد. ستونها گزارش از سرور به صورت منفک به کلاینت می رسند و کلاینت میتواند هر کدام از ستونها را به هر ترتیبی نمایش دهد.

4- اعمال دامینهای داده ای

در سامانه های بزرگ که داده های آنها بسیار متنوع هستند و موجودیتهای پایه ای آنها بسیار زیاد است چاره ای جزء پارتیشن بندی داده ها وجود ندارند. مثلا در یک دانشگاه براساس دانشکده دانشجویان و در یک فروشگاه بزرگ براساس دسته بندی اجناس تفکیک داده ها صورت می گیرد. برای سرعت دهی به دریافت گزارشات دیتابیسهای متعددی برای هر یک از دامینها در نظر گرفته میشود. به طور معمول سوئچ کردن به دیتابیس مناسب در وب سرور کار بسیار دشواری است و لازمه آن نوشتن کدهای فراوان در کنترلرهای مختلف است. اما در فریمورک قائم به خاطر کانال عام پردازش درخواستها براساس نام پارامتر میتوان تصمیم گیری خودکار برای انتخاب دیتابیس مناسب برای گزارشگیری را انجام داد. مثلا در سامانه دانشگاهی روی پارامتر StdCode میتوان نگاشتی (mapping) را تعریف کرد که به ازای دریافت کد دانشجویی به سرور دانشکده مناسب سوئچ کند و گزارشگیری را در آن سرور انجام دهد. این قابلیت فوق العاده باعث افزایش سرعت اجرای درخواستها شده و کنترل دسترسی را افزایش میدهد.

5-قابلیت تجمیع پویا

بسیاری از دیتابیسهای از تجمیع پویا به صورت زیر پشتیبانی می کنند (این ساختار مربوط به Sql Server است). این ساختار با کمترین کدنویسی امکان تجمیع مقادیری را از جداول مختلف فراهم میکند. بدین ترتیب برنامه نویس در لایه میانی لازم نیست کدهای برای ایجاد حلقه ها انجام دهد. این روال در دیتابیسهای دیگر به صورتهای مختلفی هندل می شود.

Declare @res nvarchar(max)=’’

Select @res += title + ’,’ from Student

نتیجه گیری

ایجاد گزارشات امروزه بوسیله ابزارهای زیادی در زبانهای مختلف هندل میشود. اما ایجاد گزارشاتی که برنامه نویس روی تمام اجزاء گزارش اعمال نظر کند بسیار اهمیت دارد. فریمورک قائم با ایجاد HTML خام برای گزارشات این امکان را ایجاد کرده که برنامه‌نویس بتواند گزارشاتی با حداکثر انعطاف ایجاد کند. مزیت اصلی روش قائم در ایجاد گزارشات، استفاده از مکانیزم تجمیع پویاست که فوق العاده کدنویسی را کاهش داده و هزینه پردازشی و ترافیک سرور را کاهش میدهد.

گزارشقائمفریمورک
برنامه نویس محیط های مختلف از تحت داس، ویندوز، وب و دیتابیس هستم. مولف دو کتاب تخصصی و مبتکر فریمورکی مبتنی بر استور پروسیجر که هدفش حداقل کردن کدنویسی و هزینه توسعه و پشتیبانی می باشد.
شاید از این پست‌ها خوشتان بیاید