CQRS Journey - Journey 1 (our field: Contoso conference management system)

1 journey: our field: Contoso conference management system

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

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

This chapter describes a fictitious company Contoso. It describes the Contoso plans to launch the conference management system, which is a new online service that allows other companies or individuals through this system to organize and manage their meetings and events. This chapter describes some of the features from high-level and non-functional requirements of the new system, and why Contoso wants to use CQRS and Event Sourcing implement some of the features. As with any company considering this process, there are many issues and challenges need to think about, especially this is the first time while using Contoso CQRS and Event Sourcing. The following sections will show step by step how Contoso is to design and build its conference management systems.

In addition, this chapter describes a fictional group of experts to review the development work.

Contoso company

Contoso ISV is a new company with about 20 employees, specializing in developing solutions using Microsoft technology. Contoso developers are familiar with a variety of Microsoft products and technologies, including .Net Framework, ASP.NET MVC and Microsoft Azure. Some developers have previous experience in the use of domain-driven design (DDD) method, but they were not previously used CQRS mode.

Meeting Management System applications is one of the first innovative online services Contoso wants to market. As a start-up company, Contoso want to invest and develop the launch of these services with minimal hardware and IT personnel. In order to begin to expand market share, Contoso want to quickly enter the market, but did not have time to realize all the functions of the first version of the plan. Therefore, it is important that the architecture it uses to be able to easily adapt to changes and enhancements with minimal impact on existing users of the system. Contoso choose to deploy applications on Azure, to take advantage of its ability to expand and grow with the needs of the application.

The CQRS trip and our peers who

As mentioned earlier, this guide and reference implementation are described in the accompanying CQRS trip. A team of experts will comment on our development work in the process we conducted. These include CQRS experts, software architects, developers, domain experts, IT specialists and business managers. They will comment from their own perspective.

character Role Description
Gary is an expert CQRS. He ensures CQRS-based solutions can work for the company, and provide tangible benefits. He was a cautious man, a very good reason.

"Define CQRS model is very simple. CQRS benefits realization model can bring is not always so simple."
Jana is a software architect. She designed the overall structure of the application. Her views are both practical and strategic significance. In other words, she not only consider what technical methods now need to also consider what direction the company's future needs. Jana worked on projects using DDD.

"Balanced company, needs of users, It organizations, developers, and we rely on technology platform is not easy."
Markus is a software developer, he is a novice CQRS mode. His analytical, detail-oriented, methodical. He focused on the task at hand, that is to build a great app. He knew he was the man ultimately responsible for the code.

"I do not care what you want to use architecture for the application, I can finish it."
Carlos is a domain expert. He is familiar with all the details of meeting management. He has worked in many organizations helping people organize the conference. He also served in many different positions: sales, marketing, conference management and consultants.

"I want to make sure the team understand how this business so that we can provide world-class online conference management system."
Poe is a professional IT staff, deploying and running applications in the cloud is an expert. He has a keen interest in practical solutions, after all, he is the man in question at 3:00 when it will be called.

"Different Challenges and manage local applications running in the cloud complex applications faced face. I want to make sure our new conference management system in line with service level agreements (service-level agreements, SLA) we published."
Beth is a business manager. She helps companies plan how their business will develop. Her understanding of the company's market value, the company has the resources, and the company's goals. She had a strategic vision, but also interested in the company's daily operations.

"The company is facing in terms of resources with many conflicting demands. I want to make sure our company can balance these needs and allow us to take a successful business plan in the medium and long term."

If you are interested in a particular area, you can view your interest consistent with comments from experts.

Contoso conference management system

This section will follow the team at the beginning of the journey is set to introduce Contoso conference management systems. The team has never been used before CQRS mode, so the system we deliver at the end of the journey may not be fully fit this description, because:

  • Learning by doing things we could affect our final delivery.
  • This is a learning process, it is difficult to estimate what we can finish within the time available.

System Overview

Contoso plans to create an online conference management system, enable its customers to plan and manage conference held in physical location. The system will enable customers to Contoso:

  • Management meeting different types of seat sales.
  • Create a meeting and defining feature of the meeting.

Contoso conference management system will be a multi-tenant, cloud-hosted applications. Business customers need to register in the system before creating and managing meetings.

Meeting seat sale

The number of available seats customer-defined business meeting. Business customers can also specify the active session, such as seminars, conferences and high-level meetings, participants must have a separate ticket. Business customers also defines the number of seats available for these activities.

The seat sales management system, to ensure that no child activities and meetings oversubscribed. This part of the system will also perform on the waiting list, so that if the other participants canceled their seats can be reassigned.

Seat will be asked to name the participants associated with the purchase order system to print badges for their site when participants reach the meeting site.

Create a meeting

Business customers can create a new conference, and manage information about the conference, such as the meeting name, description and date. Business customers can also publish the meeting, the meeting can be seen on the website Contoso conference management system, or to hide meeting unpublished.

In addition, business customers can also define each type of meeting and the number of available seats.

Contoso plans to enable business customers to be able to specify a meeting of the following characteristics:

  • Whether the paper submission process needs review.
  • What kind of fee structure.
  • Who are the key personnel, such as: Chairman of the project, event planners

Non-Functional Requirements

Contoso its conference management system has two main non-functional requirements: scalability and flexibility, it is hoped CQRS mode to help it meet these two requirements.

Scalability

Conference management system will be hosted in the cloud. One reason for selecting Contoso cloud platform is its potential for scalability and elasticity.

Although cloud platforms such as Azure allows you to add (or delete) to extend the application role instance, but you still have to design your application to be extensible. For many applications, the number of read operations far exceeds the number of write operations. By dividing the write operation of the application as a separate object, Contoso CQRS mode allows operations to divide these into separate Azure roles that can be extended independently of one another. This means that Contoso have the opportunity to more effectively expand conference management system, and make better use Azure role instance it uses.

flexibility

Market competition Contoso conference management system which is very intense, and very rapid development. To compete, Contoso must be able to quickly and effectively make the conference management system to adapt to market changes. This requirement for flexibility can be divided into several related areas:

  • The system must be able to evolve to meet new needs, and react to market changes.

    Beth (Business Manager) statement:

    the Contoso plans to respond quickly to market changes and customer needs to compete. Contoso must be able to quickly and painlessly expand the system to improve.

  • The system must be able to run multiple versions of the software to support customers are using come to the meeting, and do not want to immediately upgrade to the new version of the client. Other customers may want available to migrate existing data to the new conference version in the new version of the software.

    Poe (IT operation and maintenance) statement:

    This is a huge challenge: to upgrade a running system in all customers still running in the process.

  • Contoso wants to be able to use the software at least five years. It must be able to adapt to major changes in this period.
  • Contoso does not want the complexity of some parts of the system become an obstacle to future change.
  • Contoso wants to use different levels of developers to develop different parts of the system, a simple task using inexpensive developers, more expensive more experienced developers for a key part of the development of the system.

    Gary (CQRS expert) statement:

    There is some controversy in the community CQRS, different development teams use on different parts In practice, you can achieve CQRS mode.

CQRS journey is about to begin

The next chapter is the beginning of our journey CQRS. It provides more information about Contoso conference management system, and describes some of the advanced parts of the system. Subsequent sections describe the process of realization of the meeting Contoso Management System.

Guess you like

Origin www.cnblogs.com/angrymoto/p/cqrs-journey-day1.html