اهمیت استفاده از تکنولوژی‌های مبتنی بر web برای تولید نرم‌افزار

سیستم‌های توزیع شده (System Distributed) آنهایی هستند که محیط اجرایی فراتر از یک PC را شامل می‌شوند. به عنوان مثال یک وب سایت نوع خاصی از این نوع سیستم‌هاست، چرا که روی چندین کامپیوتر در حال اجراست. به عنوان مثالی دیگر می‌توان از نرم‌افزارهایی که برای انجام امور مالی و اداری طراحی شده‌اند و روی شبکه در دسترس چندین کاربر قرار می‌گیرند، نام برد. مثالهایی که مطرح شد را سیستمهای سرویس‌گیر-سرویس‌دهنده (Client-Server) می‌گویند که نوع خاصی از توزیع را در بر دارند و طیف وسیعی از نرم‌افزارهای تحت شبکه را شامل می‌شوند. نرم‌افزار این سیستم‌ها به دو بخش کلی تقسیم می‌شوند: سرویس‌دهنده (Server) و سرویس‌گیر(Client). بخش سرویس‌دهنده که خود ممکن است از قسمت‌های مختلف تشکیل شده باشد معمولا روی کامپیوترهای قوی‌تری قرار می‌گیرد و وظیفه‌ی ذخیره‌سازی، به روز رسانی و پردازش داده‌ها را به عهده دارد. بخش دیگر که تمام یا قسمتهایی از آن روی هریک از کامپیوترهای سرویس‌گیر نصب می‌شود ارتباط بین کاربران و سرور را فراهم می‌آورد و با توجه به حق دسترسی کاربر فرمان‌های او را برای اجرا به سرور می‌فرستد و نتیجه را دریافت کرده نمایش می‌دهد. وسیله‌ی ارتباط بین سرویس‌گیرها و سرویس‌دهنده‌ها از طریق یک شبکه‌ی کامپیوتری که ممکن است یک شبکه‌ی محلی (LAN) یا جهانی (مثلا اینترنت) و یا نوع دیگری از شبکه باشد، صورت می‌گیرد.

به طور کلی دو روش برای پیاده‌سازی این‌‌گونه نرم‌افزارها وجود دارد. در روش اول که مورد توجه تولید‌کنندگان داخلی است و در کشور ما مرسوم است، تمام بخش های نرم‌افزار به علاوه‌ی قسمت‌های ارتباطی توسط ابزارهایی مانند Visual C++، Delphi یا Java پباده‌سازی می‌شوند. به این ‌ترتیب که نرم‌افزارهای مستقلی برای بخش سرویس‌دهنده و سرویس گیر طراحی شده و وظیفه‌ی ارتباط بین این دو بخش هم باید توسط نرم‌افزار تامین شود. روش دوم استفاده از تکنولوژی‌های مبتنی بر وب می‌باشد. به این ترتیب که بخش سریس‌گیر با استفاده ابزارهایی مانند: HTML، JavaScript و Flash پیاده‌سازی می‌شود و قسمت سرور هم با استفاده از تکنولوژی‌هایی مانند PHP، ASP.Net و JSP که مخصوص تولید کاربردهای وب هستند، پیاده‌سازی می‌شود. ارتباط بین بخش‌های سرویس‌گیر و سریس‌دهنده توسط یک مرورگر وب (Web Browser) مثلا Internet Explorer روی کامپیوتر سرویس‌گیر و یک سرویس‌دهنده‌ی وب (Web Server) بر روی کامپیوتر سرویس‌دهنده، تأمین می‌شود.

استفاده از روش دوم برتری‌های فراوانی در اغلب کاربردها دارد که به آنها خواهیم پرداخت. در این روش تمام بخش‌های نرم‌افزار می‌تواند در کامپیوتر‌های سرویس‌دهنده قرار داشته باشد. به این ترتیب که مرورگر وب قسمتهای مورد نیاز را روی کامپیوتر سرویس‌گیر بارگزاری کرده و اجرا می‌کند. در نتیجه به راحتی می‌توان از هر کجای دنیا با وصل شدن به Intranet مربوطه (یا اگر بستر اینترنت باشد، با وصل شدن به اینترنت) بدون نیاز به نصب نرم‌افزار جدید به کل سیستم دسترسی داشت. همچنین اضافه کردن یک کامپوتر جدید به مجموعه تنها با تعریف یک کاربر جدید امکان‌پذیر است و این عدم نیاز به نصب نرم‌افزار در کامپیوتر‌های سرویس‌گیر هزینه‌ی نگهداری سیستم را به شدت کاهش می‌دهد. همان‌طور که قبلا هم اشاره شد انتقال کل نرم‌افزار به اینترنت هم به سهولت امکان‌پذیر است و هزینه‌ی چندانی در بر ندارد. از دیگر مزایای این روش وجود تکنولوژی‌های منبع‌باز (Open Source) در دسترس برای تولید نرم‌افزار است. استفاده از امکانات موجود برای ارتباطات بین سرویس‌گیرها و سرویس‌دهنده‌ها موجب کاهش هزینه‌ی تولید و قابلیت اطمینان بالا و سهولت تولید و توسعه نرم‌افزار می‌شود. البته روش اول هم مزایایی دارد که از جمله امکان پیاده‌سازی بهینه‌ی الگوریتم‌های پیچیده با محاسبات سنگین و کنترل کامل روی پروتکل‌های ارتباطی را می‌توان نام برد.

با توجه به اینکه در اغلب سیستم‌های اتوماسیون و مالی و اداری که در کشور ما درصد بالایی از تولید نرم‌افزار را شامل می‌شوند، حجم محاسبات بسیار پایین و انتقال داده‌ها زیاد است، استفاده از روش دوم که در بالا مطرح شد بسیار به صرفه خواهد بود. از نظر نصب و دسترسی نیز به علت وجود مرورگرها در تمام کامپیوترهای شخصی و سهولت استفاده از نرم‌افزارهای سرویس‌دهنده‌ی وب، استفاده از سیستم ساده‌تر می‌شود. در نهایت، استفاده از تکنولوژی‌های منبع‌باز موجب کاهش دردسرهای ناشی از پیوستن کشورمان به سازمان تجارت جهانی و رعایت حق تألیف به دلیل استفاده نکردن از ابزارهای گران‌قیمت می‌شود.