CQRS旅 - 旅1(私たちのフィールド:Contoso社会議管理システム)

1旅:私たちのフィールド:Contoso社の会議管理システム

起点:我们从哪里来,我们带来了什么,谁将与我们同行?“

只要前进,我愿意去任何地方。” --大卫•利文斯通

この章では、架空の会社Contoso社を説明しています。これは、Contosoは、このシステムを介して他の企業や個人が自分の会議やイベントを整理し、管理することを可能にする新しいオンラインサービスである会議管理システムを、開始する予定について説明します。この章では、高レベルの、新しいシステムの非機能要件からの機能のいくつかを説明し、Contoso社が使用したい理由CQRSとイベントソーシングは、機能の一部を実装しています。どのような企業は、このプロセスを考慮したとして、Contoso社CQRSとイベントソーシングを利用しながら、特にこれが初めてで、多くの問題や課題を考える必要があります。次のセクションでは、Contosoは、その会議管理システムを設計、構築する方法をステップバイステップで表示されます。

また、この章では、開発作業を検討する専門家の架空のグループを記述します。

Contoso社の企業

Contoso社のISVは、マイクロソフトのテクノロジを使用したソリューションの開発に特化し、約20従業員との新しい会社です。Contoso社の開発者は、.NET Framework、ASP.NET MVCとMicrosoftのAzureなどのマイクロソフト製品およびテクノロジの様々な、精通しています。一部の開発者は、ドメイン駆動設計(DDD)メソッドを使用することで、以前の経験を持っているが、彼らは以前CQRSモードを使用していませんでした。

管理システムのアプリケーションを満たすことがContoso社が市場に望んでいる最初の革新的なオンラインサービスの1つです。スタートアップ企業として、Contosoは最小限のハードウェアおよびIT担当者で、これらのサービスの立ち上げを投資して開発したいです。市場シェアの拡大を開始するために、Contosoはすぐに市場に参入したいが、計画の最初のバージョンのすべての機能を実現するための時間を持っていませんでした。したがって、使用するアーキテクチャが容易にシステムの既存のユーザへの影響を最小限に抑えて変更および拡張に適応できるようにすることが重要です。Contosoは拡大し、アプリケーションのニーズに合わせて成長する能力を活用するために、Azureの上でアプリケーションを展開することを選択しました。

CQRSの旅と私たちの仲間

前述したように、このガイドおよびリファレンス実装は、添付のCQRS旅行に記載されています。専門家のチームは、我々が行った過程で私たちの開発作業にコメントします。これらはCQRSの専門家、ソフトウェアアーキテクト、開発者、ドメインエキスパート、ITの専門家や経営者が含まれます。彼らは、自分の視点からコメントします。

フィギュア ロール説明
ゲイリーは、専門家のCQRSです。彼はCQRSベースのソリューションは、企業のために働く、と具体的なメリットを提供することができます保証します。彼は慎重な男、非常に良い理由でした。

「CQRSモデルを定義することは非常に簡単です。CQRSモデルがもたらすことができます実現が常にそれほど単純ではありませんメリットがあります。」
ヤナは、ソフトウェアアーキテクトです。彼女は、アプリケーションの全体的な構造を設計しました。彼女の意見は両方実用的かつ戦略的な意義があります。言い換えれば、彼女は技術的な方法は、今も何の方向、同社の将来のニーズを考慮する必要があるかを検討するだけでなく。ヤナはDDDを使用してプロジェクトに取り組みました。

「バランスの取れた会社、ユーザーのニーズ、それは組織、開発者、そして我々は、技術プラットフォームに依存して容易ではありません。」
マルクスは、彼が初心者CQRSモードで、ソフトウェア開発者です。彼の分析、詳細指向、整然とした。彼は、当面の作業に焦点を当て、それは素晴らしいアプリを構築することです。彼は、コードのための最終的な責任の男を知っていました。

「私はあなたがアプリケーションのアーキテクチャを使用したいのか気にしない、私はそれを終えることができます。」
カルロスは、ドメインの専門家です。彼は、経営を満たすすべての詳細に精通しています。彼は、人々が会議を整理する手助け多くの組織で働いています。セールス、マーケティング、会議管理やコンサルタント:彼はまた、多くの異なる位置で提供しています。

「私たちは世界クラスのオンライン会議管理システムを提供できるように、チームがどのようにこのビジネスを理解していることを確認したいと思います。」
ポーは、展開とクラウドでアプリケーションを実行することは専門家である、プロのITスタッフです。それが呼び出されるとき、彼は実用的なソリューションに強い関心を持っている、すべての後、彼は3:00に問題の男です。

「クラウド複雑なアプリケーションで実行されているさまざまな課題や管理ローカルアプリケーションは、顔に直面していました。私は、サービスレベル契約(サービスレベルアグリーメント、SLA)私たちは、公開に合わせて必ず私たちの新しい会議管理システムを作りたいです。」
ベスは、ビジネスマネージャです。彼女は、企業が自社のビジネスを展開する方法を計画するのに役立ちます。同社の市場価値の彼女の理解は、企業が資源を持ち、同社の目標。彼女は戦略的ビジョン、だけでなく、会社の日常業務に興味を持っていました。

「同社は、多くの相反する要求でリソースの面で直面している。私たちの会社は、これらのニーズのバランスを取ると、私たちは、中・長期的に成功したビジネスプランを取ることを可能にすることができることを確認したいです。」

あなたが特定の分野に興味があるなら、あなたは専門家からの意見と一致し、あなたの興味を表示することができます。

Contosoの会議管理システム

