Retail Industry OBAs


Moin Moinuddin

Microsoft Corporation

December 2006


Providing Real-Time Information
Retail Composite Applications


Retailers are faced with the enormous challenges of globalization, regulation, growing costs, and demanding customers. In addition to these changing market conditions, there are now multiple channels to reach customers. All of this increases the need for flexibility and agility in the business applications. However, at a time when competition is keenly interested in buzzwords like agility and adaptability, businesses are confronted with systems seemingly built of steel and cement. Businesses are stuck with applications which were developed as though things would never change. These applications become more expensive and cumbersome each time organizations tweak them to fit new business imperatives. Unfortunately, this leads to less materialization of automation because systems require constant human intervention and IT development. All too often, the alignment of technology with business objectives gets bogged down by integration problems and progresses no further than the white board.


Figure 1. Retailers under pressure from different angles

Figure 1 also shows another form of pressure: embracing emerging technologies to enhance the overall experience of the customers and improve efficiency within the organization. These pressures are forcing retailers to rethink their overall strategies. Current legacy systems—either in store or at the corporate headquarters—were designed and implemented many years back, and retailing has moved on since then. These legacy solutions tend to be uni-functional. For example check-out systems remain single-purpose devices, and even though new point-of-service (POS) solutions offer inventory management, price optimization, and customer management some retailers are still only using POS devices to check-out the customer.

In addition, current retail solutions are built as separate siloed systems. Brick-and-mortar retail channel runs independently from the e-commerce channel, which runs independently of the catalog base-order management system, and so on. However, customers are increasingly using the stores to touch and feel the products but ordering the products from e-commerce sites. As broadband availability becomes pervasive, the distinction between different channels is blurring. Customers are expecting the same experience irrespective of how they shop. They expect their preferences and customer information to be carried between the channels and expect to accrue loyalty points across all channels.

Current retail solutions pose many challenges in providing a seamless customer experience across multiple channels and providing information where it is needed. Some of the most common challenges are:

  • Lack of applications that can pull together the information gleaned from stores and other channels.
  • Heterogeneous systems built using different platforms.
  • Silo-ed applications with minimal or no integration between them.
  • Lack of real-time business intelligence software that provides real-time KPI indicators for decision making.
  • Tightly coupled point-to-point integration.
  • Duplicate customer data from each channel maintaining its own customer data.
  • Lack of product inventory visibility across channels.

So, what is the solution? SOA is leading the way to help in this area. However, the challenge is not just limited to integration of different applications in a loosely coupled fashion, it goes beyond that. It is about providing the right information at the right time and at the right place, based on the role of the owner and context of the task. In addition, it is about providing this information in a format that workers are already used to. For example, it means getting sales information in near real time to the store managers, regional managers, and merchandising managers in the corporate headquarters. Another area is the availability of product information to the sales agents.

Making information available in near real time requires systems that can generate near real time data, transmitting the data in near real time to the right place, and building applications that can consume data in near real time.

Providing Real-Time Information

A typical retail enterprise has many moving parts that keep the enterprise running. These different systems are housed and run in different parts of the organization. For example, in the retailer's enterprise headquarters, there are systems such as supply chain management, store planning, warehouse management, CRM, ERP, HR, and so forth. These different applications are built using technology ranging from DOS, to mainframe, to proprietary platforms. For the enterprise to function smoothly, these disparate systems need to work together to produce and consume messages. Today this is accomplished through tightly coupled integration between these applications. This prevents the enterprise from plugging in new applications without significant investment in yet another tightly coupled solution. Slowly, but steadily, enterprises are realizing the benefits of SOA and turning to it, so that they can replace their legacy applications in an incremental fashion without having to rip and replace all of the systems.

With service orientation, one of the key issues to address is integration of the disparate systems in a loosely coupled fashion. This helps in getting the data in real time to the right application. However, this does not address the problem of what happens when the data is received, how best to consume it, who can consume it, and so on. These aspects are left open and enterprises are looking for a solution to deal with it. One way is to build custom user interfaces where data from different applications is brought together to provide the functionality required by the user. However, this requires building custom applications from the ground up; training the users; and huge maintenance costs as every time a new functionality is required. It demands custom work. Whereas, if the most familiar application to the user (such as Microsoft Office) is used as the interface where data from different applications, systems, and data sources is brought together for presentation, it reduces the cost of training, as well as the maintenance expense.

As explained in the beginning of this book, 2007 Microsoft Office System comes with capabilities to build custom applications which provide the relevant information within the most familiar interfaces. It provides the Open XML file format, extensible UI, the Business-Data Catalog (BDC), business intelligence capabilities, and communication and collaboration through workflow (WF). These standard capabilities of the 2007 Microsoft Office System help in assembling what is described as composite applications. Different tiers of composite applications were described earlier, most critical of which is the presentation tier. Traditionally, there was little to no focus on this important tier. The presentation tier is where the end user interacts with the applications; and if this tier is not well thought out—no matter how stable, scalable, and reliable the back-end application might be—it does not enhance productivity of the end user.


