تعریف مسأله و بیان موضوع

از بزرگ ترین برنامه های کاربردی مبتنی بر وب می توان به سیستم های مدیریت منابع سازمان (ERP) اشاره کرد. در سیستم های ERP معمولاً از یک DBMS برای مدیریت داده ها استفاده می شود. این روش چند مشکل عمده دارد:

  • کاهش کارایی در ارتباط بین نرم افزار و DBMS. برای ارتباط بین نرم افزارها و DBMSها از پروتکل های ارتباطی مثل ODBC، JDBC و … استفاده می شود که سربار خاص خود را داراست و باعث کاهش کارایی سیستم می شود.
  • علاوه بر نصب نرم افزار نیاز به نصب DBMS نیز هست و هزینه هایی را برای نگهداری سیستم دربردارد.
  • در ساختار ماژولار، حذف، ایجاد یا بک آپ گیری داده های هر ماژول، بدون دانش فنی و انجام کدنویسی پیچیده امکان­پذیر نخواهد بود.
  • نگهداری سیستم برای شرکت های متوسط و کوچک مشکل است و نیاز به استخدام متخصصین IT می باشد.
  • به سخت افزارهای سریع­تر و گران­قیمت­تری نیاز است.

معدود سیستم هایی مانند teamwox هم وجود دارند که از حالت embed شده دیتابیس استفاده می کنند. در دیتابیس های embed شده ی موجود مانند Firebird و SQLite، سرعت پردازش هم زمان اطلاعات بسیار پایین است و از آنجایی که از یک دیتابیس برای کل سیستم استفاده می شود، با افزایش تعداد کاربران هم زمان و افزایش تعداد ماژول ها، عملکرد سیستم به شدت افت می کند. از طرف دیگر مشکل یک جا بودن داده ها باقی است و با تعاریف سیستم ماژولار در تناقض است.

هدف از این مقاله، ارائه راهکاری برای حل یا به حداقل رساندن مشکلات ذکرشده در بالا می باشد.

ارائه راه حل برای مشکل فنی موجود

در زیر راهکارهایی برای حل مشکلات مذکور در دیتابیس های سیستم های ERP، بدون افزودن پیچیدگی به سیستم، بیان می شود:

  • برای کاهش سربار سیستم و همچنین عدم نیاز به نصب جداگانه DBMS از Embed database استفاده می شود.
  • برای سیستم های ERP ساختار ماژولار پیشنهاد می گردد به طوری که ماژول ها در فولدری به نام modules قرار می گیرند. برای قرارگرفتن اطلاعات هر ماژول داخل فولدر مختص آن ماژول، از دیتابیس های متعدد به ازای هر ماژول استفاده شده است. این روش کمک می کند تا کاربران بیشتری به صورت همزمان از سیستم استفاده نمایند. همچنین حذف یا افزودن مآژول ها بدون تأثیر روی سایر ماژول ها امکان پذیر است.
  • گسستگی دیتابیس ها باعث مشکل ارتباط بین ماژول ها می شود. در حالت single database، هر ماژول می تواند به تمام سیستم دسترسی داشته باشد. و از جداول سایر ماژول ها استفاده نماید. برای ایجاد این امکان در حالت multi database، دو راهکار درنظرگرفته شده است:
    • استفاده از اینترفیس: هر ماژول داده های خود را مدیریت می کند و در صورت نیاز اینترفیسی را برای استفاده یا تغییر داده ها توسط سایر ماژول ها، فراهم می کند. هر ماژول باید اینترفیس های خود را به core سیستم معرفی نماید و سایر ماژول ها نیز می توانند از طریق core از این اینترفیس ها استفاده نمایند.
    • امکان استفاده مستقیم از دیتابیس ماژول های دیگر: مواردی پیش می آید که ماژول ها نیاز دارند مستقیماً از دیتابیس سایر ماژول ها استفاده کنند. در ساختار ماژولار، هر ماژول از id منحصربه فردی برخوردار است. در صورتی که نیاز به استفاده از دیتابیس یک ماژول باشد، dbbject به صورت پیش فرض به دیتابیس حاضر اشاره می کند و در صورتی که به دیتابیس سایر ماژول ها نیاز باشد، dbobject را با id ماژول موردنظر فراخوانی می کنیم. تمامی این قابلیت ها از طریق هسته نرم افزار امکان پذیر است.

استفاده از راهکار چندین پایگاه داده تعبیه شده در وب سرور بومی تیم یار

در وب سرور بومی تیم یار که برای مدیریت یکپارچه کلیه فرایندهای سازمان های کوچک و متوسط به کار می رود، از این راهکارها استفاده شده است. مزایایی که بهره گیری از این رویکرد به همراه داشته است عبارتند از:

  • افزایش کارایی ارتباط بین نرم افزار و کار با داده ها
  • با نصب وب سروری که پایگاه داده تعبیه شده دارد، دیگر نیاز به نصب DBMS نبوده و هزینه های اضافی دیگری به کاربر متحمل نمی شود.
  • سادگی انجام حذف، ایجاد و بک­آپ­گیری داده های ماژول در ساختار ماژولار بدون افزودن پیچیدگی به سیستم
  • افزایش ماکزیمم سایز دیتابیس به تعداد ماژول ها
  • کاهش هزینه های نصب و نگهداری
  • کاهش هزینه های خرید سخت افزار