پنجشنبه, ۱۳ اردیبهشت, ۱۴۰۳ / 2 May, 2024
مجله ویستا

ارائه یک معماری برای Reporting Service


ارائه یک معماری برای Reporting Service
● مقدمه
کسانی که با اطلاعات در سازمان ها سر و کار دارند، می دانند که گرفتن یک تصمیم مؤثر و صحیح در زمان مقتضی نیازمند دسترسی به داده های حرفه می باشد. کارشناسان و مدیران چنین سازمان هایی به ابزاری قدرتمند برای یافتن پاسخ سؤالات حیاتی خود را دارند. در ضمن استفاده از چنین ابزاری نباید نیازمند داشتن دانش فنی از ساختار منابع داده سازمان باشد. در این مقاله به صورت اختصار یک ساختار برای تولید گزارش های یک سازمان پیشنهاد گشته است.
● زبان تعریف گزارش
زبان تعریف گزارش (Report Definition Language)که با علامت RDL نمایش داده می شود، به مجموعه ای از دستورات گفته می شود که شامل طرح بندی و مشخصات Query یک گزارش می باشد. RDL از عناصری تشکیل یافته است که به زبان XML نوشته شده اند. این زبان امکان همکاری میان محصولات مختلف تولید گزارش را مهیا کرده است. RDL یک واسط برنامه ای یا یک پروتکل شبیه HTTP یا ODBC نیست، این زبان چگونگی انتقال یک گزارش بین برنامه های کاربردی یا روش پردازش آن را بیان نمی کند. از آنجایی که RDL کاملاً کپسوله سازی شده است، بنابراین شما می توانید کدهایی بنویسید که به راحتی متن های RDL را بدون آگاهی از برنامه منبع تفسیر نماید. دو عامل اساسی (Primary Agents) همکاری نزدیکی با RDL دارند، سرویس دهنده و تولیدکننده. سرویس دهنده های برنامه هایی هستند که می توانند یک متن RDL را تفسیر نمایند و گزارش هایی جهت ارائه به کاربران نهایی مهیا سازند. یک سرویس دهنده باید بتواند یک RDL را بخواند، داده ها را بازیابی نماید و یک گزارش یا قالبی خاص تولید نماید. تولیدکننده ها، برنامه های کاربردی هستند که توان تولید یک متن RDL را بر اساس تعدادی ورودی دارا می باشد.
● اجزای یک سرویس گزارش دهی (Reporting Services)
سرویس گزارش دهی مجموعه ای از کامپوننت های پردازشی، ابزار و واسط های برنامه ای است که یک محیط مدیریت شده و غنی را باید برای گزارش گیری مهیا نماید. مجموعه ابزار شامل ابزارهای توسعه، پیکربندی، و مدیریت. واسط های برنامه ای شامل SOAP، URL، WMI برای یکپارچگی آسان با برنامه های کاربردی موجود و پورتال ها می باشد. پردازش میان چندین کامپوننت تقسیم شده است، پردازنده های مرکزی و مخصوص برای بازیابی داده، پردازش صفحه بندی گزارش، ارائه قالب نمایش و تحویل به مقصد نهایی می باشند.
▪ سرویس دهنده گزارش
سرویس دهنده گزارش (Report Server)مهمترین بخش یک سرویس دهنده گزارش هست. سرویس دهنده گزارش باید شامل یک وب سرویس باشد که مجموعه ای از واسط ها و برنامه های کاربردی را برای دسترسی به سرویس دهنده گزارش ارائه نماید. همچنین این سرویس دهنده باید دارای یک سرویس ویندوزی باشد که مقداردهی اولیه، زمانبندی و تحویل گزارش و امکان نگهداری سرور را تضمین نماید. این سرویس ها با هم کار می کنند و نمونه ای از یک سرویس دهنده گزارش را ارائه می نمایند. سرویس دهنده گزارش از طریق مؤلفه هایش (subcomponents) درخواست های گزارش را پردازش می نماید و امکان دسترسی به گزارش ها را به صورت همزمان یا زمانبندی شده ارائه می نماید. این مؤلفه ها شامل پردازشگرها و موارد افزودنی می باشند. پردازشگرها مرکز فعالیت سرویس دهنده گزارش هستند، آنها یکپارچگی سیستم گزارشگیری را پشتیبانی می نمایند و امکان تغییر یا گسترش را ندارند. موارد افزودنی هم پردازشگر هستند اما آنها کارهای بسیار خاصی را انجام می دهند و وظایف مخصوصی را بر عهده دارند.
۱) پردازشگر
سرویس دهنده گزارش شامل دو پردازشگر است که آنها پردازش اولیه و میانی پردازش گزارش و نیز زمانبندی و تحویل گزارش را انجام می دهند. پردازش گزارش توسط پردازشگر گزارش از هنگامی که درخواست برای اجرای یک گزارش publish شده انجام می گیرد، آغاز می شود. زمانی که درخواست پردازش گزارش برای یک گزارش publish ساخته می شود. پردازنده گزارش rdl را از پایگاه داده سرور گزارش می گیرد.
پارامترها و مقادیر عبارات را مقداردهی می نماید و نیز پردازش های مقدماتی گزارش برای داده را نیز تهیه می کند. الحاقی پردازش داده پس از آن به منبع داده وصل می شود و داده ها را بازیابی می کند. پردازنده داده، داده های گزارش را با صفحه بندی آن که در rdl آمده است، ترکیب می کند. داده ها در سطرهای هر بخش می آیند. بخش ها شامل سرصفحه و زیرصفحه، سرصفحه و زیرصفحه های گروه ها و جزئیات می باشند. همه توابع و عبارات نیز در این زمان پردازش می شوند. در مرحله نماسازی، الحاقی نماساز گزارش را صفحه گذاری می کند. آنگاه گزارش در قالب خواسته شده ارائه می شود. پردازنده زمانبندی و تحویل (scheduling and Delivery Processor)، راه اندازی یک گزارش بر اساس یک زمانبندی را پردازش و رسیدن آن به مقصد نهایی را پشتیبانی می نماید.
۲) موارد گسترش
سرویس دهنده گزارش طراحی شده، از یک مورد گسترش جهت هویت سنجی (authentication extensions)، یک مورد گسترش جهت پردازش داده (data processing extensions)، یک مورد گسترش جهت پردازش گزارش (report processing extensions) و الحاقی نماسازی (rendering extensions) استفاده می نماید.
۳) انبار داده
یک سرویس دهنده گزارش اگر همه ویژگی ها، اشیا و فراداده ها را در یک پایگاه داده Sql Server ذخیره نماید، سروری توانمند خواهد بود. داده هایی شامل گزارش ها، مدل های گزارش ها، سلسله مراتب فولدرهایی که همه اجزای سرویس دهنده گزارش را مدیریت می کنند، باید در پایگاه داده سرویس دهنده گزارش ذخیره شوند. بر این اساس یک پایگاه داده برای سرویس در نظر گرفته شده است.
۴) موارد افزودنی امنیتی (Security Extensions)
مورد افزودنی امنیتی برای تصدیق و دادن اجازه عبور به کاربران یا گروه ها به سرویس دهنده گزارش هست. مقدار پیش فرض این مورد افزودنی امنیتی تصدیق ویندوزی می باشد. اگر مدل تحویلی نیازمند روش تصدیق متفاوتی باشد. می توان مورد افزودنی امنیتی متفاوتی را جایگزین آن نمود.
۵) موارد افزودنی پردازش داده (Data Processing Extensions)
مورد افزودنی پردازش داده برای پرس وجو از یک منبع داده و برگرداندن یک مجموعه سطر مسطح استفاده می شود. سرویس های گزارش دهی الحاقی های متفاوتی را برای تبادل اطلاعات بین انواع مختلف و منابع داده مختلف استفاده می کنند. برای SQL Server، Oracle، OLE DB، ODBC و ADO.Net باید provider داده مختلفی استفاده گردد. موارد افزودنی پردازش داده موارد زیر را برای پاسخگویی به یک درخواست پردازنده گزارش انجام می دهد:
- ایجاد یک اتصال به منبع داده.
- تحلیل Query و بازگرداندن یک لیست از نام فیلدها.
-اجرای Query بر روی منبع داده و بازگرداندن یک مجموعه سطح.
- در صورت نیاز باید مقدار پارامترهای Query به آن داده شود.
-تکرار سطرها و بازیابی داده.
۶) مورد افزودنی نماسازی (Rendering Extensions)
الحاقی نماسازی داده ها و اطلاعات صفحه بندی آنها را از پرداشگر گزارش به قالب قابل ارائه به مشتری تبدیل می نماید. سرویس گزارش دهی می تواند شامل موارد افزودنی نماسازی زیر باشد. HTML، Excel، CSV، XML، Image و PDF.
● مدیر گزارش (Report Manager)
مدیر گزارش یک ابزار تحت وب برای دسترسی و مدیریت گزارش می باشد. یک مدیر گزارش برای انجام وظایف زیر مورد استفاده قرار می گیرد.
▪ مشاهده و جست وجو گزارش ها
▪ ایجاد، ایمن سازی و نگهداری پوشه سلسله مراتب برای سازماندهی اجزای روی سرور.
▪ پیکربندی ویژگی ها و موارد پیش فرض، مشخص سازی میزان دسترسی هر فرد در محل کاری آن فرد به گزارش ها.
▪ مشخص سازی میزان دسترسی به اجزا و متدها بر اساس امنیت Role Based.
▪ پیکربندی ویژگی های اجرای گزارش، تاریخچه گزارش و پارامترهای گزارش ها.
▪ ایجاد یک مدل گزارش برای اتصال و بازیابی داده از یک منبع داده.
مدیر گزارش برای مرور فولدرهای سرویس دهنده گزارش یا جست وجوی گزارش ها مورد استفاده قرار می گیرد. می توان یک گزارش، ویژگی عمومی و سابقه رونوشت های گزارش را که در تاریخچه گزارش آمده است را مشاهده کرد. توانایی اجرای یک وظیفه در مدیر گزارش به نقش کاربر وابسته است، کاربری که اجازه کامل دارد، می تواند به همه موارد منوها و صفحات برای مدیریت یک سرویس دهنده گزارش دسترسی داشته باشد. کاربری که به آن نقشی نسبت داده شده است می تواند فقط به گزارش ها و منوهایی دسترسی داشته باشد که اجازه آن داده شده است.
● طراح گزارش (Report Designer)
طراح گزارش مجموعه ای از بسترها و ابزارهای گرافیکی برای چیدمان داده، صفحه بندی و...
تهیه و تنظیم: مهدی جعفری نژاد
منبع : روزنامه ابرار اقتصادی