مدیریت cache سرورها

یکی از مواردی که در معماری ORCA به آن دقت شده است، کاهش حجم I/O دیتابیس است. در تحلیل سیستم ATRA ERP، اطلاعات به دو دسته Master Data (اطلاعات پایه) و Operational (رکوردهای عملیاتی) تقسیم شده اند. معمولا در هنگام ثبت رکوردهای عملیاتی (رکوردهایی که به صورت روزانه در حال ثبت شدن هستند، مانند درخواست خرید، سند حسابداری، فاکتور فروش و...) معمولا از رکوردهای اطلاعات پایه (رکوردهایی که معمولا هر روز ثبت نمی شوند و در بازه های زمانی بیشتر، به روز می شوند مانند اشخاص، کالا، چارت تشکیلاتی، انبارها، درخت حسابداری و...) استفاده می شود.

ORCA، تمامی اطلاعات پایه را در RAM سرور، Cache می کند و زمانی که مثلا فرم حکم کارگزینی Load می شود، برای پرکردن فیلدهای شغل، پست، واحد سازمانی، پرسنل و سایر فیلدهای مرتبط با اطلاعات پایه، Query دیتابیس نمی خورد و اطلاعات از RAM خوانده می شود. با اولین آپدیت اطلاعات پایه، این کَش پاک شده و مجددا برای یکبار Query دیتابیس می خورد و دوباره اطلاعات Cache می شوند. این مکانیزم، کمک بسیاری بالایی در افزایش Performance سیستم و Load شدن اطلاعات می کند.

از آنجایی که ORCA از بحث Load Balancing سرورها پشتیبانی می کند، مکانیزم Cache سرور، زمانی پیچیده می شود که کارفرمای محترم از بیش از یک Application Server با هدف Load Balancing استفاده می کند. در این صورت، با آپدیت شدن دیتابیس توسط یک Application Server آن سرور، یک Message به سایر سرورها ارسال می کند تا Cache خود را به روزرسانی کنند.


سیستم مدیریت آموزش

یکی از مهم ترین مسائل پیاده سازی یک سیستم سازمانی، آموزش به کاربران است. در سازمان های بزرگ با تعداد End-User بالا، عملا امکان برگزاری دوره های آموزشی با کیفیت مناسب و کامل برای تمامی کاربران وجود ندارد و یا هزینه برگزاری این دوره های آموزشی بسیار بالاست.

از سوی دیگر، با گذشت زمان، پرسنل سازمان جابه جا می شوند و بسته به پست سازمانی جدید، ممکن است دسترسی های مختلفی به بخش های سیستم داشته باشند. مثلا اگر مدیر بازرگانی به معاونت توسعه بازار منصوب شود بایستی دسترسی ها و منوهای مرتبط با شغل جدید را مجددا آموزش ببیند. همچنین، با استخدام پرسنل جدید، همیشه مساله برگزاری دوره آموزشی برای کاربران یک مساله مهم است.

atra orca erp trainig list

با در نظر گرفتن همه این مسائل، وجود یک سیستم متمرکز که کار با سیستم را به کاربران آموزش می دهد، بسیار حیاتی به نظر می رسد. وظیفه سیستم ORCA Training هم این است که از طریق ارائه محتوای آموزشی به صورت HTML و همچنین فیلم های آموزشی Interactive، کاربران را با سیستم آشنا نموده و نیاز به برگزاری دوره های آموزشی را به حداقل برساند.

atra orca erp trainig interactive


سیستم تست خودکار

یکی از مسائل روز دنیا در توسعه سیستم های سازمانی، کنترل کیفیت سیستم توسعه یافته و ریسک بالای انجام تغییرات در محصول تولید شده است. همیشه در هنگام توسعه یک سیستم سازمانی، ممکن است Test سیستم و کنترل کیفی محصول مغفول واقع شود. چرا که معمولا هزینه ایجاد کدهای تست سیستم و Test Driven Development بسیار بالاست و در صورتی که بخواهیم با راهکارهای روز دنیا یک Application بنویسیم که دارای Test Coverage بالا باشد، باید هزینه و زمان بسیار زیادی صرف شود.

