Message Oriented (MOM)
مدل Message Oriented (MOM) یک مدل معماری نرمافزاری است که برای ارتباط بین برنامهها و سیستمهای مختلف در یک سازمان استفاده میشود. در این مدل، برنامهها با یکدیگر از طریق تبادل پیامها در ارتباط هستند.
در این مدل، یک برنامه میتواند یک پیام را به صورت ناهمگام (Asynchronous) برای برنامهی دیگری ارسال کند. سیستم MOM مسئول مدیریت و ارسال این پیامها بین برنامههاست و از مزایایی مانند خودکارسازی، افزایش قابلیت اطمینان و مقیاسپذیری بالا برخوردار است.
از جمله مثالهای استفاده از MOM میتوان به صفهای پیام (Message Queues)، رابطهای برنامهنویسی کاربردی (API) و سرویسهای وب اشاره کرد. به کمک این مدل، برنامههای مختلفی میتوانند با هم ارتباط برقرار کنند و اطلاعات و سرویسهای لازم را با هم به اشتراک بگذارند.
Service Oriented (SO)
مدل Service Oriented (SO) یا همان مدل خدماتی، یک مدل معماری نرمافزاری است که برای طراحی سیستمهای نرمافزاری با محوریت خدمات استفاده میشود. در این مدل، سیستم به صورت مجموعهای از خدمات (Services) تعریف میشود که هر کدام به صورت مستقل و با قابلیت استفاده مجدد طراحی شدهاند.
هر خدمت در این مدل، یک واسط (Interface) دارد که امکان ارتباط با خدمات دیگر و درخواست و ارسال دادهها را به صورت استاندارد فراهم میکند. با این کار، سیستم به صورت مجموعهای از خدمات مستقل و قابل استفاده مجدد طراحی شده است که هر یک به صورت مستقل از دیگران میتوانند توسعه و بهبود یابند.
از مزایای استفاده از مدل SO میتوان به افزایش قابلیت اطمینان، انعطافپذیری، قابلیت گسترش و باز استفاده بالا اشاره کرد. با استفاده از این مدل، امکان دسترسی به خدمات مختلف در یک سیستم نرمافزاری و ارتباط آنها با یکدیگر بسیار آسان میشود. به عنوان مثال، سرویسهای وب، سرویسهای پایگاه داده، سرویسهای امنیتی و... میتوانند به عنوان خدمات مجزا در سیستم استفاده شوند و به عنوان یک واحد کامل کار کنند.
Resource Oriented (RO)
مدل Resource Oriented (RO) یا همان مدل محور منابع، یک مدل معماری نرمافزاری است که برای طراحی سیستمهای نرمافزاری با محوریت منابع (Resources) استفاده میشود. در این مدل، هر منبع به صورت یکی از اجزای اصلی سیستم در نظر گرفته میشود و از روی آن طراحی میشود.
در این مدل، هر منبع یک نشانی یکتا دارد که با استفاده از پروتکلهای استاندارد اینترنت، مانند HTTP، قابل دسترسی است. به عنوان مثال، یک منبع میتواند یک فایل باشد که با آدرس یکتایی در سیستم قابل دسترسی است. در این مدل، ارتباط با منابع به صورت استاندارد و یکپارچه انجام میشود و همه منابع به صورت یکسان قابل دسترسی هستند.
مزایای این مدل شامل سادگی طراحی و پیادهسازی، قابلیت گسترش بالا و امکان دسترسی مستقیم و یکپارچه به منابع در سیستم است. همچنین، با استفاده از این مدل میتوان به سادگی خدماتی را برای دسترسی به منابع ایجاد کرد که بسیار قابل استفاده و پویا هستند.
به عنوان مثال، در این مدل میتوان سیستمهایی را طراحی کرد که با استفاده از آدرسهای یکتا، به منابع مختلف، مانند پایگاه داده، فایلها، سرویسهای وب و... دسترسی دارند. با این کار، سیستم به صورت محور منابع طراحی شده و امکان دسترسی به هر یک از منابع با استفاده از یک روش استاندارد و قابل استفاده مجدد فراهم میشود.
Policy Model (PM)
مدل Policy Model (PM) یک مدل معماری نرمافزاری است که برای طراحی سیستمهای نرمافزاری با تمرکز بر سیاستهای کنترل دسترسی (Access Control Policies) به منابع استفاده میشود. در این مدل، سیاستهای کنترل دسترسی به منابع و دادهها به صورت مستقل از سیستمها و برنامههای مختلف تعریف شده و از طریق استفاده از سیستمهای مدیریت سیاستها، مدیریت میشوند.
در این مدل، کاربران و نقشهای آنها، سیاستهای کنترل دسترسی و منابع به صورت جداگانه تعریف میشوند و هر یک دارای نشانی یکتا هستند. برای دسترسی به منابع، کاربران باید به سیستمهای مدیریت کنترل دسترسی مراجعه کنند و سطح دسترسی خود را بر اساس سیاستهای تعریف شده، اعلام کنند. در این مدل، کنترل دسترسی به منابع با استفاده از پروتکلهای امنیتی، مانند OAuth و SAML، صورت میگیرد.
مزایای این مدل شامل افزایش امنیت سیستم، کاهش پیچیدگی در مدیریت کنترل دسترسی و قابلیت گسترش بالای سیستم است. همچنین، با استفاده از این مدل، سیاستهای کنترل دسترسی به صورت مستقل از سیستمها و برنامههای مختلف تعریف شده و قابل استفاده مجدد هستند.
به عنوان مثال، در این مدل میتوان سیستمهایی را طراحی کرد که برای دسترسی به منابع مختلف، مانند پایگاه داده، فایلها، سرویسهای وب و...، از سیستمهای مدیریت کنترل دسترسی استفاده میکنند. با این کار،
Simple Object Access Protocol (SOAP)
SOAP یک پروتکل برای ارسال پیامهای XML بین سرویسهای وب است. این پروتکل به عنوان یکی از پروتکلهای اصلی سرویسدهی وب بکار میرود و با استفاده از پروتکل HTTP، ارتباط بین سرویسهای وب را برقرار میکند.
SOAP برای فراخوانی روشهای سرویسهای وب به کار میرود و درخواست و پاسخ را به صورت یک پیام XML انتقال میدهد. در این پیام، اطلاعاتی در مورد نوع درخواست، پارامترهای ورودی و خروجی و همچنین اطلاعات امنیتی مانند توکنهای اعتبارسنجی قرار داده میشود.
SOAP برای تبادل اطلاعات با استفاده از قالب XML طراحی شده است و برای برقراری ارتباط با سرویسهای وب از ویژگیهایی مانند WSDL (Web Services Description Language) و UDDI (Universal Description, Discovery, and Integration) استفاده میشود. این پروتکل قابلیت پشتیبانی از برخی از ویژگیهای امنیتی مانند SSL (Secure Sockets Layer) و WS-Security را داراست.
استفاده از SOAP به دلیل قابلیت استفاده در برنامههای بزرگ و قابلیت توسعهپذیری بالا، برای ساخت سیستمهای سرویسدهی وب محبوب است. با این حال، به دلیل پیچیدگی بالای پروتکل و سرعت پایین تراکنشها، پروتکلهای جدیدی مانند REST (Representational State Transfer) در سالهای اخیر محبوبیت بیشتری در بین توسعهدهندگان وب کسب کردهاند.
Representational State Transfer (REST)
Representational State Transfer یا REST، یک معماری برای طراحی سرویسهای وب است که بر اساس پروتکل HTTP بنا شده است. REST از منابع (Resources) برای مدلسازی دادهها استفاده میکند و با استفاده از متدهای HTTP مانند GET، POST، PUT و DELETE، عملیات CRUD (ایجاد، خواندن، بهروزرسانی و حذف) را بر روی این منابع انجام میدهد.
در معماری REST، هر منبع با یک شناسه یکتا (URI) مشخص میشود و برای دسترسی به آن منبع از متدهای HTTP استفاده میشود. برای مثال، برای درخواست اطلاعاتی از یک کتاب با شناسه ۱، میتوان از آدرس زیر استفاده کرد:
bashCopy code
GET /books/1
در این مثال، /books/1 شناسه یکتای کتاب را مشخص میکند و با استفاده از متد GET، اطلاعات مربوط به آن کتاب درخواست میشود.
/books/1
مزیت اصلی استفاده از REST در طراحی سرویسهای وب، پایداری و قابلیت توسعهپذیری بالای آن است. با استفاده از استانداردهایی مانند JSON (JavaScript Object Notation)، ارتباط بین سرویسهای وب با یکدیگر نیز سادهتر شده است. به دلیل سادگی و مقیاسپذیری بالای آن، REST به عنوان یکی از پراستفادهترین معماریهای سرویسدهی وب محسوب میشود.
API
API یا Application Programming Interface به عنوان یک رابط برنامه نویسی برای ارتباط بین برنامهها و سرویسهای مختلف در نرمافزارها و وبسایتها به کار میرود. این رابطها میتوانند به صورت داخلی در یک برنامه (مانند یک کتابخانه) یا به صورت خارجی از طریق اینترنت در اختیار برنامهنویسان قرار گیرند.
API به عنوان یک مجموعه از دستورالعملها و قوانین تعریف میشود که برای ارتباط با یک سرویس یا سیستم خاص باید پیروی شود. به این ترتیب، برنامهنویسان میتوانند با استفاده از API اطلاعات مورد نیاز خود را از یک سرویس خارجی دریافت کرده و آن را در برنامه خود استفاده کنند.
نحوه استفاده از API متفاوت است و ممکن است شامل استفاده از پروتکلهای مختلف مانند REST، SOAP، GraphQL و ... باشد. همچنین ممکن است برای استفاده از API نیاز به احراز هویت کاربر باشد تا بتوان از سرویسهایی مانند پرداخت آنلاین، خرید و فروش برخط و ... استفاده کرد.
Last changed6 months ago