خط تولید نرمافزار شرکت اعوان، موسوم به WISE، یک خط تولید برای ایجاد سیستمهای مبتنی بر وب داده محور است. این سیستم از سه بخش عمده تشکیل شده است: «هسته معماری نرمافزار»، «سیستمهای زیرساختی» و «تولیدکنندهی کد»
فلسفه
«خط تولید نرمافزار» مکانیزمی برای تولید کارای نرمافزار با هزینه پایین است. هر سیستم اطلاعاتی شامل مؤلفههایی است که از لحاظ برنامهنویسی نسبتاً مشابه هستند. این گونه مؤلفهها، بسته به نوع سیستم، بین 50 تا 90 درصد از حجم سیستم را تشکیل میدهند. همانگونه که استفاده از خط تولید در شرکتهای تولیدی برای تولید محصولات مشابه بسیار مناسب است، استفاده از خط تولید نرمافزار، برای این گونه مؤلفههای شبیه به هم، بسیار مقرون به صرفه خواهد بود. خط تولید نرمافزار شرکت اعوان، موسوم به WISE، یک خط تولید برای ایجاد سیستمهای مبتنی بر وب داده محور است. این سیستم از دو بخش عمده تشکیل شده است: «معماری نرمافزار» و «تولید متن برنامه».
هسته معماری
«معماری نرمافزار»، شالوده و زیرساخت نرمافزار محسوب میشود و کلیه قابلیتهای نرم¬افزار بر پایه آن پیادهسازی میشود. در صورت استفاده نكردن از یک معماری مناسب، هزینة تولید و نگهداری نرمافزار بسیار بالا میرود. بنابراین سرمایهگذاری بر روی یک معماری کارا، کاملاً بر روی کیفیت و سرعت تولید نرمافزار و کاهش چشمگیر هزینهها اثر میگذارد.
مزاياي عمده معماري نرم¬افزاري ارائه شده در خط تولید شرکت اعوان عبارت است از: - این معماری بر پایة Best Practice های بینالمللی شناخته شده، ایجاد شده است.
- بسياري از سيستمهاي نرم¬افزاري مبتني بر J2EE به دليل ناآشنايي معماران شرکتها با معماريهاي استاندارد و ابداع معماريهايي توسط یک يا چند نفر معمار نرمافزار کمتجربه با شکست مواجه ميشوند. در حالي که استفاده از اين معماري که ماهها توسط بهترين متخصصين بين المللي بر روي آن کار شده است و موجب بينيازي از معماريهاي ابداعي و نوعاً ناموفق ميگردد.
- کاهش ریسک پروژه، با توجه به اهمیت بحث معماری در کیفیت و پیشرفت پروژهها وجود یک زیرساخت قوی در این زمینه تضمین کننده موفقیت پروژه خواهد بود.
- خوانايي و سادگی و امکان فراهم آوردن زبان مشترک و ساده بين توسعهدهندگان نرم¬افزار
- امکان نگهداري و توسعه آسان و وابسته نشدن سيستمها به فرد و شرکت خاصي
-
- استفاده از آخرین فناوریهای مطرح در J2EE
- حل دغدغههای عمومی، در پیادهسازی موارد کاربرد کارهای همچون چک کردن سطوح دسترسی کاربر، ثبت log، بررسی صحت دادههای ورودی کاربر، کنترل موارد خطا، دغدغههای عمومی محسوب میشوند که در این خط تولید برای حل همة آنها مکانیزمهایی وجود دارد.
- يادگيري آسان و کاهش هزینه آموزش به افراد تازه وارد، این معماری پیچیدگیهای مربوط به فناوریهای متعدد را به شکلی در خود حل کردهاست که برنامهنویسان بتوانند با حداقل دانش و دغدغه، روی پیادهسازی پروژه خود تمرکز کنند.
تولید کنندهی کد
«تولید کننده برنامه» یک پیشنیاز بسیار حیاتی برای توسعه سیستمهای اطلاعاتی به ویژه در بستر تولید نرمافزار J2EE است که به برنامهنویس کمک میکند بر مبناي اطلاعاتی محدود مثلاً با طراحی جداول پایگاه داده، به سادگی بخش زیادی از سیستم اطلاعاتی را آماده کند.
مزاياي عمده ايجاد¬کننده کد بر¬پايه اين معماري به شرح ذيل است: - استفاده بهینه از نیروی انسانی
- کاهش زمان و هزینه پروژه
- حذف کارهای تکراری و اشتباهات ناشی از آن
- امکان تولید بخش عمدهای از سیستم با اتکا به طراحی جداول پایگاه داده
- تمرکز بر بخشهاي پیچیدهتر پروژه و منطق كاري آن
- اعمال خودکار استانداردهای پیادهسازی شامل استانداردهای کدنویسی، دستورالعملهای امنیتی، ثبت کارهای کاربر و عدم نیاز به بازبینی و تست در این زمینه
- کاهش هزینه آموزش
- امکان استفاده از نيروهاي کمتجربهتر براي توسعه سيستم¬هاي پيچيده
- عدم وجود خطا در کد توليد شده تست شده و به تبع آن وجود خطای ناچيز پس از پياده سازی سيستم
سیستمهای زیرساختی: امنیت
سیستمهای زیرساختی: پورتال
سیستمهای زیرساختی: موتور گردش کار
موتور گردش کار قلب سیستمهای اطلاعاتی محسوب میشود و جریان کاری را مطابق با گردش کاری تعریف شده در سازمان مدیریت میکند. شرکت اعوان یک موتور گردش کار کامل مبتنی بر بستر WISE ارائه میدهد. این موتور گردش کار دارای قابلیتهای زیر را داراست:
- مدیریت ساختار سازمانی: گردش کار موجود در سیستم مبتنی بر ساختار سازمانی تعریف شده میباشد که در آن نقشها و سمتها در یک ساختار درختی مشخص میشوند. این ماژول به کاربر اجازه میدهد ساختار سازمانی مصوب را در نرمافزار تعریف کند تا برای ایجاد گردش کار از آنها استفاده شود.
- موتور گردشکار: قسمت اصلی و عملیاتی این سرویس است که با دریافت فایلهای XML تعریف گردش کار، اقدام به مدیریت فرایندهای تعریف شده مینماید. از ویژگیهای منحصر به فرد این موتور این است که هم مبتنی بر JPDL و هم مبتنی بر استاندارد ساده شده XPDL عمل میکند .
- کارتابل: کاربر میتواند با مراجعه به این قسمت لیست کارهایی را که در حال حاضر موظف به انجام آنها میباشد را مشاهده کند. این لیست میتواند به صورت تفکیک شده و طبقهبندی شده در اختیار کاربر قرار بگیرد. همچنین کاربر میتواند مسیری را که یک کار طی کرده تا در کارتابل وی قرار بگیرد را مشاهده کند.
- مدیریت سیستم گردش کار: مدیر سیستم میتواند از این طریق اقدام به نصب گردش کارهای جدید، تغییر گردش کارهای قبلی، فعال یا غیرفعال کردن یک فرایند و سرکشی به کارهای جاری نماید.
- گزارشات: سیستم گزارشاتی را از فرایندهای جاری، کارایی و عملکرد کارمندان، امور معوقه، آمار مربوط به فرایندهای نصب شده در موتور گردش کار، ارائه میدهد.
در شکل زیر سیستمهای مبتنی بر موتور گردش کار با سیستمهای بدون موتور گردش کار مقایسه شدهاند: