مقدمه
نرم افزار های سازمانی تحت وب را می توان نمادی از سیستم های توزیع شده دانست چراکه کابران ودیتا و همچین رابط کاربری می توان در مکان های فیزیکی مختلفی قرار داشته باشند و از بستر web که در بزرگ ترین سیستم توزیع شده است برای انجام processهای مختلف با یک دیگرتعامل کنند
ERP Web base مبتنی بر مدل thin client می باشند thin client به مدلی بر مبنای معماری client -server می گویند که تمامی processها ومدیریت داده ها در server انجام می شود و client فقط مسئول اجرای نرم افزار است نرم افزار های سازمانی مبتنی بر این معماری دربر گیرنده ساختار منطقی application را بیان می کند به طور کلی ERP Web base مبتنی بر مدل thin client دارای سه لایه می باشند لایه اول Presentation است که حکم UIرا دارد و اطلاعات را از کاربر می گیرد یا برای اطلاعات پردازش شده را برای او نمایش می دهد .این اطلاعات می توانند بر اساس جایگاه کاربر که شامل کارمندان مدیران سازمان متفاوت باشد لایه دوم Application processing است که در واقع مغز متفکر ERPاست . این لایه تمامی دیتا ها را از لایه Presentation گرفته ودر درون خود پردازش می کند واگرنیاز منابعی داشت انها را از لایه Data managementمی گیرد یابه data management می دهد و در نهایت به request که کاربر از طریق لایه Presentation ارسال کرد پاسخ می دهد. لایه سوم Data management است که وظیفه مدیریت نهگداری داده را داراست که شامل data base و فرایند ذخیره سازی داده را داراست
Migration transparency
همواره یکی ازمسائلی که در erpها با آن مواجه هستیم بحث انتقال دیتا یا محل سرور است سازمان ها برای رفع این جالش هر از گاهی مجبور انتقال اطلاعات به سرور دیگر می شوند این سازمان بدیل حجم بالای کاربران نمی خواهند کاربران متوجه انتقال سرور شوند سازمان با تغییر DNS می تواند بسادگی Migration transparency اعمال کند
Odoo(OpenERPسابق)
برای مثال ما می خواهیم معماری نرم افزار سازمانی اپن سورس odoo را بررسی نماییم .لازم به ذکر است این نرم افزار براساس پلات فرم OpenERP توسعه پیدا کرده است:
در ابتدا باید گفت برای استفاده از این ERP در سمت clientفقط از یک web browser استفاده کنید. معماری توزیع شده ODOO این امکان را فراهم می کند که Clinet از هر نقطه از دنیا بوسیله مرور گر به منابع دسترسی داشته باشد بنابراین می توان گفت odoo در سمت client وابسته به platform نیست odoo دارای معماری چندگانه سه لایه ای است
Odooاز سه قسمت اصلی زیر تشکیل شده است:
سرور پایگاه داده PostgreSQL : odoo از پایگاه داده ی رابطه ای PostgreSQL استفاده می کند که شامل تمام پایگاه های داده، که هر کدام این database ها شامل داده ها و عناصر پیکربندی سیستم Odoo است. نمایش داده های sqlمستقیما" از طریق ماژول های odoo که به ORM مرتبط هستند صورت می گیرد درحالی که دسترسی ادو به پایگاه داده ی رابطه ای از طریق سرور لایه Object Relational Mapping صورت می پذیرد
ORM یکی از ویژگی های برجسته و ضروری OpenERP سرور است که در بالای سرور PostgreSQL قرار می گیرد مدل داده ای براساس پایتون شرح داده و تمام قابلیت های RDBMS مانند اعمال محدودیت های منحصر به فرد، یکپارچگی رابطه و یا پرس و جو کارآمد و انعطاف پذیری تکمیل شده توسط پایتون انجام می شود.و OpenERP ایجاد جداول پایگاه داده های زمینه ای با استفاده از این ORM انجام می دهد.
سرور نرم افزار Odoo: شامل تمام منطق های ساختاری سازمانی است و تضمین می کند که OpenERP بهینه اجرا می شود.
سرویس هایی کهORM ارائه می دهد شامل موارد زیر است:
ایجاد سازگاری بیشتر بین لایه ها
ایجادInterface برای objectها جهت طراحی وپیاده سازی بهتر ماژول ها
افزایش سطوح امنیتی به سطح کاربران وگروه های کاربری وهمچنین نقش کاربران
قابلیت اعمال اقدامات پیچیده تر روی یک گروه از منابع
امکان ارث بری از مدل های گذشته برای منابع جدید
وب سرور
وب سرور امکان ارتباط بین odoo و مرور گر clinet را فراهم می کند در نسخه 6.1 OpenERP، Web clientبازنویسی شد و بصورت یکپارچه در داخل سرور OpenERP ادغام شده وodoo نیز که بر اساس OpenERP توسعه یافته از این قاعده مستثنا نیست این لایه (وب سرور)یک WSGI سازگار بر اساس werkzeug کار می کند که query های بسته های httpرا به طور منظم به سمت سرور فایل های استاتیک و محتوای پویا به وسیله JSON-RPCارسال می کند.JSON هم ماننده CORBAیک RPC است امکان استفاده از پروسس های از راه دور را میسر می کند
Remote procedure call پروتکلی است که يک برنامه می تواند با استفاده از آن درخواست سرويسی را از برنامه موجود بر روی کامپيوتر ديگر در شبکه داشته باشد.
RPC ، تسهيلات و امکانات لازم در خصوص ارتباط بين برنامه ها را فراهم می نمايد . برنامه هائی که از RPC استفاده می نمايند ضرورتی به آگاهی از پروتکل های شبکه که ارتباطات را حمايت می نمايند ، نخواهند داشت. در RPC ، برنامه درخواست کننده سرويس گيرنده(Client) بوده و برنامه ارائه دهنده سرويس ، سرويس دهنده (Server) می باشد .
وب سرور : یک نرم افزار جداگانه به نام Open Object client-web ، که client را قادر به اتصال بهodoo از طریق مرور گرهای وب استاندارد است.
کلاینت
بخش اعظمی از پروسس ها در سمت سرور انجام می شود و کلاینت وظیفه دارد درخواست ها را به سرور ارسال ونتیجه را (برای مثال لیست مشتریان) به روش های مختلف نمایش دهد.به طور پیش فرض بر روی کلاینت odoo یک اسکریپ جاوا (بخشی از JVM)در مرورگر وب در حال اجراست که بتواند با JSON-RPCارتباط برقرار کند.
وب سرور : یک نرم افزار جداگانه به نام Open Object client-web ، که client را قادر به اتصال بهodoo از طریق مرور گرهای وب استاندارد است.
ترجمه :آیدین نعمتی منصوز
کارشناسی ارشد نرم افزار-سیستم های اطلاعاتی
یادداشت های آیدین نعمتی منصور...ما را در سایت یادداشت های آیدین نعمتی منصور دنبال میکنید
برچسب: معماری نرم افزار,معماری نرم افزار چیست,معماری نرم افزار,مقاله,معماري نرم افزار,معماری نرم افزار در عمل,معماری نرم افزار pdf,معماری نرم افزار سه لایه,معماری نرم افزار از دیدگاه rup,معماری نرم افزار سرویس گرا,معماری نرم افزار ppt, نویسنده: بازدید: 276