orca erp test lab login page

در صورتی هم که از بحث Test سیستم غافل شویم، با هر تغییر کوچک در بخشی از سیستم، ممکن است بخش دیگری از Business های توسعه یافته از کار بیفتد. برای حل این مساله، شرکت آتراويژن دو راهکار ارائه داده است. اول اینکه، هر زیرسیستم به صورت جداگانه توسعه یافته است و بنابراین Source Code هر سیستم از سیستم دیگر جداست. در صورتی که یک سیستم بخواهد از اطلاعات سیستم دیگری استفاده کند، این ارتباط از طریق RESTful برقرار شده است و یا اینکه بین سیستم ها Dependency برقرار شده است. پس با انجام تغییر در یک سیستم، تقریبا می توان مطمئن بود که Side Effect این تغییرات، محدود به همان سیستم است.

orca erp test lab view

راهکار دوم، توسعه سیستم ORCA Test LAB است. این سیستم، به صورت کامل در داخل شرکت آتراويژن توسعه یافته است و Integration TEST ، Regression Test و Unit Test را برعهده دارد. مکانیزم عمل این سیستم به این صورت است که در مرحله اول، می توان سناریوهای مختلفی را طراحی و از طریق User Interface آن ها را ضبط نمود. با هر بار تغییر در سیستم، می توان این Test ها را اجرا نمود و در صورت بروز خطا، مشخص می شود که بخشی از قابلیت های سیستم که قبلا به درستی کار میکرده، حالا از کار افتاده است.

orca erp test lab run

 


مدیریت عملیات گروهی

معمولا انجام محاسبات پیچیده و در حجم بالا، یکی از چالش های اساسی سیستم های سازمانی با معماری Client-Server است. چرا که بار اصلی محاسبات بر دوش Server ی خواهد بود که بایستی به تعداد زیادی کاربر هم زمان Service بدهد. شاید بسیاری از کاربران در کار با یک سیستم Server-Side یا Client-Server این تجربه را داشته اند که ناگهان سیستم، کند شده است و Response درخواست Client با سرعتی کمتر از آنچه مورد انتظار End-User است به او ارسال می شود. علت این مساله هم آن است که مثلا واحد حقوق و دستمزد اقدام به انجام محاسبات حقوق نموده یا مثلا واحد حسابداری در حال ایجاد سند حسابداری اتوماتیک است یا واحد برنامه ریزی، می خواهد برنامه ریزی سالیانه تولید برای محصولات را انجام دهد.

به منظور پاسخگویی به این نیاز، سیستم ORCA دارای امکان Grid Computing است. زمانی که یک محاسبه پیچیده شروع می شود، معماری سیستم به گونه ای طراحی شده که Request کاربر از طریق یک Channel جداگانه و در چند Thread (تعداد Thread ها قابل تنظیم است)، سمت Server ارسال می شود. به عنوان مثال، زمانی که بخواهیم برای 5000 نفر محاسبه حقوق انجام دهیم، می توانیم تعداد Thread ها را 5 انتخاب کنیم. در این صورت در هر مثلا 0.4 ثانیه، برای 5 نفر محاسبه حقوق انجام می شود و به این ترتیب، سرعت پردازش سیستم 5 برابر می شود. هر Thread می تواند از یک Core مربوط به CPU برای محاسبات استفاده کند. بنابراین، سیستم ORCA بهترین کارایی را در ارتباط با سخت افزار Server خواهد داشت. از سوی دیگر از آنجایی که این درخواست در یک Channel جداگانه ارسال شده، کاربر منتظر Response نمی ماند و کار محاسبه به صورت موازی انجام شده و در یک Progress Bar به کاربر نمایش داده می شود.

orca erp production line batch process

همچنین این امکان وجود دارد که برای مشتریان بزرگ، با قراردادن Server های محاسباتی در معماری سخت افزاری با استفاده از Grid Computing محاسبات بر روی این سرورها انجام شده و پاسخ به Server اصلی ارسال شود.

ATRA ERP Grid Computing


منوی سایت