Friday, August 17, 2007

BizTalk Case study – A Ticketing System (Part 1)

Introduction:


Couple years ago, I was taken as consultant to solve a business problem of automating a concert ticketing process. During the implementation of this application I learnt lot good things about asynchronous communication, ordered processing and reliability. In this article, I will take you through the entire project life cycle of this application. During this I will try to avoid non relevant details and stick to the usage of BizTalk and web services; and make it as interesting as possible. I will use a fictitious ticketing web application named mytickets.com in the article.

Overview:


Mytickets.com is nation-wide Rock concert ticket selling company. It caters it’s customers by selling concert tickets through it’s ticketing web application. Like any reservation system, it has a internet web application for customers who go through a series of steps before they confirm their ticket.

Usage scenario:


The above scenario is a very common one. But, what happens underneath in the system is complicated. To avoid the unnecessary details I will walk you through the following critical usage scenario of the Ticketing system:
- System shows the concert listing and inventory to the customer.
- Customer selects the tickets for a specific concert.
- Customer Logs into his/her profile.
- Customer puts credit card information, and personal billing information
- System sends an immediate conformation which says – “ Your request
is under consideration, here is your conformation number, and we will send an email with the tickets in few minutes.”
- At some point later user gets another email with either confirmation or
Failure notification (Email).
Let’s delve into the details of this.
1. Generation of Confirmation number & Priority number

System has to generate a confirmation number and a priority number for every customer request. Confirmation number will be used by the customer to track his request with mytickets.com, incase the second email(ticket Confirmation email) does not arrive on time, and also for any other clarifications. Priority number tells the customer that his ticket is being processed in the order in which the requests have arrived, and his request is located at the n th location in the queue. For example, he is the 16th person to request for the concert. This will also protect mytickets.com from any law suites by customers for out of order processing of requests. Ticketing system uses an internal web service to create a confirmation and priority numbers.


2. Sending first E-mail to the customer

Just after receiving the confirmation and priority numbers an email is sent to the client that says - “ Your request is under consideration, here is your conformation number and priority number, and we will send an email with the tickets in few minutes.” This e-mail is sent by the ticketing web application. SMTP service of IIS server can send the email to the customer. (Refer to Previous Sequence Diagram)
3. Processing the request and sending the confirmation e-mail to the customer

The customer’s ticket request is processed in the order arrival. His credit card and address are verified. If the initial validation fails then, a failure e-mail is sent to him immediately. Otherwise, after the initial validation, availability of seats for the selected concert is verified. If the seats are available then the inventory is updated and a confirmation email is sent to the user. This process is complicated and also the system needs to process the request orderly fashion based on priority number. The design of the process also needs to consider the high volume scenario. (Consider buying tickets for “Rolling Stones” Concert) and reliability. So BizTalk is used to take care of the purchase process.



The architecture of the ticketing application looks as below:



In the part 2 of this posting I will walk you through the implementation of this system.

2 comments:

Anonymous said...

viagra lawyer columbus viagra buy price iframe viagra cheap viagra and hearing loss viagra pills free trial of viagra viagra sample viagra prices buy viagra in canada 2007 viagra hmo viagra price comparison cheap viagra nz viagra uterine thickness viagra for sale without a prescription

Anonymous said...

Can anyone recommend the top performing Endpoint Security software for a small IT service company like mine? Does anyone use Kaseya.com or GFI.com? How do they compare to these guys I found recently: N-able N-central desktop management
? What is your best take in cost vs performance among those three? I need a good advice please... Thanks in advance!