Business Process Modeling in Goldman Sachs @ JJUG CCC Fall 2017tty fky
This is a presentation to talk about business process modeling in Goldman Sachs which presented in Japan Java User Group Cross Community Conference Fall 2017.
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017Carol Smith
What is machine learning? Is UX relevant in the age of artificial intelligence (AI)? How can I take advantage of cognitive computing? Get answers to these questions and learn about the implications for your work in this session. Carol will help you understand at a basic level how these systems are built and what is required to get insights from them. Carol will present examples of how machine learning is already being used and explore the ethical challenges inherent in creating AI. You will walk away with an awareness of the weaknesses of AI and the knowledge of how these systems work.
ブログでもいろいろ解説しています。
http://little-hands.hatenablog.com/entry/top
ドメイン駆動設計屈指の難解な概念「境界付けられたコンテキスト」について解説します。
---
公式DDD Referenceの定義は以下の通りです。(和訳はだいぶ意訳しています)
bounded context
A description of a boundary (typically a subsystem, or the work of a particular team) within which a particular model is defined and applicable.
境界付けられたコンテキスト
特定のモデルを定義・適用する境界を明示的に示したもの。
代表的な境界の例は、サブシステムやチームなど。
まぁなかなかよくわからないですよね。DDD用語の中でもかなり難解なワードです。 境界付けられたコンテキストは、2つの観点から解説が必要でしょう。
・概念としての境界付けられたコンテキスト
・境界付けられたコンテキストをどう実装に落としこむか
今回のスライドでは、概念の方の説明をしたいと思います。
31. CQRS - 1.単一物理データストアモデル
● 書き込みと読み込みのモデルを別物として用意する
DB
Data
Model
User
Interface
Application
IF
IF
DB
User
Interface
IF
IF
Write
Model
Read
Model
32. CQRS - 1.単一物理データストアモデル
● 書き込みと読み込みのモデルを別物として用意する
● 書き込みモデル:
テーブル毎に対応したエンティティ等
● 読み込みモデル:
テーブルをJoinした結果、SQL viewの取得結果1行などを1モデルとする
→ それぞれ適したモデルを扱えるので、処理効率が良い書き方ができる
コードがシンプルになる
DB
Data
Model
User
Interface
Application
IF
IF
DB
User
Interface
IF
IF
Write
Model
Read
Model
33. CQRS - 2.複数物理データストアモデル
● 書き込みと読み込みのデータストアを物理的に分離する
DB
User
Interface
IF
IF
Write
Model
Read
Model
34. CQRS - 2.複数物理データストアモデル
● 書き込みと読み込みのデータストアを物理的に分離する
DB
User
Interface
IF
IF
Write
Model
Read
Model
Write Data
Store
Read Data
Store
User
Interface
IF
IF
Write
Model
Read
Model
35. CQRS - 2.複数物理データストアモデル
● 書き込みと読み込みのデータストアを物理的に分離する
● Read Data Store
○ シンプルなのはread-onlyのレプリカ
○ 全く別の機構を選択することも可能 (Readをelastic searchにするなど)
→ 参照/更新のストア分離により、それぞれの負荷に合わせたスケーリングが可能
異なるアーキテクチャのデータストアを利用可能
DB
User
Interface
IF
IF
Write
Model
Read
Model
Write Data
Store
Read Data
Store
User
Interface
IF
IF
Write
Model
Read
Model
52. ● 業務ロジックをドメイン層に凝集する
● アプリケーションサービス層はドメイン層が許可した操作を必要に応じて呼ぶ
● この辺りはDDDの思想に基づいた設計
アーキテクチャ
Business
Logic
Data
User
Interface
Infrastructure
Application
Service
Domain
Model
User
Interface
Infrastructure
(@little_hand_s から参考資料たどれます
「ドメイン駆動 + オニオンアーキテクチャ概略」 )
54. ● ドメイン層をWrite Model (ドメインモデル)とRead Modelに分割する
● インフラ層の実装クラスをWriteとReadで異なるORMで実装する
アーキテクチャ
Application
Service
Domain
Model
Query
Model
User
Interface
Infrastructure
Application
Service
Domain
Model
User
Interface
Infrastructure
interface
実装クラス