InfoQ ホームページ MDA に関するすべてのコンテンツ
-
Thoughtworksのデータ・AI担当VP、QCon Londonで堅牢なデータ製品構築のための洞察を語る
Thoughtworks社のデータ&AI担当VPであるDanilo Sato氏は、QCon Londonのプレゼンテーションで、データ製品の実装の際にドメイン駆動設計とチーム・トポロジーの原則を適用することの重要性をあらためて強調した。これにより、データの責任が開発者に「委ねられる」複雑な状況おいても、効果的なデータのカプセル化が保証される。
-
分散システムにおける適度な結合とは - Viadik Khononov氏のDDD Europeでの講演より
我々はこれまで、結合は悪である、と教えられていた。そのために、すべてのものを分割して、独立的に変更できる小さなサービスに分解してきた。一方で、この論法に従った結果として、”混乱の分散”に陥ることが少なくない — 先日アムステルダムで開催されたDDD Europe 2020での講演で、Vladik Khononov氏はこのように述べた。結合に抗うのではなく、システム設計を改善するための設計ツールにするように氏は提案する。
-
コンテキスト境界を考える - Nick Tune氏のDDD Europeでの講演より
システムを分割してモジュール化すべき理由はたくさんある — 先日開催されたDDD Europe 2020の基調講演で、Nick Tune氏はこのように述べた。認知負荷の低減が可能になり、独立性のある開発が実現する。ビジネスの観点からは、より詳細な投資管理ができるようになる。講演の中でTune氏は、コンテキスト境界の設定方法によって設計時のモデリング上の選択肢を多くすることができる、と論じている。
-
イベントとマイクロサービスによる実践的ドメイン駆動設計 - QCon New YorkでのIndu Alagarsamy氏の講演より
コンテキスト境界やメッセージングテクノロジといったドメイン駆動設計(DDD)の概念を使用すれば、ビジネスの変化に合わせて拡張可能な、信頼性の高いシステムを構築することができる。Indu Alagarsamy氏は先日のQCon New York 2019 Conferenceで、明確に定義されたコンテキスト境界とイベントを組み合わせて使用することによって、ビジネスの変化に柔軟に対応可能な、自律的マイクロサービスの開発について講演した。
-
マイクロサービスフレームワークのLagom 1.5がAkka Managementを導入、KubernetesとOpenShiftをサポート
マイクロサービスフレームワークLagomのバージョン1.5には、Akka Management、Akka対応アプリケーションを操作するツールセット、KubernetesまたはOpenShiftへのデプロイサポートが付属する。先日リリースされたばかりのこのバージョンは、Play 2.7.0、Alpakka Kafka 1.0、Akka 2.5.22をベースに、CouchbaseとAkka gRPCによるgRPCサポートが加えられている。
-
Michael Feathers氏の提唱する設計指針としてのエラー処理
Michael Feathers氏はエラーに関心を持っているが、ほとんどの開発者がエラーに多くの時間を割きたいとは思っていないことは理解している。氏はまた、大部分のエラー処理は一種のギブアップに過ぎない、と考えている。レガシコードでの開発作業に関する著書で知られる氏は、Explore DDD 2018で行った基調講演の中で、エラーを排除することが、いかにソフトウェアシステム設計のドライバになり得るかを論じた。
-
ドメインストーリテリングを使ってコンテキスト境界を見つけ出す
ドメイン駆動設計(DDD)による開発では、コンテキスト境界(bounded context)が重要なコンセプトとなる。ドメインストーリテリング(Domain Storytelling)とは、人々とシステムがドメイン内でどのように共同作業するのか、コンテキスト境界を識別する上で使用できるのは何か、どのように連携するのかを見出す手段である — 先日アムステルダムで開催されたDDD Europe 2018で、Stefan Hofer氏とHenning Schwentner氏はこのように説明した。
-
Eric Evans氏: ドメイン駆動設計は、以前より以上に妥当性を獲得している
ドメイン駆動設計の著者、Eric Evans氏は、2003年に書いた本のコンセプトは、14年前よりも今のほうがより現実の問題に関連していると言った。様々なツールや技術が拡張されて、そのいくつかは、私たちが過去に持っていたものよりもよりDDDの原則に合っている。「DDDは技術に関するものではないが、技術に無関係な訳でもない」とEvans氏は言った。
-
Vaughn Vernon氏はマイクロサービス内で不確実性をモデリングするためにリアクティブDDDを使用する
マイクロサービスとリアクティブシステムは順不同な到着順、重複、喪失などのメッセージに関する不確定性をもたらす。これに対する対応の仕方はビジネス上の決断であるとVaughn Vernon氏は述べ、ドメイン駆動設計の概念を用いて対処するのが最善であるとした。
-
ドメイン駆動設計のガイドライン: Capture - Embed - Protect
ソフトウェア設計と開発のガイドラインとしてドメイン駆動設計(DDD)の中核的な哲学とプラクティスを用いる場合、それはCapture — Embed — Protectという3つの原則にまとめることができる — 今年のDDD eXchangeカンファレンスで行なったプレゼンテーションの中で、Steven A. Lowe氏はこのように主張した。我々は、肯定的な行動を取るに十分な理解を得ることでドメインモデルを捕捉(Capture)し、コードや会話の中にそれを埋め込み{Embed)、他ドメイン、特に技術的なドメインによる改変から保護する(Protect)のだ。
-
Lightbendのエンタープライズアーキテクト、Kiki Carter氏がETEでInfoQに語った
Kiki Carter氏はLightbend社のエンタープライズアーキテクトであるが、2017年のEmerging Technologies for the Enterprise(ETE)カンファレンスでマイクロサービスやリアクティブシステム、ScalaとJava、SMACKスタックに対する彼女の考えをInfoQに語った。
-
ソフトウェア開発に専門分野の重要性を取り戻す
今日の業界紙を読めば,世界中のビジネス側の人たちがITについて,自分たちの足を引く邪魔者だと考えていることが分かるはずだ。この状況を克服するには,私たちが注目点をマシンからドメインへと移し,従事する分野について書籍から学ぶ必要がある - 先日アムステルダムで開催されたDDD Europe Conferenceでのプレゼンテーションの中で,David West氏はこのような指摘をした。
-
自動運転車のソフトウェア開発にモデルを使用すること
モデルは自動運転車のような自律システムのソフトウェア開発において重要な役割を果たしている。モデルは振る舞いのシミュレートや検証、システムの文書化、そしてコードを生成するために使用される。Jonathan Sprinkle氏が、自律システムで使用するモデルをどうモデリングするか、モデリングの利点、テストデータを用いてどう自動車を運転するソフトウェアを検証するか、信頼性のあるコードを記述するための技法を説明する。
-
Eric Evans氏: ドメイン駆動設計はソフトウェア開発に有益か?
この数年、ドメイン駆動設計(DDD)への関心が高まっている。Eric Evans氏はロンドンで行われた最近のDDD eXchange Conferenceにおけるキーノートで言及している。彼は開発者がもっと設計に注意を払う時期にいると考えている。理由のひとつは、モデルが高い意味を持つ分散システムを扱う仕事をしているからである。
-
DDDの世界でドメインエキスパートと働く
ドメイン駆動設計におけるドメインエキスパートと使用する言葉に関する話題は良くある。 しかし、なかなか難しい。理由は私達が話す言葉が同じではないからである。 このことは、今年既にドメイン駆動設計 欧州カンファレンスにおいて、Cyrille Martraire氏からDDDを推進する状況でドメインエキスパート達と働いた経験を共有するプレゼンテーションで説明されている。