Figure 2. Retail-application tiers

Composite applications are great way to surface information out of service-oriented-architecture. Having different LOB applications such as inventory management, replenishment, sales information, and so on exposed as services makes it easier to build support for cross-functional processes into a composite application. This ability to surface data from LOB applications helps in providing the right data to the right user at the right time at the right place. This is also based on the context and user privileges. For example, information can be either hidden or exposed based on context such as user credentials, scheduled tasks, benefits information (HR), and training information (which training they have completed and which they have not). This helps in improving overall efficiency and productivity at a retailer.

Retail Composite Applications

Providing a compelling user experience depends not only on service delivery and flexible workflows, but also on the ability to consume services and interact with the workflows in a rich meaningful way. Service consumption needs to be contextual, mapping to the natural workflow of employees and customers. There are, of course, some traditional ways to provide this which span from smart clients to Web applications. However, providing an experience to the information worker which is based on familiar tools makes a huge difference. Also, a technology which can support both offline and online scenarios is a great addition.

Enterprise Collaboration

In retail, enterprise collaboration between stores and corporate headquarters plays a critical role. Current collaboration tools range from snail mail, phone, and fax to e-mail. Some of these tools are good for unstructured communication. However, for structured collaboration these tools fall short. So, what ends up happening is the structured collaboration is accomplished pretty much manually. Figure 3 shows the some of the manual collaboration tools.


Figure 3. Current collaboration tools

OBA with its powerful component capabilities can help in capturing and automating the collaboration steps and process. For example the new office client applications come with customizable containers that can easily surface information and functionality from LOB applications through custom tasks, ribbons, and activities that present users with data and actions in the context of their current activity. Microsoft Office SharePoint Services (MOSS) comes with many key components to enhance overall productivity in the collaboration area. The WF engine of the 2007 Microsoft Office System helps greatly in managing the processes of collaboration. When a promotion is planned, the category manager or marketing manager creates the promotion and associated document libraries. As shown in Figure 4, the store manager then associates the library with a particular workflow, which triggers actions for the store managers. These actions are to review the promotions and provide feedback. Currently, this feedback is collected via e-mail, fax, phone, or other forms of ad hoc tools. However, with the 2007 Microsoft Office System, the store manager receives the promotion details in the Microsoft Office client with custom ribbons and panes based on the context of the work. Updates are made to the promotion and once the document is resubmitted, it then triggers an action for the marketing manager, or others based on the workflows.

Click here for larger image

Figure 4. Collaboration with Microsoft Office SharePoint Services (Click on the picture for a larger image)

This same information can also be surfaced using 2007 Microsoft Office System Web Parts in a store manager dashboard. Figure 5 shows some examples of Web Parts in a retail enterprise.

Click here for larger image

Figure 5. Examples of some Web Parts in retail (Click on the picture for a larger image)

Collaboration between corporate headquarters and the store happens for promotion management. Typically, the promotion is created by the marketing manager in Office Excel, then a document library is created, and the promotion document is associated with a workflow. Office SharePoint Services triggers the workflow which creates tasks for all the store managers where the promotion will be offered. All the store managers get alerted about the new task. Store managers can get to the task of reviewing the promotion and providing feedback based on the availability of time and their own schedule. Office SharePoint Services offers complete version control of the document to track the changes made by the store managers.

The managers review the promotion, update it, and save it to the SharePoint server. This triggers the workflow to alert the marketing manager to review and accept or reject the changes selectively as made by the store managers. As a result, the marketing manager completes the promotion by collaborating with the store managers much more quickly and without losing information. Store managers get the flexibility to review the promotion in their free time as opposed to being forced into a conference call or fit into someone else's schedule. This improves overall productivity of the manager and efficient use of his/her time.

Click here for larger image

Figure 6. Collaboration using MOSS (Click on the picture for a larger image)

As shown in the Figure 6, this architecture enhances the overall collaboration between the store and the corporate office. This also automates the process of collaboration where all the steps of the process are captured by the Office SharePoint Server. Documents are managed and workflows ensure the proper process is followed. In absence of this automated collaboration, the same process would usually require many e-mails or faxes. In other words, a frustrating and very inefficient way to collaborate!

Earlier, we took one example of collaboration to showcase the capabilities of MOSS. However, in retail there are many scenarios where collaboration is needed between stores and the corporate office. Labor scheduling, training, category management, and so on are other areas where collaboration is very critical for the overall operation of the retail enterprise.

Retail dashboards

Dashboards in the retail space are becoming a norm. Many retailers present everything employees need directly on their dashboards, whether they need real-time stock levels, price lookups, merchandizing information, or online training and HR profile updates. For example, a store manager prefers a dashboard that is custom-built for the store manager's duties. Similarly, others such as the regional manager, store employees, and corporate employees all need their own custom dashboards which make it easy for them to perform their job. These custom dashboards can be from the built ground-up as a custom application. However, they will not be flexible enough and will require huge maintenance when information changes. In comparison, dashboards built by assembling Web Parts are easy to build and change.

