استفاده از جدیدترین فناوری های روز در حوزه فناوری اطلاعات و بومی سازی آنها با شرایط کشور عزیزمان و نحوه کاربری، سر لوحه معماران و طراحان نرم افزار در شرکت ارقام نگار اندیشه بوده است. این فناوری ها به گونه ای در نرم افزار ایفای نقش می کنند که کاربر بدون مواجه شدن با پیچیدگی های فنی، از مزایای آن بهره مند شود.
از مهمترین فناوری هایی که در این راه کار استفاده شده است، تحت وب بودن آن است. اما واسط کاربری تحت وب چیست و چه مزایایی دارد؟
- واسط کاربری تحت وب
نرمافزار تحتوب نرمافزاری است که کاربران برای استفاده از آن، تنها نیاز به یک مرورگر وب (web browser) و ارتباط شبکه دارند و مانند مدلهای پیشین نرمافزار نیازی به دانلود یا دریافت CD برای نصب یا بهروزرسانی ندارد.
تحت وب بودن نرمافزار الزاما به معنی تحت اینترنت بودن آن نیست. تحت وب بودن یعنی تعامل با کاربر از طریق مرورگر و تبادل اطلاعات با سرور وب از طریق یک ارتباط شبکه. این ارتباط شبکه میتواند به کوچکی و محدودیت یک شبکه داخلی در یک ساختمان کوچک و یا به بزرگی و گستردگی جغرافیایی شبکه اینترنت باشد. اما تحت اینترنت بودن به معنای استفاده از شبکه اینترنت توسط مرورگر جهت برقراری ارتباط و تبادل اطلاعات با کارگزار وب است.
- کاهش قابل توجه هزینه نگهداری و ارتقاء نرمافزار بر روی کامپیوترهای کاربران
در سیستمهای تحت وب تنها وجود یک مرورگر وب برروی کامپیوتر کاربران کافی است تا کاربر بتواند بدون نصب هیچگونه نرمافزار اضافهای به استفاده از سیستم تحت وب بپردازد.
- امکان اتصال از کامپیوترها در محل های مختلف
سیستمی که نیاز به نصب نرمافزار خاصی برروی کامپیوتر استفادهکننده ندارد، به صورت بالقوه این امکان را داراست که از هر مکان و برروی هر کامپیوتری توسط اتصال شبکه مناسب با سرور خود ارتباط داشته باشد. این اتصال شبکه میتواند به صورت داخلی و یا از طریق شبکه جهانی اینترنت باشد.
- امکان تولید نرم افزار مستقل از سیستم عامل و سختافزار
به دلیل استفاده از مرورگرهای مختلف و استاندارد که بسیاری از آنها حتی وابستگی خاصی به سیستم عامل نیز ندارند؛ و همچنین اعمال تمامی پردازش ها سمت سرور این امکان میسر می گردد که عملیات از طریق سیستم عامل های مختلف و با حداقل سخت افزار سمت کلاینت ها قابل انجام باشد.
- امنیت دادههای کاربر
به علت نگهداشت تمامی اطلاعات برروی سرور مرکزی می توان با تمهیدات استاندارد در زمینه نگهداشت سرورها، امنیت اطلاعات را تضمین نمود.
همچنین می توان با استفاده از امکانات خاص موجود در نرم افزار ارقام نگار مانند استفاده از کپچا، سطوح دسترسی تا ریز ترین امکانات و سرفصل های سیستم، امکان انقضاء سطوح دسترسی بر اساس کاربر، ساعت و روز و …، این امنیت را افزایش داد.
- ویژگی های رابط کاربری
یکی از معایبی که به واسط های کاربری تحت وب وارد است، کاربری سخت آن است. تمامی امکانات محیط ویندوز در اختیار کاربر نیست و تجربه افراد از نرم افزارهای تحت وب پاک شدن مداوم صفحه و انتظار کشیدن برای فراخوانی صفحه بعد است.
این ایراد در نرم افزارهای مالی تحت وب ارقام نگار، با استفاه از تکنولوژی Ajax و ویژگی های جدید .Net کاملا مرتفع شده است. کاربر نه تنها تمامی امکانات نرم افزارهای تحت ویندوز را در اختیار دارد، بلکه محیطی زیباتر، منعطف تر و ساده تر را تجربه می کند.
طراحی چهارلایه و سه ردیفه (تایر) نرم افزار از ویژگی های مهم و بسیار اثربخش این محصول می باشد. اما این مدل از طراحی نرم افزار چیست و چه مزایایی دارد؟
- معماری چهارلایه نرم افزار
از جمله پیچیدگی هایی که در طراحی ساختار و معماری نرم افزارهای سازمانی وجود دارد، این است که معمولا پیاده سازی راهکار به مرور و در چند فاز انجام می شود. این موضوع باید به گونه ای در طراحی نرم افزار لحاظ شود که در عین یکپارچگی داده ها، بخش های مختلف نرم افزار بتوانند بطور مستقل از هم کار کنند. علاوه بر آن توسعه نرم افزار با طراحی مناسب، سرعت و دقت بیشتری صورت می گیرد.
برای رسیدن به این مقصود جهت طراحی نرم افزارهای مالی تحت وب ارقام نگار، مطالعات و تحقیقات بسیاری انجام شد. این محصول براساس معماری چهارلایه شامل لایه های داده، کسب و کار، سرویس و واسط کاربری طراحی و تولید شده است. لایه داده شامل کلیه اجزایی از نرمافزار است که وظیفه خواندن، نوشتن و بهروزرسانی دادههای نرمافزار در پایگاه داده را برعهده دارند. لایه کسبوکار شامل کلیه اجزایی از نرمافزار است که وظیفه اعمال قوانین، منطق کسب وکار و کنترل های برنامه را برعهده دارند. این اجزا جهت اعمال منطق کسبوکار و اعمال تأثیر آنها برروی دادهها با لایه داده، ارتباط برقرار کرده و دسترسی به دادهها و تغییر آنها را از طریق لایه داده انجام میدهند. در سناریوی نرمافزار انبارداری، اجزای موجود در این لایه وظیفه اعمال قوانین و منطق کسبوکار بخشهایی مانند مدیریت اسناد انبار، کنترل موجودی، انبارگردانی و … را برعهده دارند. لایه واسط کاربری شامل کلیه اجزایی از نرمافزار است که وظیفه ارائه و نمایش دادهها به کاربران و تعامل با آنها جهت ایجاد و تغییر اطلاعات را برعهده دارند. این اجزا جهت ارائه اطلاعات به کاربران، اطلاعات را از لایه کسبوکار خوانده و دستورات کاربران را به منظور اعمال بر روی اطلاعات نرمافزار جهت اعمال به لایه کسبوکار میفرستند. در سناریوی نرمافزار انبارداری، اجزایی مانند فرم تعریف انبار، فرم ثبت سند انبار و اجزایی از این دست در این لایه قرار میگیرند. وب سرویس ها، درگاه ارتباطی سایر نرم افزارها با نرم افزارهای یکپارچه ی ارقام نگار می باشند.
همانگونه که گفته شد یکی از مزایای استفاده و تبعیت از این معماری و بهطور کلی معماریهای چند لایه برای شرکتهای تولید کننده نرمافزار مانند ارقام نگار اندیشه که بیش از یک محصول نرمافزاری را تولید و ارائه میکنند، افزایش قابلیت استفاده مجدد از اجزای نرمافزاری تولید شده و در نتیجه آن کاهش هزینه و زمان لازم جهت تولید نرمافزار و پاسخگویی به نیازهای جدید است.
معماریهای چندلایه علاوه بر این مزیت، مزایا و انعطافپذیریهای دیگری هم دارند که در شرایط خاص خود میتوانند نیازمندی های خاصی از نرمافزارهای ما را پاسخ دهند. یکی از این مزایا و انعطافپذیریها امکان جداسازی فیزیکی لایهها است. به عبارت سادهتر، تقسیمبندی وظایف و کانالهای ارتباطی تعریفشده بین لایههای نرمافزار این امکان را به ما میدهد که در صورت لزوم برخی از لایهها را به صورت فیزیکی جدا کرده و برروی نرمافزارها و حتی سختافزارهای متفاوتی قرار دهیم که از طریق شبکه یا سایر لینکهای ارتباطی با یکدیگر ارتباط برقرار میکنند.
در اصطلاح نرمافزاری به هریک از دستههای فیزیکیای که بخشی از اجزای نرمافزار برروی آنها قرار دارند اصطلاحا ردیف (تایر) گفته شده، و به معماری نرمافزاری که اجزای آن یا حداقل برخی از آنها به صورت فیزیکی از یکدیگر جدا شدهاند، معماری چندلایه توزیعشده یا چندردیفه گفته میشود. بهطور معمول و در عرف معماری نرمافزار، پایگاه داده نرمافزار به دلیل اینکه از دیدگاه نرمافزاری و فیزیکی مستقل است خود بهعنوان یک ردیف مستقل شمرده میشود و بنابراین نرمافزارهایی که در آنها تمامی لایهها بهصورت فیزیکی در کنار هم قرار دارد با احتساب ردیف مختص به پایگاه داده دو-ردیفه محسوب میشوند. اما در معماری چندلایه، در صورتی که نرمافزار ما بیش از یک کاربر همزمان داشته باشد، به جای قرار دادن کلیه لایهها برروی تمام کامپیوترهای شخصی کاربران نرمافزار، میتوان لایههای داده و کسبوکار را برروی یک ردیف فیزیکی شامل یک کارگزار پرقدرت، که اصطلاحا کارگزار برنامه نامیده میشود، و لایه واسط کاربری را برروی یک ردیف شامل چند کامپیوتر شخصی نهچندان قدرتمند که مورد استفاده کاربران نرمافزار هستند قرار داد و ارتباط بین این دو ردیف را از طریق شبکه برقرار کرد. معماری نرمافزاری چهارلایه محصولات نسل 3، سهردیفه است که در آن، لایه واسط کاربر و بخشی از لایه سرویس یک ردیف، لایههای کسبوکار، داده و بخشی از لایه سرویس یک ردیف، و پایگاه داده یک ردیف محسوب میشود.
این پیکربندی میتواند مزایای مختلفی را برای سازمان ایجاد کند که از جمله این مزایا میتوان به موارد زیر اشاره نمود:
- افزایش امنیت اطلاعات
با جداکردن لایه داده و کسبوکار و قرار دادن آن برروی ردیف جداگانه میتوان دسترسی مستقیم به پایگاه داده را به گونهای محدود کرد که تنها از طریق سرور لایه کسبوکار و داده قابل دسترسی باشد و دیگر نیازی به ایجاد امکان دسترسی مستقیم کامپیوترهای تمام کاربران نرمافزار به پایگاه داده و قرار دادن اطلاعات لازم جهت اتصال به پایگاه داده برروی کامپیوتر کاربران وجود ندارد. بدین ترتیب میتوان تاحد بسیار زیادی مطمئن بود که امکان اتصال مستقیم و غیرمجاز و به روشی خارج از نرمافزار ما به پایگاه داده وجود نداشته و در نتیجه احتمال حمله و خرابکاری برروی دادهها به میزان قابل توجهی کاهش مییابد.
- قدرت محاسباتی بالاتر در لایه کسبوکار
در صورتی که نرمافزار ما منطق لایه کسبوکار پیچیدهای داشته و محاسبات پرهزینه و زمانبری را در این لایه داشته باشد، با قرار دادن لایههای کسبوکار و داده برروی یک سرور پرقدرت دیگر نیازی نخواهد بود که کامپیوترهای شخصی کاربران، سختافزار پرقدرتی داشته باشند و سختافزار این کامپیوترها تنها لازم است توانایی پاسخگویی به نیازهای لایه واسط کاربری نرمافزار ما را داشته باشند.
- هماهنگی و مدیریت یکپارچه عملیات
هنگامی که تمامی عملیات لایه کسبوکار نرمافزار از طریق یک کانال واحد انجام شود، به دلیل وجود تمرکز در مکانیسم انجام عملیات میتوان مدیریت، برنامهریزی و هماهنگی دقیقتر و کاملتری بین درخواستهای کسبوکار ارسالشده توسط کاربران مختلف به لایه کسبوکار انجام داد.