Case Study of Gizmo Wrap (GW) - XML

Gizmo Wrap (GW) is a small retail store based in New York. GW specializes in selling expensive electronic devices, such as digital cameras, surveillance equipment, and robot kits. The organization has a small clientele for its brick and mortar business. GW wants to expand its horizons by increasing its clientele, and therefore, its revenues. To do this, the organization has gone online and will now sell its range of products on the Internet.

Although the site was hosted a few months back, the developers are still working on the site to enhance it. The developers created the site by using ASP for the Windows 2000 platform. In addition to ASP, the developers used the ATL Server library to construct parts of the site where performance was a critical issue. You learned in "Introduction to the ATL Server," about how the ATL Server can be used to create performance intensive applications.

The GW site maintains a log of the visitors to the site. After analyzing the data in the log, GW senior management realized that most of the visitors were their existing customers or 230 sometimes, the people who were recommended by their existing customers. This is because GW is a small store in a niche market with little visibility.

The senior management at GW realized that one way to increase the visibility and the revenue of the organization was to advertise heavily on the Internet. Until now, the publicity of GW was limited to a few advertisements in the local print media. The management of GW was aware of the high cost that most retail shops spent on advertising, but they never thought of doing the same. However, after putting up the Web site, GW thought of increasing the sale of their products by advertising on the popular sites.

In addition, the management thought of using another strategy to increase its sales. They decided to sell their product range on other popular sites, including horizontal portals, news sites, and so on. The reason for doing this was to make their products visible among the high number of visitors to these sites. They also realized the importance of having an associate program that could promote their products on a site with high visibility. To do this, GW created an associate program that involved selling their products by positioning them on other sites.

According to the program, when a sale was made on another site, the owner of the site would earn a commission from GW. GW realized that having a program like this would involve sharing of information about their products with other sites and also enabling a customer to place an order for the product from the associate's site. To do this, they needed to integrate their data with the associate site.

They could share the data by replicating their products database and distributing it to the associate sites. However, replicating the data for various databases that the associate sites used could be tedious and costly. In addition, whenever GW would make a change to its databases, the changes would need to be replicated across the databases of all associate sites. However, replication of the changes could happen only at regular time intervals, which would affect the integrity of the data because the data in the GW database and their associate sites would be different at some point in time.

As a solution to the previously discussed problems, the development team at GW decided to expose their data as a Web service. In addition, the team decided to create a Web service that could accept orders from the visitors of the associate sites.

The management at GW realized the advantages of using Web services and suggested that the development team incorporate Web services with their Web site.

The GW development team has competency primarily in C++; therefore, it plans to create the Web service by using the ATL Server.

Having discussed the scenario for which the development team will create the Web service, we will next discuss the project life cycle that the team followed to create the GW Web service.

Project Life Cycle

The development life cycle of a project, as discussed in Chapter "Creating an ASP.NET Web Service," involves three phases:

  • Project initiation
  • Project execution
  • Project deployment

You are already familiar with these phases; therefore, we will discuss only the project execution phase, which involves creating the design and the project.

The Project Execution Phase

The project execution phase involves designing, creating, and testing of the project. In addition, the team decides on the features of the application, which are as listed:

  • The application needs to be installed on the Web site of GW.
  • The Web site of GW runs on a Windows 2000 server.
  • The Web site does not use the .NET Framework.
  • The application should allow an associate member to display the product details on their site.
  • The application allows customers to place an order on an associate Web site.
  • The data for the site is currently being stored in an SQL database.

You will now look at the tasks that the development team performs in the project execution phase:

  • Requirements analysis
  • Design
  • Construction
  • Testing

In the subsequent sections, we will detail the tasks that the team performs in each of these stages.

Requirements Analysis

During the requirements analysis phase, the development team at GW identified the need for the Web services application. The details of the requirements are gathered from the input that senior management at GW provides and the problem statement as listed by James Shatner, the CEO of the organization. The problem statement is as follows:

GW needs to provide its associate sites with their product data so that the associates can host the data on their sites. This would make the products of GW popular among the visitors of the associate sites. Therefore, the visitors can place orders for desirable products on the associate sites.

Then, the development team performed a detailed analysis of the requirements of GW and came up with the following results:

  • The Web service should run on a Windows platform other than .NET.
  • The Web service should expose methods that allow a client application or Web site to access the product details and then place an order.
  • Depending on the associate site, the Web service should expose product IDs of selective products to the associate site.
  • Depending on the product IDs, the Web service should provide the details of the respective product to the associate sites.

On further discussions with the GW management, the development team realized that GW did not want to expose its entire catalog. Instead, the team planned to share the details of a few of their products with their associates. GW currently promotes a feature product each month and offers discounts on it. GW wants the associates to be able to access this product's data and promote it on their site.


During this phase, the development team decides the functionality that the Web service will implement and the technology to be used. The design specifications of the product are as listed:

  • The data to be exposed to the associate sites should be stored in an SQL 2000 database. The data for the original GW Web site is also stored in an SQL database.
  • Because the team has competence in Visual C++, it was decided that the Web service would be developed using Visual C++ .NET and the ATL Server library.
  • The associate site can access the data through stored procedures created in SQL.
  • The entire business solution will contain three Web services: to return the details of the featured product of the month, to return the details of products whose ID is exposed to the associate site, and to enable a client application to place an order for a product.


During this phase, the development team constructs the application. The primary tasks that the team needs to perform in this phase are as follows:

  • Design and create the database.
  • Design and create the stored procedures.
  • Create a Web Service application by using the ATL Server library in Visual C++. NET.


You can test a Web service by calling it from a client application. The development team plans to create a client application in Visual Basic .NET and then, request the Web service from the client application.

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd Protection Status

XML Topics