طرح مذکور با هدف هماهنگ سازی و تجمیع سامانه های مختلف سازمان ارائه شده است. در این طرح سعی شده است با پیادهسازی چارچوب جامعی برای نیازهای فوق نه تنها سعی در حل مشکلات بالا شود بلکه امکان استفاده از امکانات جدیدی در سطح کلی سازمان فراهم گردد. با طراحی لایه ای این چارچوب، امكان استفاده از زيرسيستم هاي تهيه شده در هر سامانه در ساير سامانه ها فراهم مي شود و یا به عبارت دیگر هر زيرسيستم و يا پروژه نرم افزاري تنها یک بار توليد خواهد شد.
پرتال مذکور را میتوان هستها ی مرکزی برای سایر سامانهها در نظر گرفت که عهده دار تعامل بین کاربر و این سامانه ها خواهد شد. در این ساختار برای هر کارمند تنها نیاز به تعریف یک نام كاربري و كلمه عبور در پرتال خواهد بود و كارمند با استفاده از آن و ورود به صفحه شخصی پرتال، از تمامي امکانات تعریف شده میتواند استفاده کند. طراحی این پرتال بر پایه ساختار سرویسگرا می باشد که سبب می گردد چارچوب به صورت مستقل از سکو در هر سیستمی (چه از لحاظ سیستم عامل Windows, Linuxو چه از لحاظ زبان برنامه نویسی ASP,PHP,JSP,…) قابل استفاده باشد.
اهداف
-
تجمیع تمام سامانه های سازمان در یک سامانه (تعریف سرویسها)
-
طراحی و پیاده سازی نیازمندیهای سازمان در قالب یک سامانه جدید با کمک سامانه های قبلی (تعریف ابزارجدید)
-
برطرف سازی نیازهای ساده سازمان با ترکیب سامانه های موجود (تعریف ابزارک جدید)
-
ارتباط بین سامانه های سازمان
-
کنترل داده های سامانه ها
-
جمع آوری اطلاعات و آمار سامانه ها و ارائه گزارشهای مدیریتی (تعریف گزارش)
-
امکان تعریف ارتباط بین کاربران
هسته مرکزی
· وظایف
o کنترل ورود و خروج کاربران
o مدیریت صفحه خانگی هر کاربر
o تعریف مجوز و دسترسی هر کاربر به سایر سامانه های سازمان
o ایجاد ارتباط بین سامانه ها
o فراهم آوردن بستر تولید ابزار، ابزارکها و گزارشات
· شرح
هسته مرکزی پرتال از چهار بخش زیر تشکیل شده است:
o مدیریت کاربران (تعریف، دسترسی)
o مدیریت سرویسها (تعریف ارتباط با سایر سامانهها)
o مدیریت ابزار، ابزارک و گزارشها
o صفحه خانگی کاربران
افزونه ها
یکی از اهداف طرح حاضر ایجاد بستری برای برطرف سازی نیازهای آتی است. در این راستا با ایجاد هسته مرکزی، سپس تعریف افزونه های مورد نیاز میتوان اقدام به گسترش پرتال کرد. همانطور که قبلا اشاره شد، معماری سرویس گرای هسته این امکان را فراهم میآورد که فارغ از نوع سیستم، تنها با رجوع به سرویسهای مورد نیاز، افزونه جدید طراحی شود. گسترش چنین سیستمی که بستر لازم برای هر سکو را فراهم آورده نه تنها وابسته به برنامه نویسی خاصی نیست، بلکه از نوع سیستم و زبان برنامه نویسی نیز مستقل است. با بررسی سامانه های موجود، ساختار فعلی و پیش بینی وضعیت آینده، نیازهای سازمان را به چهار دسته کلی از افزونه ها میتوان افراز نمود:
· سرویسها
· ابزارکها
o ابزارک خبری
o ابزارک کاربرمحور
· ابزارها
· گزارشها
سرویس ها (Services)
· کاربرد
o ایجاد ارتباط دوطرفه بین سامانه های موجود و هسته مرکزی
o امکان استفاده از امکانات و اطلاعات سامانه های موجود در سایر افزونه ها
o امکان ارتباط و انتقال اطلاعات بین سامانه ها با استفاده از هسته مرکزی در نقش واسط
· شرح
سرویسها واسطه هایی برای برقراری ارتباط با سایر سامانه های سازمان هستند. تعریف هر سرویس تنها شامل امکان استفاده از خدمات و اطلاعات یک سامانه در هسته مرکزی است و هیچ واسط گرافیکی یا کاربری را در برنمی گیرد. به عنوان نمونه در سیستم اتوماسیون دریافت نامه های یک کاربر، تعداد نامه های موجود و یا متن یک نامه خاص خدماتی است که میتوان از سامانه دریافت نمود. نمایش و تحلیل این اطلاعات در هسته به عهده ابزارها و ابزارکهاست که در ادامه بررسی خواهد شد.
ساختار سرویسها بر اساس معماری سرویسگرا و با استفاده از SOAPپیاده سازی خواهد شده که علاوه بر امکان تعامل بین سیستم های مختلف کمترین تغییر را در سامانه مذکور ایجاد میکنددر زیر نمونه هایی از سرویسهای قابل استفاده در سامانه های موجود ذکر شده است:
· اتوماسیون
o دریافت تعداد نامه ها
o ارسال نامه به صورت ساده
o بررسی تعداد نامه های جدید یا خوانده نشده
o دریافت متن یک نامه و یا وضعیت درختی آن
· مالی
o وضعیت حقوقی کاربر
o فیش حقوقی
o کارمزد، ساعات کاری و ...
· کارت زن
o جمع ساعات کاری
o مرخصی کاربر
o اضافه کار
· آموزش یا پذیرش (این سرویس تنها میتواند برای کاربران خاص فعال شود –مجوزدهی)
o بررسی وضعیت یک دانشجو
o پیامهای موجود
o وظایف محوله
ابزارها (Tools)
· کاربرد
o تعریف یک سامانه جدید
o استفاده از سرویسهای تعریف شده در سامانه جدید
o به خدمت در آوردن سامانه های موجود در پرتال مرکزی
پس از تعریف سرویسها، اولین قدم برای استفاده از آنها تعریف ابزار و ابزارک میباشد. تعریف ابزار شامل واسط کاربری با قابلیت نامحدود شامل ورود اطلاعات، نمایش و یا هر نیاز دیگری است. سامانه های موجود هر کدام در سیستم پرتال به صورت یک ابزار تعریف و استفاده خواهند شد. این امر نیازمند بررسی مجوز کاربر و سپس ورود خودکار وی به سامانه مذکور است. پس از ورود کاربر، کنترل کار به سامانه منتقل خواهد شد. با این وصف با کمترین تغییر در سامانه و بدون نیاز به تماس با شرکت سازنده قادر خواهیم بود تمامی سامانه های سازمان را در یک پرتال گردآوری کنیم. قابلیت نامحدود یک ابزار سبب میشود که دسترسی هر ابزار به منابع و ساختارها نامحدود باشد که علاوه بر سادتر شدن ارتباط و سربار پرتال، سازگاری آن را با ساختار موجود افزایش خواهد داد. در یک دید وسیعتر هر ابزار میتواند شامل هر نرم افزار از جمله نرم افزارهای وبی، ویندوزی و یا سایر ساختارهای موجود باشد. هر ابزار باید دارای حداقل چند پیش نیاز باشد که لازم است همگی به صورت سرویس ارائه شوند. سرویس ورود و خروج کاربر و اطلاعات صفحه خانگی ( صفحه اولیه) کاربر از این جمله است.
برای نمونه میتوان سیستم اتوماسیون دوباره در نظر گرفت. در این حالت علاوه بر تعریف سرویسهای لازم برای استفاده در سایر سامانه ها، خود سامانه به صورت یک ابزار تعریف و قابل استفاده برای کاربران خواهد بود.
گزارشات (Reports)
· کاربرد
o استفاده از اطلاعات سامانه های موجود برای گزارشهای کلی
o تعریف گزارشهای لازم مستقل از نوع و ساختار زیرسیستمها
· شرح
تعریف هر گزارش همانند ابزار میباشد با این تفاوت وابستگی گزارش به هسته مرکزی بیشتر است بنابراین محدودیتها و پیش شرطهای لازم برای استفاده از آن نیز افزایش مییابد. امکانات قابل استفاده در یک گزارش محدود است. یک گزارش نمیتواند اطلاعات موجود را تغییر دهد (ورود اطلاعات توسط کاربر) و به علاوه باید به صورت زیر مجموعه ای از صفحه جاری نمایش داده شود. با این تعریف یک گزارش نمیتواند فراخوانی مستقیم صفحه یک سامانه جاری باشد (برخلاف ابزار)، به این معنی که ارتباط، فراخوانی و نمایش گزارش همگی توسط پرتال و با استفاده از سرویسها انجام خواهد پذیرفت. هر گزارش باید حداقل شرطهای ساختاری را داشته باشد که شامل استفاده از تگهای خاص در خروجی و یا پشتیانی از سرویسهای لازم برای ورود و خروج کاربر، دریافت گزارش، تبدیل خروجی و مجوزدهی باشد. گزارش صفحات بازدید شده در اینترنت و یا مجموع عملکرد کاری کاربران بر اساس کارتزن را میتوان نمونهای از این نوع افزونه ها دانست که برای مدیر سازمان قابل استفاده است.
ابزارکهای خبرمحور (Notifaction-based Gadget)
· کاربرد
o طراحی ابزارهای کوچک (ابزارک) بدون در نظر گرفتن کاربر جاری
o ابزارکهای مشترک بین کاربران
o ابزارکهای اطلاعرسانی و خبری
o ابزارکهای مبتنی بر وضعیت فعلی سامان
· شرح
از دید انتزاعی ابزارک، قطعه برنامه ای است که وظیفه انجام یا نمایش اطلاعات خاصی را بر عهده دارد با این شرط که اختیار کل خروجی سیستم را در دست نگیرد. به مفهوم ساده تر هر ابزارک تنها بخشی از صفحه نمایش را در اختیار میگیرد و کنترل کامل صفحه بر خلاف ابزارها و گزارشها با هسته مرکزی است. با این وصف اولا در هر صفحه نمایش میتوان به تعداد دلخواه ابزارک قرار داد، ثانیا کنترل اصلی توسط هسته انجام میگیرد و هسته بنا به درخواست پاسخگوی نیازهای ابزارک و تعامل وی با کاربر خواهد بود. به این منظور در سمت مشتری چارچوبی برای تعامل با هسته در نظر گرفته شده است. این چارچوب که بر اساس زبان JavaScript بنا نهاده میشود، وظیفه انجام هرگونه ارتباط با سرویسها به روزرسانی یا سایر امکانات لازم را در اختیار ابزارکها قرار میدهد. با توجه به توضیحات داده شده، محدودیتهای درنظر گرفته شده برای یک ابزارک بسیار بیشتر از سایر افزونههای پرتال خواهد بود. یک ابزارک تنها قادر به تولید خروجی HTMLو یا توابع خاص JavaScriptاست. هرچند تگهای قابل استفاده در آن نیز برای امنیت بیشتر محدود میشود. به عنوان نمونه یک ابزارک نباید از تگهای مرتبط با فرم، iframeو یا درخواستهای مستقیمget و postاستفاده نماید.
در طرح مذکور ابزارکها بر دو نوع تعریف شدهاند. نوع اول که ابزارک خبری نام نهاده شده، به منظور اطلاع رسانی قابل استفاده خواهد بود. این ابزارک توجهی به کاربر جاری ندارد، بنابراین نه تنها نیاز به ارائه سرویسهای مرتبط با ورود و خروج کاربران نیست، بلکه اطلاعات خروجی آن بین تمام کاربران مشترک خواهد بود. خبررسانی، نمایش تقویم سازمان و اطلاعیه ها نمونه هایی از چنین ابزارک هایی است.