> 2021年05月26日信息消化 ### BtoB/SaaSビジネスのためのAuth0認証ウェビナー **旧来型定期購読** 定常的サービス提供 →(コスト+利益 x 期間割引 **SaaS時代のサブスクリプション** 継続的改善 カスタマーサクセス ![image-20210526121543059](https://raw.githubusercontent.com/Phalacrocorax/memo-image-host/master/uPic/image-20210526121543059.png) ![image-20210526122030286](https://raw.githubusercontent.com/Phalacrocorax/memo-image-host/master/uPic/image-20210526122030286.png) #### B2B Demo Create Application > Single Page Web Application > React Implement Branding > Universal Login > Customize Login Page Authentication > Database > Password Policy Authentication > Enterprise > Google/Azure Auth Pipeline > Rules: 内网限制,外部服务联动 ### Everything About Software Architecture 原文:[Everything About Software Architecture](https://medium.com/swlh/everything-aboutsoftware-architecture-dfd2b9351ef4) > a n-tier architecture is a physical structuring mechanism, while a n-layer architecture is a logical structuring mechanism. #### Layered Architecture - Presentation Layer - Business Logic Layer - detach UI/UX from business related computations - Data Link Layer - keeps the responsibility of interacting with persistent storage like databases and miscellaneous data processing which is not domain specific ![img](https://raw.githubusercontent.com/Phalacrocorax/memo-image-host/master/uPic/1*oTLLp9BbDG75n6_sNssUYw.png) ##### Advantages - Simpler to implement compared to other approaches - Offers abstraction due to separation of concerns among layers - Isolation between layers keeps other layers immune from the modifications in one layer - Software becomes more manageable due to low coupling ##### Disadvantage - Doesn't offer much scalability - Software build with this approach will be inclined to have a **monolyth structure** lacking ease of modifications - Data has to flow from each layer one after another even if its is unnecessary to pass from certain layers. This issue is termed as **Sinkhole Problem** #### Tiered Architecture 这种架构方法基于客户端服务器通信原理将软件套件分为几层,架构可以具有n层系统中的一,两个,将数据提供者和使用者之间的职责分开。 它利用请求响应模式在定义的层之间进行通信,与分层体系结构不同,它提供了可扩展性,可以是水平的(通过高性能节点扩展网络)或垂直的(通过提高单个性能扩展每个节点)。 This architectural approach divided the software suite into into tiers based on client server communication principle. Architecture can have one, two of n-tiered system separating the responsibilities among data provider and the consumer. It utilises Request Response pattern for communication among the defined tiers. Unlike layered architecture, it offers scalability which can either be horizontal (scaling the network with high performance nodes) or vertical (scaling each node by increasing individual performance ) ##### Single Tiered System 通过这种方法,单个系统既可以充当客户端又可以充当服务器,并且可以简化部署,而无需进行系统间通信(ISC)。 这样的系统仅适用于小规模的单用户应用程序,而不应用于多用户复杂的应用程序。 In this approach, single system is responsible to work as client as well as server and can offer ease of deployment eliminating the need of inter system communications (ISC). Hence, offers great communication speed. Such system are suitable only for small scale single user application and should not be used for multi user complex applications. ##### 2-Tiered System 它提供了数据管理操作以及数据处理和表示操作之间的隔离,该系统由服务器和客户端这两个物理机器组成。 客户拥有表示,业务逻辑和数据链接层。 服务器保存数据存储,例如数据库 Such system consist of two physical machines as server as well as client. It provides isolation among the data management operations and data processing and representation operations. Client holds Presentation, Business Logic and Data link layer. Server holds the Data stores such as Databases #### Service Oriented Architecture SOA is service based architecture model where components and applications comunicates using well defined services. It comprise of the 5 elements namely - Services - Service Bus - Service Repository `catalogue of services` - SOA Security - SOA Governance ![img](https://raw.githubusercontent.com/Phalacrocorax/memo-image-host/master/uPic/1*ad70JJejTINsjs0_Htu_sA.png) Services are generally classified as two types 1. **Atomic services** : provides functionality which can not be decomposed further 2. **Composite services** : an aggregate of multiple atmoic services to provide a complex composite functionality ##### Types of Services Services can be of following types, namely - Entity service - Domain Service - Utility Service - Integrated Service - Application Service - Security Service #### Microservices Architecture Style (SOA) ![img](https://raw.githubusercontent.com/Phalacrocorax/memo-image-host/master/uPic/1*a4yESY4R4dJwBo-1vhWRtw.png) ##### What microservices comprise Architecture complise of isolated ,concise and fine grained micro services capable of expanding independently Architecture consist of 5 component as follows - Services - Service Bus - External configuration - API Gateway - Containers > There is no such thing as “microservices architecture”. Even quoted Martin Fowler words refer to it as **“microservice architectural style" because its an packaging option for SOA**. Properly designed microservices-based solution often can be packaged as a monolith or as ser of microservices without changing single line of code. Layered是指逻辑分层(Presentation, Business, Data Link) Tiered是指物理分层,比如DB服务器与APP服务器分离。 Microservices是SOA中的一种Architecture style。