معماری و اجزا در نرم افزارهای BPMS
نرم افزار BPMS به عنوان موتور محركه ساخت برنامه های كاربردي از اجزاء مختلفي تشكيل شده است و می توان گفت زيرساخت آن در ابعاد مختلف از ماژول هايي بوجود آمده كه در كنار يكديگر ساختار اجرايي را تشكيل میدهند. همانطور که از تصویر شماتیک فوق بر می آید، اجزا اصلی در معماری و اجزای سیستم ساز در چهار لایه به شرح ذیل ساختار اصلی را ایجاد نموده اند:
- لایه اول، SPL: این لایه زیر ساختی بخش های مهمی چون امنیت، ORM، ممیزی، نوتیفیکیشن ها و محاسبات هوشمند را پوشش می دهد.
- لایه دو، نرم افزار BPMS: نرم افزار BPMS را می توان به موتور و یا تابعی تشبیه نمود که از سه بخش اصلی شامل ورودی، پردازش و نهایتا خروجی تشکیل شده است.
- انواع ورودیها: موجودیت ها، فرم ها، انواع فیلد های اطلاعاتی
- انواع پردازش: فرآیند ها و قواعد کاری شامل گردش کار مبتنی بر BPMN2، موتور قواعد کاری، استفاده از SD یکپارچه با VS
- انواع خروجی تولید شده: انواع گزارشات و داشبوردها شامل طراحی ساده گزارشات، طراحی داشبوردهای مدیریتی، اکسپورت ساختار و اطلاعات
- لایه سه، انواع نمایش: تحت وب، تحت ویندوز، انواع داشبوردها، صندوق های ورودی یکپارچه
- لایه چهار، واسط های ارتباطی: Fax، SMS، Email، VOIP
بخش طراحی نرم افزارهای سازمانی (Application Design)
هدف اصلی این بخش ارائه امکانات مورد نیاز برای ساخت سیستمهای اطلاعاتی و نرمافزارهای مورد نیاز میباشد. هرچند که کلیه امکانات سیستم ساز برای همین هدف مورداستفاده قرار میگیرند، اما امکانات دسته بندی شده در این بخش بصورت مشخص و مستقیم مورد کاربرد برای همین منظور هستند.
اجزای تشکیل دهنده این بخش عبارتند از:
سازنده فرم (Form Builder)
با استفاده از امکانات این بخش طراح سیستم میتواند مدلهای ذخیره و بازیابی اطلاعات و فرمهای اطلاعاتی خود را تدوین نماید. در این بخش کلیه موجودیتهای سیستم به همراه ارتباطات و نیازمندیهای آنها مدلسازی میشوند.
موتور مدیریت قواعد کسب و کار (Biz Rule Engine)
یکی از اجزای مهم در ساخت سیستم های اطلاعاتی قابلیت تعریف قواعد کاری میباشد. در این بخش الزامات کسب و کار، قواعد مورد نظر، محدودیتها و بایدها و نبایدهای اجرایی سیستم مشخص و مدلسازی میگردد.
موتور گردش کار (Workflow Management Engine)
گردش کار در سازمان از جمله عوامل محوری تحلیل فرایندگرای سازمانی است. به همین دلیل و با توجه به رویکرد مبتنی بر فرآیند در تحلیل سازمانی، موتور گردش کار در سیستم ساز برسا از جایگاه و اهمیت ویژهای برخوردار است.
گزارش ساز (Report Builder)
معمولا در سیستم های اطلاعاتی موضوع گزارش به زمان گرفتن خروجیهای چاپی محدود میشود اما در سیستم ساز مفهوم گزارش بصورت توسعه یافتهای مورد استفاده بوده و شامل انواع دسترسی کاربران به اطلاعات و در مدلهایی نظیر نمای لیستی، آماری، درختی، گراف، ماتریسی، چاپی و … مورد کاربرد میباشد.
هوشمندی تجاری (BI)
از زیرساخت های بروز و جدید در سیستم ساز برسا استفاده از قابلیت ارائه گزارشات تحلیلی با استفاده از SQL Analysis Service و نمایش نتایج تحلیلی در مدلهای آماری و داشبورد و گیج به کاربران میباشد.
سرویسهای پایهای (Core Services)
در بخش معماری درونی و پایهای سیستم ساز که مبتنی بر خدمات خط تولید نرم افزار برسا (Software Product Line) میباشد بخشهایی بصورت زیرساختی مهیا شده است.
این بخشها عبارتند از:
1. زیرساخت ذخیره و بازیابی اطلاعات (ORM)
در این زیرساخت کلیه فرآیندهای اطلاعاتی سیستم در قالب معماری شیءگرا انجام شده و انفکاک کامل از زیرساخت پایگاه داده انجام میشود. این نوع نگاه انعطاف نرم افزار در اتصال به منابع اطلاعاتی مختلف را به شدت افزایش میدهد و امکانات فراوانی را در سطوح توسعه سیستم در اختیار طراحان و برنامه نویسان قرار میدهد.
2. امنیت (Security)
امنیت به عنوان یکی از نیازمندیهای پایه ای طراحی سیستم های اطلاعاتی دارای ابعاد و رویکردهای مختلفی است که در قالب یک زیرساخت جامع و یکپارچه در سیستم ساز برسا به آن نگاه شده است. این زیرساخت ابعاد گوناگونی مانند اعتبارسنجی واحد، تنظیم و کنترل حقوق دسترسی کاربران، رمزنگاری اطلاعات، مدیریت امنیت انتقال اطلاعات، حفاظت فیزیکی و … را شامل میشود.
3. رویدادنگاری (Auditing)
ثبت اتفاقات و وقایع سیستم از جمله امکانات کلیدی در زمان بروز مسائل ناخواسته در سیستم های اطلاعاتی میباشد. ثبت خطاهای سیستم، فعالیت کاربران، تلاش برای دسترسی به اطلاعات و … از جمله مصادیق بارز و مورد نیاز رویدادنگاری و ثبت اتفاقات در سیستم میباشند.
4. اطلاعرسانی هوشمند تحت شبکه (Notification)
یکی از زیرساختهای کاربردی در طراحی سیستمهای اطلاعاتی استفاده از امکانات اطلاعرسانی هوشمند تحت شبکه میباشد. بدین معنا که کاربران برای دریافت آیتمهای اطلاعاتی و رویدادهای جدید نیاز به تکرار درخواست بر روی سرور (pooling) نیستند بلکه این سرور است که در زمان مورد نیاز اطلاع را به کاربر مورد نظر انتقال میدهد (push). استفاده از این مکانیزم تاثیر بسزایی در کاهش بار ترافیکی شبکه و سرور خواهد داشت.
5. ذخیرهگاه هوشمند (Smart Caching)
در طراحی سیستمهای اطلاعاتی بخشی از داده ها در قالب اطلاعات پایه مطرح میشوند که معمولا به ندرت تغییر می یابند. اما سیستمهای متمرکز برای دسترسی به این اطلاعات ناگزیر از مراجعه هرباره به سرور میباشند. با استفاده از ذخیره گاه هوشمند این اطلاعات یکبار از سرور استخراج و در محل موقتی نگهداری میشود تا برای دسترسی به آنها نیاز به مراجعه بعدی به سرور نباشد. استفاده از این مکانیزم علاوه بر افزایش چشمگیر سرعت کار در کلاینتها منجر به کاهش بار ترافیک شبکه و سرور نیز میگردد.
اجراکنندههای واسط کاربری (UI Runners)
یکی از مسائل مهم و کلیدی در انتخاب بسترهای سازمانی قابلیت ارائه سیستمهای طراحی شده به کاربران در انواع و روشهای مختلف میباشد. به عنوان مثال در سالهای اخیر با جدی شدن ارائه نرم افزار بصورت تحت وب، این قابلیت از اهمیت ویژهای در بین کاربران و سازمانهای استفاده کننده برخوردار گردیده است.
ماهیت سیستم ساز در ساخت برنامههای کاربردی مبتنی بر معماری MDA (Model Driven Architecture) میباشد. بدین معنی که ایجاد یک سیستم در سیستم ساز مبتنی بر ایجاد کد نیست، بلکه مبتنی بر ایجاد مدل میباشد. بر این اساس یک سیستم اطلاعاتی مجموعهای از مدلهای تعریف شده و داینامیک میباشد که به راحتی قابل تفسیر و نمایش در انواع نماهای مختلف میباشد.
از این رو مبحث نوع واسط کاربری مثلا واسط تحت وب، ویندوز و یا موبایل یک الزام نیست، بلکه یک انتخاب است. یعنی کاربر و سازمان میتواند به دلخواه از تمامی روشها بطور همزمان برای کار با سیستم استفاده نماید. بر اساس این رویکرد معمولا کاربران ترجیح میدهند در درون سازمان از واسط کاربری ویندوز و برای بیرون سازمان و یا ارائه خدمات به مخاطبین عام از واسط تحت وب استفاده نمایند.
انواع واسطهای کاربری مورد پشتیبانی به شرح ذیل میباشند:
واسط تحت ویندوز
این نوع واسط کاربری بصورت ویندوز کلاینت مورد استفاده بوده و امکانات وسیعی از لحاظ غنای کاربری در اختیار کاربر قرار میگیرد. نسخه ویندوز از امکاناتی نظیر نصب خودکار و بروزرسانی هوشمند بهره مند میباشد.
واسط تحت وب
این واسط کاربری مبتنی بر قابلیتهای مرورگرهایی نظیر IE, FireFox, Opera طراحی گردیده است که امکان استفاده از سیستم را بصورت برنامه کاربردی وب در اختیار کاربر قرار میدهد. نسخه وب مبتنی بر فرایندهای سرویس گرا و بصورت Ajax پیادهسازی گردیده است و از لحاظ نحوه نمایش مشابهت فراوانی با واسط تحت ویندوز دارد.
روشهای ارتباطی (Communication Methods)
زمانیکه بستری برای تولید برنامههای کاربردی مهیا میشود توجه به مبادی ارتباطی و ورودی/خروجی سازمان از نکات مهم و قابل توجه میباشد.
یکی از نقاط تصمیمگیری در مورد توانمندی بسترهای توسعه سیستم قابلیت ارتباطی آنها و امکاناتی که در اختیار طراحان سیستم به منظور مدیریت ارتباطات قرار میگیرد.
در سیستم ساز برسا مبادی ارتباطی ذیل تعریف شده و قابل استفاده میباشند:
فکس: سرویس ارسال و دریافت فکس برای تمامی بخشهای سیستم وجود داشته و با امکانات وسیعی تبادل اطلاعات از طریق فکس برای کاربران مهیا میباشد.
ایمیل: امکان ارسال و دریافت ایمیل به تمامی سرورهای پشتیبانی کننده از پروتکلهای استاندارد SMTP, POP3, IMAP4 . از امکانات سرویس ایمیل برسا این است که یک کاربر میتواند بصورت همزمان ایمیلهای چند حساب خود را بصورت متمرکز دریافت و بایگانی نماید.
پیامک: امکان ارسال و دریافت پیامک از طرق مختلف مانند GSM و یا اینترنتی فراهم میباشد. پیامک میتواند بصورت مستقیم و یا در قالب یادآوری و سرویسهای جانبی مورد استفاده قرار گیرد.
IVR: از سرویسهای مورد کاربرد در سازمانها سرویس تلفن گویا با قابلیت اتصال به بانک اطلاعاتی سازمان و ارائه خدمات ترکیبی به مشتریان با استفاده از بستر تلفن میباشد.
ارتباط بین سازمانی پیدار (برسا) (Barsa Message Queue): در موضوع ارتباط سازمان یکی از عناصر مهم قابلیت ارتباط توزیع شده بین سرورهای مختلف سازمان در مراکز مختلف میباشد. شرکت برسا با ارائه راهکار جامع ارتباط بین سازمانی میتواند موضوع ارتباط چندین سرور بصورت توزیع شده را فراهم آورد.
XML: استفاده از استاندارد xml برای ارسال و دریافت اطلاعات و برقراری قابلیت ارتباط با سایر سیستمها از عناصر مشترک توسعهپذیری و ارتباطپذیری سیستم محسوب شده و نقش مهمی در حل مشکلات یکپارچگی سازمانها خواهد داشت.
یکپارچه سازی و توسعه (Integration & Extension)
AddIn/SDK: سیستم ساز به عنوان یک بستر تولید بایستی قابلیت توسعه پذیری از طریق برنامه نویسی را داشته باشد. هر چند هدف سیستم ساز حذف کد از فرایند تولید نرمافزارهای سازمانی است اما در عمل این امر هیچگاه اتفاق نمی افتد و موضوع اصلی بر محوریت حداقلسازی کد و حدف کدهای اضافه، تکراری و بدون ارزش خواهد بود. هر چند با گسترش امکانات سیستم ساز و ورود به حوزه های جدیدتر به مرور از میزان کدهای ایجاد شده کاسته خواهد شد.
Web Service: قابلیت اتصال به سرویسهای موجود سازمان و یا ارائه سرویسهای ایجاد شده در سیستم ساز در قالب استاندارد web service از امکانات کلیدی سیستم ساز است که منجر به ایجاد یکپارچگی در سطح سرویس در سازمان میگردد.
Multi Db Connectivity: از روشهای کلیدی در مقیاسپذیری و افزایش سطح عملکرد سیستم قابلیت اتصال به چندین پایگاهداده بصورت همزمان میباشد. این قابلیت میتواند هم با هدف توزیع نمودن بار عملیاتی سیستم و هم به منظور توزیع حجم فضای استفاده شده و خصوصا به منظور ایجاد سهولت و سادگی در مکانیزمهای تهیه نسخه پشتیبان و بازیابی اطلاعات استفاده نمود.
Visual Studio .Net Integration: قابلیت توسعه در محیطهای حرفهای برنامهنویسی از امکاناتی است که ساخت سیستم های پیچیده اطلاعاتی با سیستمساز را مقدور نموده و عملا نقطه بن بست برای راهکار سیستم ساز متصور نخواهد بود.
Import/Export: از روشهای مرسوم برقراری ارتباط با سایر برنامههای کاربردی سازمان قابلیت صدور و دریافت اطلاعات در روشهای مختلف مانند فایل، سرویسهای شبکهای و … میباشد.
سرویس های پردازش تصاویر اسکن شده (Raster Imaging Services)
با توجه به نقش بایگانی اسناد و قابلیت اسکن پروندهها و اسناد فیزیکی در سیستم سرویسهای متنوعی برای کار با تصاویر اسکن شده در نظر گرفته شده است که در این حوزه بسیار کاربردی و مورد استفاده کاربران خواهند بود.
از جمله این سرویسها میتوان به موارد ذیل اشاره نمود:
پشتیبانی از اسکن تکی و دستهای: از امکانات نرمافزار در این حوزه این است که قابلیت اسکن مستقیم از داخل نرمافزار بصورت تک صفحه و یا چند برگی فراهم است.
فشردهسازی اطلاعات تصاویر: سیستم مدیریت تصاویر در سیستم ساز برسا از قابلیت فشردهسازی اطلاعات تصاویر در بانک اطلاعاتی برخوردار است که میتواند تا 50% کاهش حجم در تصاویر ایجاد نماید. لازم به ذکر است این کاهش حجم منجر به کاهش کیفیت نمیشود و اصل تصویر بصورت کامل بازیافت میشود.
مدیریت انتقال اطلاعات تصاویر: در سیستمهای آرشیو اسناد تصور پروندههای با بیش از 500 برگ دور از ذهن نمیباشد. بنابراین مدیریت انتقال اطلاعات تصاویر بسیار حائز اهمیت میباشد که علاوه بر حفظ سادگی کاربری نرم افزار و امکان اسکرول در بین برگههای پرونده نیاز به بارگزاری حجم وسیع اطلاعات تصاویر نباشد و کاربر بتواند با سرعت و سادگی بالا اقدام به رویت برگههای پرونده نماید.
طبقهبندی هوشمند تصاویر: از امکانات ویژه در سیستم ساز برسا این است که امکان طبقهبندی هوشمند اطلاعات با استفاده از جداکنندههای طراحی شده وجود دارد و این امکان میتواند به صرفهجویی عظیمی در زمان نیروی انسانی برای تفکیک دستی اطلاعات پرونده منجر شود.
تشخیص بارکد: استفاده از بارکد به عنوان یک عامل تشخیص و بازیابی اطلاعات بسیار مرسوم و سیستم ساز برسا دارای امکان تشخیص بارکد از روی تصویر اسکن شده میباشد.
معماری دسترسی پذیری
موضوع روشهای مختلف اتصال سیستم و نحوه استفاده کاربران از موضوعات مهم در تولید سیستم های سازمانی است که نمودار زیر نحوه عملکرد زیرساخت سیستمساز برسا در این زمینه را نشان میدهد.
در معماری سیستم ساز برسا روشهای مختلفی برای دسترسی به اطلاعات و برقراری ارتباط بین کلاینت و سرور لحاظ گردیده است که هر کدام از این روشها برای نوعی از نیازمندی و برای شرایط خاص در نظر گرفته شده است.
روشهای برقراری ارتباط به شرح ذیل میباشند:
ارتباط در شبکه داخلی (محلی)
در این حالت معمولا دسترسی به اطلاعات از طریق شبکه پرسرعت داخلی انجام شده و سیستم با استفاده از روشهای مرسوم ارتباطی میتواند خدمات را به کلاینتها ارائه نماید.
ارتباط از طریق Wireless/MPLS/Internet
در این حالتها معمولا ارتباط هر چند مانند شبکه محلی دارای سرعت بالا نیست اما قابلیت اعتماد مناسبی نسبت به برقراری ارتباط وجود داشته و شبکه از سرعت نسبی مناسبی برخوردار است. در این حالت امکان فشردهسازی اطلاعات بر روی شبکه به بستر ارتباطی افزوده شده و از این طریق کاهش سرعت با کاهش حجم اطلاعات انتقالی جبران میشود.
ارتباط بر روی بستر اینترنت نامطمئن
برای بسترهایی که از لحاظ تداوم ارتباط و یا تامین امنیت مورد نظر حداقلهای لازمه را دارا نمیباشند میتوان از روش ارتباط بین سازمانی و offline server استفاده نمود. در این حالت کلاینتهای راه دور سرور محلی خود را ایجاد نموده و از زیرساخت بین سازمانی (BMQ) برای ارسال و دریافت اطلاعات استفاده میشود.
استفاده از معماری سرويسگرا (SOA)
يكي از روشهاي حفظ يكپارچگي در سطح معماري سيستم، اتخاذ يك معماري براي كليه زيرسيستمهاي توليد شده ميباشد. زمانيكه كليه بخشهاي سيستم از يك معماري تبعيت ميكنند برقراري ارتباط بين اين اجزا و مديريت آنها بسيار سادهتر و كاراتر خواهد بود.
در سیستمساز برسا تمامي زيرسيستمها از معماري سرويسگرا تبعيت كرده و ميتوانند براي برقراري ارتباط بين يكديگر از سرويسهاي فراهم شده استفاده نمايند. استفاده از معماري سرويسگرا موجب ميشود حتي در ارتباط با ساير سيستمها نيز بتوان از يك استاندارد مشخص پيروي كرده و چالشهاي برقراري ارتباط را به حداقل كاهش داد.
قابليت اعتماد در معماری زیر ساخت سیستمساز
هدف غايي در توليد نرمافزار اين است كه نرمافزارهاي توليد شده از حيث عملكرد قابل اعتماد باشند. قابليت اعتماد در سيستمهاي نرمافزاري شامل 2 بخش ميشود:
- سيستم بتواند نيازهاي كاربران را پوشش دهد.
- سيستم در انجام ويژگيهاي پيادهسازي شده درست عمل كند و با مشكل مواجه نشود.
مورد اول با نوع تحليل و شناخت سيستم برميگردد و تحليلكنندگان و طراحان سيستم بايد ديد درست و مناسبي از نيازمندي كاربران داشته باشند.
اما در مورد آيتم دوم سیستمساز برسا به روشهاي گوناگون ميتواند موجب افزايش قابليت اعتماد در نرمافزارهاي توليد شده و صحت عملكرد آنها گردد. در ادامه برخي از اين ويژگيها عنوان ميشود.
استفاده از زيرساختهای كاملا تست شده
هنگاميكه يك سيستم بر پايه استفاده از زيرساختهاي مطمئن و تست شده بنا شود ناخوداگاه ضريب اطمينان و صحت سيستم افزايشي چشمگير خواهد داشت. زيرساختهاي سیستمساز برسا هماكنون در بيش از 40 زيرسيستم و پروژه در حال كار هستند و در مراكز و شركتهاي متعددي نصب و استفاده شدهاند كه خود اين امر مويد صحت عملكرد اين بستر ميباشد.
مكانيزمهای پيشرفته رديابی خطا
در سیستمساز برسا امكانات متعددي براي رديابي و پيگيري خطا وجود دارد كه اين امر هم در زمان توليد و تست به توليدكنندگان اين امكان را ميدهد كه خطاها را با سرعت بيشتري شناسايي و رفع كرده و هم احيانا پس از نصب و استفاده نيز در صورت وقوع بتوانند سريعا آنها را مرتفع و نسخههاي جديدي را براي كاربران ارسال نمايند.
از جمله این امکانات میتوان به موارد زیر اشاره نمود:
- استفاده از زیرساخت ثبت وقایع: زیرساخت رویدادنگاری و ثبت وقایع امکان ثبت اتفاقات را هم در پایگاه داده و هم در فایل فراهم می آورد که میتوان از آن به سادگی برای ردیابی خطا استفاده نمود.
- امکان خطایابی (Debug) بصورت لحظهای: طراحان سیستم میتوانند برای کدهای نوشته شده در بخش توسعه سیستم و یا کنترل قواعد کاری از امکان خطایابی لحظهای بصورت کامل استفاده نمایند.
- زیرساخت مدیریت رخداد: خطاهای اتفاق افتاده بصورت مکانیزم مشخصی به کاربر نمایش داده شده و همزمان در زیرساخت رویدادنگاری ثبت شده و کاربر طراح و یا برنامهنویس میتواند از متن کامل خطا به همراه ردیابی (Trace) آن آگاهی یابد.
امكانات رفع خطا و بروزرسانی
يكي از امكانات مهم در خط توليد نرمافزار قابليتهاي رفع خطا و بروزرساني خودكار ميباشد. از آنجا که در زیرساخت سیستمساز برسا تعاریف سیستمها بصورت متادیتا نگاهداری میشود در صورت بروز خطا و رفع آن بصورت خودکار تمامی کلاینتها بدون نیاز به بروزرسانی نسخه جدید را مورد استفاده قرار خواهند داد.