دوره آنلاین SOA and Microservice Design Patterns and Domain-Driven Design

دوره آنلاین SOA and Microservice Design Patterns and Domain-Driven Design

پروتکل‌های معماری سرویسگرا

پروتکل (SOAP (Simple Object Access Protocol: ساختاری برای تبادل پیام‌ها در قالب XML است که بین سرویس‌های وب تبادل می‌شود.
پروتکل (WSDL (Web service Description Language: زبانی مبتنی بر XML که جهت توصیف ویژگی‌های عملیاتی سرویس‌های وب استفاده می‌شود و دارای دو بخش تعریف واسط و پیاده‌سازی است.
پروتکل (UDDI (Universal Description ,Discovery and Integration: واسطی است برای انتشار و شناسایی سرویس‌های وب و شامل یک مخزن می‌شود که ارائه دهندگان به انتشار و تبلیغ سوریس خود می‌پردازند تا دیگران بتوانند آن را شناسایی کنند.


خواص معماری سرویسگرا:

مهمترین خواص معماری سرویسگرا عبارتند از:
استفاده از استانداردهای مستقل از فناوری و مورد توافق برای ارائه مؤلفه‌های نرم‌افزاری تحت قالب سرویس
معرفی‌کننده یک روش مشخص و مورد توافق برای تعریف و ارتباط بین مؤلفه‌های نرم‌افزاری
مؤلفه‌های نرم‌افزاری منفرد می‌توانند در ساخت دیگر نرم‌افزارها استفاده شوند
تقویت‌کننده رهیافت سرهم بندی اجزاء از قبل تعریف شده برای ساخت نرم‌افزارها به جای توسعه و پیاده‌سازی آنها
می‌تواند به نرم افزاهای خارج سازمانی نیز مانند انواع داخلی آن متصل شوند.



گوشه ای از جلسه اول دوره آنلاین (لایو) (SOA and Microservice Design Pattern (New اصول و الگوهای طراحی در معماری سرویس گرا و مایکروسرویس سماتک - استاد بلال مدحج

بیانیه سرویسگرایی:

در سال 2009 بیانیه‌ای جهت معماری سرویسگرا بر بمنای 6 ارزش بنیادی ارائه شد. این شش ارزش بنیادین در معماری سرویسگرا عبارتند از:
ارزش‌های کسب‌وکار از راهبردهای فنی اهمیت بیشتری دارند.
اهداف راهبردی از منافع پروژه‌ای خاص اهمیت بیشتری دارند.
تعامل پذیری ذاتی از یکپارچه سازی‌های مقطعی اهمیت بیشتری دارد.
سرویس‌های اشتراکی از پیاده‌سازی‌های خاص منظوره از اهمیت بیشتری برخوردار هستند.
انعطاف‌پذیری از سازماندهی اهمیت بیشتری دارد.
بهبود تکاملی از کمالگرایی اولیه اهیمت بیشتری دارد.


خلاصه دوره SOA and Microservice Design Patterns and Domain-Driven Design

This course provides an easy to understand, end-to-end overview of contemporary service concepts and technologies pertaining to modern-day microservices and service-oriented computing, as well as business and technology-related topics pertaining to service-oriented architecture (SOA). Providing an in-depth exploration of the overarching models and underlying mechanics of service-oriented technology architecture also will be covered. A wide range of topic areas is covered to provide techniques, insights and perspectives of the inner workings of service and composition architectures, including messaging, microservice deployments, service contracts, API gateways, containerization and many more.

Domain-Driven Design has attracted quite a lot of attention in recent years. This course explains the concepts of DDD, and explores how it can help us model complex software systems. We'll lift the lid on key concepts such as Bounded Contexts, Aggregates and Ubiquitous Language, and take a pragmatic look at how to apply these concepts to address real challenges.

The principles of BDD during this course also will be covered.

The course also covers the Command-Query Responsibility Segregation (CQRS) pattern, and describes how it fits in with DDD.


مدت دوره:

27 ساعت


پيش نياز:

• Experience in large scale software design
• Familiarity with Object Oriented Design principals


مخاطبان دوره:

• Software architects and Software designers


سرفصل دوره SOA and Microservice Design Patterns and Domain-Driven Design

– Business and Technology Drivers for SOA, Services and Microservices

– SOA vs. Traditional Architectures

– Understanding Service and Composition Architectures

– Strategic Goals and Benefits of Service Oriented Computing

–Services vs. Microservices

– Fundamental Characteristics of a Service Oriented Architecture

– Understanding Service Orientation as a Design Paradigm, including the Four Pillars of Service Orientation

– Introduction to Service Layers, Service Models and Service Compositions

– Service Inventories, Service Layers and Service API Governance and Management

– Introduction to Common Service Technologies, including API Gateways, Virtualization, Containerization

– Adoption Impacts, including considerations for Governance, Infrastructure, Performance and Standardization

– Fundamental Application Design with SOA

– Service Orientation vs. “Silo” Based Design

– Service Oriented Application Design with Microservices

– Understanding Services and Service Capabilities

– Understanding the Functional Context of Microservices

– Complex Service Composition Design, Composition Runtime Roles and Responsibilities

– Composition with Microservices

– Distinguishing Characteristics of the SOA Model

– The Eight Design Principles of Service Orientation

– Contract First Design, Standardized Service Contracts and Uniform Contracts

– Service Loose Coupling and Coupling Types, Service Abstraction and Information Hiding

– Service Reusability and Agnostic Design, Service Autonomy and Runtime Control

– Service Statelessness and State Deferral, Service Discoverability and Interpretability

– Design Guidelines for REST Services

– Logic Centralization, Schema Centralization and Canonical Schemas

– Dual Protocols, Canonical Resources and Inventory Endpoints

– Contract Centralization, Official Endpoints and Services with Concurrent Contracts

– Lightweight Endpoints, Reusable and Uniform Contracts

– Service Façades, Legacy Wrappers and Service Data Replication

– Microservice Deployments and Containerization

– Redundant Implementations, Content Negotiation and Idempotent Capabilities

– Messaging Metadata, State Messaging and Event Driven Messaging

– Service Instance Routing, Endpoint Redirection, Service Agents and Intermediate Routing

– API Gateways and Asynchronous Queuing

– Data Format Transformation, Data Model Transformation and Protocol Bridging

– Service Brokers and the Enterprise Service Bus

– Orchestration and Compensating Service Transactions

– Composition Autonomy, Entity Linking and State Repositories

Also the following SOA Patterns will be introduced:

• Agnostic Capability

• Agnostic Context

• Functional Decomposition

• Non-Agnostic Context

• Service Encapsulation

• Agnostic Service Declaration

• Atomic Service Transaction

• Enterprise Service Bus (ESB)

• Federated Endpoint Layer

• Orchestration

• Service Façade

• Service Callback

• Multiple Service Contracts

• Authentication Broker

• Message Origin Authentication

• Message Screening

• Transactional Service

 

Domain-Driven Design

        Introduction to Domain-Driven Design:

        What is Domain-Driven Design (DDD);

        What challenges does DDD address;

        Essential patterns and practices of DDD

 

        Problem Domains:

        Understanding the problem domain;

        Techniques and practices;

        Core domains;

        Defining clean boundaries

 

        Effective Model-Driven Design:

        Domain models;

        Defining a Ubiquitous Language;

        Domain model implementation patterns;

        Bounded Contexts;

        Applying DDD in practice

 

        Bounded Context Integration:

        Integrating Bounded Contexts;

        Integrating distributed Bounded Contexts;

 

        Overview of DDD Patterns:

        Entities, value objects, and domain services;

        Aggregates, factories, and repos;

        Domain events;

        Event sourcing

 

        Value Objects and Entities:

        When to use a value object;

        Persistence options;

        How to implement entities;

        Entity best practices

 

        Domain Services and Domain Events:

        When and how to use domain services;

        Domain services vs. application services;

        Domain service patterns;

        Domain event actions;

        Implementation options

 

        Aggregates:

        The importance of aggregates in DDD;

        Defining aggregate boundaries;

        Implementing aggregates;

        Persistence

 

        Factories and Repositories:

        The purpose of factories;

        The purpose of repositories;

        Patterns and anti-patterns

 

        Introduction to CQRS and Event sourcing:

        What is CQRS;

        Eventual consistency;

        Commands and command buses;

        Repositories;

        Events and event buses

        Event sourcing

– Behavior Driven Development (BDD)

        The fundamental principles and practices of BDD

        Feature, Scenario and Behavioral specifications: Given – When – Then Approach

        Example Mapping & Discovery Workshops to achieve shared understanding

        The importance of a ubiquitous language for problems and solutions

        Key differences in TDD and BDD

        Writing first scenario for your product

        Using parameters in step definitions

        Roles and responsibilities on a BDD team

جزئیات سرفصل دوره SOA and Microservice Design Patterns and Domain-Driven Design را از طریق لینک زیر دریافت کنید:


سرفصل دوره سماتک