このセクションでは、Contoso会議管理システムを導入するように設定されている旅の始めにチームに従います。チームはCQRSモードの前に使用されたことがないので、私たちは旅の終わりに届けるシステムが完全ので、この記述に適合しないことがあります。

  • 私たちは私たちの最終的な配信に影響を与える可能性があり、物事を行うことによって学びます。
  • 我々が利用可能な時間内に終了することができるもの推定することは困難である、学習プロセスです。

システムの概要

Contosoは、オンライン会議管理システムを作成する物理的な場所で開催された会議を計画し、管理するために顧客を可能にする予定です。システムでは、Contosoに顧客を可能にします:

  • 経営会議の席の販売の様々なタイプ。
  • 会議を作成し、会議の機能を定義します。

Contosoの会議管理システムは、マルチテナント、クラウドでホストされたアプリケーションになります。ビジネスのお客様はミーティングを作成および管理する前に、システムに登録する必要があります。

会議座席販売

空席の顧客が定義したビジネス会議の数。ビジネスのお客様にも、アクティブなセッションを指定することができ、このようなセミナー、カンファレンス、ハイレベルの会合として、参加者は、別のチケットを持っている必要があります。ビジネスのお客様は、これらの活動のために利用できる座席数を定義します。

座席販売管理システムは、子の活動や集会がオーバーサブスクライブしないことを確認します。他の参加者がキャンセルした場合自分の席を割り当て直すことができるように、システムのこの部分はまた、待機リストに実行されます。

座席は、参加者が会議のサイトに到達したときに自分のサイトのためのバッジを印刷するには、発注システムに関連した参加者に名前を付けるように求められます。

会議を作成します。

ビジネスのお客様には、新しい会議を作成し、そのような会議名、説明、および日付などの会議に関する情報を管理することができます。ビジネスのお客様にも会議を公開することができ、会議はウェブサイトContosoの会議管理システム上で見ることができ、あるいは未発表のミーティング非表示にします。

また、ビジネスのお客様にも、ミーティングの各タイプと利用できる座席数を定義することができます。

Contosoは、次の特性の会合を指定できるようにするために企業顧客を有効にすることを計画します:

  • 論文提出プロセスは見直しが必要かどうか。
  • 料金体系はどのような。
  • プロジェクトの会長、イベントプランナー:などのキーパーソンは、誰

非機能要件

その会議管理システムは、2つの主要な非機能要件があるContoso社:拡張性と柔軟性を、これら二つの要件を満たすためにCQRSモード期待されています。

スケーラビリティ

会議管理システムは、クラウドでホスティングされます。Contoso社のクラウドプラットフォームを選択するための一つの理由は、拡張性と弾力性のためにその可能性があります。

このようAzureのはアプリケーションロールのインスタンスを拡張する追加(または削除)することができますが、あなたはまだ拡張できるようにアプリケーションを設計する必要があります。などが、クラウドプラットフォーム 多くのアプリケーションでは、読み取り操作の数ははるかに書き込み回数を超えています。別個のオブジェクトとして、アプリケーションの書き込み動作を分割して、ContosoのCQRSモード動作が互いに独立して拡張することができる別のAzureロールにこれらを分割することを可能にします。これは、Contosoは、より効果的に会議管理システムを展開し、それを使用して、より良い使用Azureのロールインスタンスを作成する機会を持っていることを意味します。

柔軟性

市場競争のContoso会議管理が非常に強く、システム、および非常に急速な発展。競争するために、Contosoは迅速かつ効果的に市場の変化に適応するための会議管理システムを作ることができなければなりません。柔軟性のためのこの要件は、いくつかの関連分野に分けることができます:

  • システムは、新たなニーズを満たすために進化し、市場の変化に対応できなければなりません。

    ベス(ビジネスマネージャ)声明:

    Contoso社が競争する市場の変化や顧客のニーズに迅速に対応することを計画しています。Contosoは迅速かつ容易に向上させるためにシステムを拡張できなければなりません。

  • システムは、顧客がミーティングに来て使用していて、すぐにクライアントの新しいバージョンにアップグレードする必要はありませんサポートするために、ソフトウェアの複数のバージョンを実行できなければなりません。他の顧客は、新しいバージョンのソフトウェアに新しい会議のバージョンに、既存のデータを移行する利用できる場合があります。

    ポー(IT運用・保守)の文:

    まだプロセス内で実行されているすべての顧客で実行しているシステムをアップグレードする:これは大きな課題です。

  • Contosoは、少なくとも5年間のソフトウェアを使用できるようにしたいと考えています。この期間中に大きな変化に適応できなければなりません。
  • Contosoは、システムのいくつかの部分の複雑さは、将来の変化に障害になる必要はありません。
  • Contosoは、システムの開発の重要な部分のための安価な開発者を使用して簡単なタスク、より高価なより多くの経験を積んだ開発者、システムのさまざまな部分を開発する開発者のさまざまなレベルを使用することを望んでいます。

    ゲイリー(CQRS専門家)ステートメントは:

    CQRSは、異なる開発チームが実際には異なる部分に使用し、コミュニティでのいくつかの論争がありますが、あなたはCQRSモードを実現することができます。

CQRSの旅が始まろうとしています

次の章では、私たちの旅CQRSの始まりです。これは、Contoso会議管理システムの詳細情報を提供し、システムの高度な部品のいくつかを説明します。以降のセクションでは、会議のContoso管理システムの実現のプロセスを説明します。

おすすめ

転載: www.cnblogs.com/angrymoto/p/cqrs-journey-day1.html