There are typically many LOB applications in an enterprise such as merchandising applications, ERP, HR, and so on. Surfacing appropriate information from these applications is very much required by the manager and employees based on their role. The 2007 Microsoft Office System comes with the BDC that runs within the server as a shared service. It can read data from multiple types of data sources—databases, analysis services, cubes, and Web services—and then surface this back into the portal through Office SharePoint tables and lists.

Click here for larger image

Figure 7. Example store manager dashboard (Click on the picture for a larger image)

As Figure 7 shows, a rich store-manager dashboard helps the manager keep a close eye on the KPIs in real time and make decisions based on the store performance. This rich user experience for the manager improves overall productivity and improves efficiency in the store. Dashboards are important for store managers to get a quick understanding of the overall store operation. They provide the critical KPI information at a glance, alerts from the suppliers, manufacturers, or from the corporate office. They provide workforce utilization information, overall schedule information, tasks assigned to the store, and their status. Figure 8 shows an example of a dashboard that is built as a composite application, where information from different services is surfaced.

Click here for larger image

Figure 8. Store manager dashboard assembled using different services (Click on the picture for a larger image)

Similarly, the corporate office needs dashboards to get an understanding of the overall business at a glance. Corporate teams need quick views into the overall KPIs, alerts about hot issues, promotions, employee turn-over, and training. Along the same lines, employees need their own mini dashboards where they can quickly view their schedule, training information, HR information, and so forth.

MOSS provides the key capabilities to build these dashboards quickly. As explained in previous sections, MOSS comes with a Web Part gallery that contains a rich set of Web Parts out of the box, for example, to surface Office Excel spreadsheets and charts, and to view lists and tables. Solution providers such as the merchandising application or inventory management application can also provide their own custom Web Parts for application-specific or domain-specific functionality, which can then be uploaded into MOSS. Information workers can then personalize pages, by adding Web Parts from the gallery, removing Web Parts from a page, or rearranging the layout.

The 2007 Microsoft Office System BDC runs within the server as a shared service. Since it can read data from multiple types of data sources, such as databases, analysis services cubes, and Web services and then surface this back into the portal through SharePoint tables and lists, it is ideal for building customer dashboards in retail. So, data from the business analytics cubes can feed into the KPIs Web Parts. For example, these feeds from external services can enable alerts or weather reports for the dashboards. Since MOSS can read data from Web services it opens up huge opportunities in retail to consume data from external entities and corporate systems.

For example, internal Web services can provide information about customer returns, operator voids, or fraud in the store. These Web services are consumed by the BDC to update the dashboard for the manager to quickly look at the information and react to it. When a manager is moving around, Microsoft Office for Windows Mobile can be used to react to any alerts and update any information.

In building the store manager dashboards, one of the key elements is aggregating real-time data which then is manipulated to create the KPIs. Typically, in retail, real-time data availability is a rarity. Only few top retailers have achieved what is known as the "trickle feed." However, it is critical to get this data to generate KPIs which are relevant to the managers. Figure 9 shows the architecture for aggregating real-time sales information from the stores. The store service captures the sales information from the POS terminals, aggregates it, optimizes it, and transforms it to a standard format (potentially, IXRetail format), then transfers it to the corporate systems in real time.

Click here for larger image

Figure 9. Aggregation and transfer of data from store to the corporate systems (Click on the picture for a larger image)

Corporate services can be built as a BizTalk service which aggregates data from different stores, transforms the data if need be, and then transfers it to all the services that are interested in consuming the data. For example, an inventory solution is interested in the sales information to keep track of the inventory levels at the stores, which help in creating new orders for products falling below a certain threshold. A CRM application is interested in the customer order information to track customer loyalty and for creating targeted promotions on products and services. Other LOB applications might be interested in the data for many other purposes. For all these LOB applications real-time data helps in ensuring right the decisions are taken at the right time. Figure 10 shows this process of data aggregation at the corporate headquarters.

Click here for larger image

Figure 10. Transformation and orchestration of data at the corporate head quarters (Click on the picture for a larger image)

BizTalk also sends the data to the data warehouse application for creating cubes which drive the business analytics piece. Here the BDC helps in reading the analytics information from the cubes to update the KPIs in real time. Another key functionality is the integration with external entities. For example, real time collaboration with suppliers can be accomplished through BizTalk using the BizTalk adapters. This information is surfaced into a Microsoft Office client for review and update. Figure 11 shows how data from many external and internal services is surfaced using BDC to create the dashboard.

Click here for larger image

Figure 11. Assembling of custom dashboards using Office SharePoint Services (Click on the picture for a larger image)


The 2007 Microsoft Office System has evolved into an application platform. It comes with many capabilities that are critical in building applications and specifically in building composite applications. This helps in custom assembling applications for different users as opposed to fitting the user's needs into existing applications.