gasTix: A Sample .NET e-Business
- Introducing gasTix: The Sample Client
- Architecting the System
- Web Site Flow
- Project Design and Approach: The Microsoft Solutions Framework
- From Here
Introducing gasTix: The Sample Client
The sample application being showcased for this book is a Web site handling ticket-selling operations for a fictitious company, gasTix. This section introduces this company and the requirements of the system to be developed.
Background
gasTix was created as a merger of several other fictitious regional ticket sellers joined together to form a national presence in the ticket-selling market. As part of this newly formed organization, the company decided it needed a new ticket selling system to meet these needs:
Move each of the disparate companies to a standard platform.
Aid in streamlining business processes in a standard set of procedures.
Promote a new single brand and identity for the ticket seller country-wide.
The company has managed to sign exclusive deals for selling tickets to major venues throughout the country. To maximize profits, this company wants to make the ticket sales available through the largest number of outlets available, including a Web site. Potential sources for selling the tickets are as follows:
Internet users—The new company Web site should enable users to purchase tickets for any of the venues that the company sells for.
Phone sales—Customers should also be able to call a central phone number to purchase tickets.
Kiosks—Customers could purchase tickets from kiosks located in key locations such as nightclubs and airports. These kiosks could also include information about events.
Venue box offices—Many users will want the ability to purchase tickets directly at the venue.
Retail box offices—Various retail stores can provide additional outlets for buying tickets in person.
Internet partners—gasTix plans to actively look for partners on the Internet so that tickets can be purchased from other sites than just the gasTix main site.
Wireless services—The company also wants users to be able to buy tickets using devices such as cell phones.
Problem Statement
The problem statement identifies the business issue that the potential solution is trying to solve.
gasTix currently uses several ticket-selling and administration systems resulting in the following problems for the company:
Information is distributed across each of the systems, which limits the company's ability to perform centralized progress and financial reporting.
Different business processes are used throughout the company, which limits the company's ability to streamline operations.
Because of limitations in each of the current legacy systems, the ability to expand ticket sales to a larger number of alternative outlets is limited.
Future plans for expanding the company oversees or into merchandise sales are on hold until a more robust system architecture is established.
Vision Statement
The vision statement provides a short description of the solution that this project is promoting. The vision statement for gasTix is as follows:
To build a state-of-the-art Web site and ticketing engine to provide gasTix with a single application for managing ticket sales while opening up sales to the largest number of outlets possible.
Solution Concept
The solution concept presents the general approach planned for implementing the vision statement. The solution concept for gasTix is as follows.
The gasTix team has elected to build a new system from scratch to take advantage of all that the Internet has to offer. Not only would it allow potential customers the largest variety of options for purchasing the tickets, but it would also provide the most flexible implementation for combining disparate systems to provide gasTix with an enterprise-wide solution. In general, the following steps were planned:
Develop a gasTix ticketing engine that can support ticket purchases from a variety of sources.
Develop an interface for each of the various ticket purchasing options to take advantage of the engine.
Interface with a separate fulfillment system that handles printing and mailing tickets to online customers. Box offices will have their own ticket printing system locally. Also, the ticket needs to be available at the box office rather than through mailing when there is not enough time to mail the ticket to the purchaser.
Interface with an accounting system in order to track general ledger information.
NOTE
Of course, there are other potential solutions such as picking one of the legacy systems and modifying it for company-wide use. These alternatives were not seriously considered for this book partly because any existing system probably would not provide the best foundation for future development and partly because the foundation for this book would not exist. Some type of cost-benefit analysis should be performed in order to select the best solution for any organization's needs.
A key to successfully planning this project is trying to understand gasTix's overall priorities. One useful technique for discussing those priorities lies in the use of a project trade-off matrix (see Table 2.1). The following matrix defines the trade-off expectations for the development project and is used to guide the change management decision process. To properly fill in the matrix, the following rules must be followed:
One column must be checked in each row indicating how that attribute will be managed.
No column can be checked more than once in order to avoid conflicting strategies.
Table 2.1 Project Trade-Off Matrix
|
Constrained |
Optimized |
Negotiated |
Resources |
|
X |
|
Ship date |
X |
|
|
Features |
|
|
X |
Here are definitions of the trade-off terms listed in Table 2.1:
Resources—Cost of the project
Ship date—The date the system goes online
Features—The capability of the system
Constrained—The parameter is tightly specified
Optimized—The parameter is bound within a range
Negotiated—The parameter is free for negotiation
In Table 2.1, the project's ship date is constrained, which means that gasTix corporation has decided that rolling out a new system in a timely manner is its highest priority. Its need to get its business units on a common platform is important enough that there is limited room for negotiation on the final ship date. As always, costs are important for the company to control. As a result, the costs of the project needed to be as low as possible, but there is room for negotiation if the additional cost is justified to help meet the ship date. In return for these requirements, gasTix recognizes that there must be room for negotiating the feature set and that not all the desired functionality will likely be on the site.
Inevitably, some features will not be implemented in each of the product increments. The benefits delivered by releasing the product in a timely manner outweigh the opportunity cost lost to a feature's absence. This strategy is sometimes characterized by the phrase "shipping is a feature."
Business Goals
The business goals of a project define how the project will benefit the company. The overall business objectives that this project addresses are as follows:
To position gasTickets.com as the premier ticket provider for venues in the United States.
To provide customers the greatest flexibility in terms of locations for obtaining tickets for a concert or event of their choice.
To enable partnering with outside companies to provide additional outlets for ticket sales.
To reduce administrative costs across the company by providing a common platform for purchasing tickets and administering the ticket system.
To position the company to easily branch out into new ventures, including overseas operations and selling of event-related merchandise and memorabilia.
To build the foundation for using historical data to track, analyze, and predict sales trends across the enterprise by regional sales, seasonal patterns, and so on.
Design Criteria
Design criteria identify constraints that limit how a project can be developed. Such constraints can be technical, operational, or organizational in nature. The following lists outlines the overarching design criteria used to guide this project:
Demonstrate how to use .NET in building a fully functioning application.
As this is a public-oriented Web site with customer credit card information, ensure that the system is as secure as possible.
Ensure the capability to scale in order to handle high demand when popular concerts go on sale.
Ensure code base is effectively managed and versioned to reduce maintenance and administrative costs including all source code, database schemas, and implementation plans as a minimum.
The application will have to interface with several external systems. Ensure that the interfaces are prepared to reduce the costs associated with maintenance and interoperability.
Design the system so that the major components are as loosely coupled as possible so that portions of the system can be replaced or upgraded without having to rewrite the whole application.