Integrating SAP and Microsoft Dynamics AX Using Two-Tier Enterprise Resource Planning

Technical Case Study

The following content may no longer reflect Microsoft’s current position or infrastructure. This content should be viewed as reference documentation only, to inform IT business decisions within your own company or organization.

Microsoft Information Technology (MSIT) recently upgraded from an existing company-wide employee expense management system with multiple interfaces, high maintenance costs, and inconsistent user experiences. The new two-tier Enterprise Resource Planning (ERP) solution uses Microsoft Dynamics AX and Microsoft BizTalk Server to run services and transact data with SAP. MS Expense 2.0 makes use of the Microsoft Dynamics AX architecture and performance features, while preserving SAP as the financial system of record. MS Expense 2.0 demonstrates how IT departments can use the Microsoft Dynamics AX architecture to integrate legacy ERP systems with new, streamlined functionality.

Download

DownloadTechnical Case Study, 671 KB, Microsoft Word file

Situation

Solution

Benefits

Products & Technologies

Employees at Microsoft offices around the world used a spreadsheet-based system to record and enter expense report data into SAP. Human error, costly template maintenance, and system downtime negatively affected the availability and performance of the existing expense reporting tools.

Using Microsoft Dynamics AX and Microsoft BizTalk Server, MSIT designed and implemented a two-tier ERP solution that retained SAP as the system of record. This solution provides more functionality and a more positive user experience to a key financial process. MS Expense 2.0 simultaneously added business value to worldwide employee expense management, and provided the platform for future Microsoft Dynamics AX development.

  • Rapid deployment of a fully featured two-tier ERP solution.

  • Flexible architecture and built-in services support the ease and speed of customization.

  • Gains in efficiency and reduction in human error by moving from a spreadsheet-based upload solution to an integrated UI, and incorporating data transactions with Microsoft partner feeds.

  • Unified core user interface that can be easily customized for individual user group needs.

  • Microsoft BizTalk Server
  • Microsoft Dynamics AX 2012
  • Microsoft .NET Framework
  • Microsoft Office Excel
  • MS Expense 2.0
  • SAP ERP

Introduction

This document describes MSExpense 2.0, the custom technology solution that MSIT implemented to standardize and improve the way Microsoft employees around the world submit and manage expense reports. The goal of implementing this solution was to provide a consistent user experience for all employees, and to improve system performance and make expense management more efficient, both from the user perspective and for MSIT support.

Microsoft Dynamics AX and Two-Tier ERP

MSIT supports more than 90,000 employees worldwide, providing key infrastructure and line-of-business (LOB) applications to users and business groups within Microsoft. One element of this support is providing solutions for ERP, the integrated software that enables key business functions. At Microsoft, as in many enterprise companies, two-tier ERP is the preferred model for business software architecture. With two-tier ERP, a primary ERP system centrally manages business data while a second tier of ERP solutions transacts this data with the primary tier to provide unique functions and workflows to individual LOBs.

By implementing this second tier, businesses can grow and adapt their ERP to meet specific business needs without having to plan and implement changes to the primary tier. The resulting architecture resembles a wheel hub and multiple spokes, with each spoke representing connectivity from the primary hub ERP system to each of the second-tier ERP solutions.

At Microsoft, SAP is the primary administrative ERP system of record for financial data, including data for expense reports. Microsoft Dynamics AX functions as the second-tier solution for many business areas that require connectivity to SAP. As illustrated in Figure 1, this two-tier combination is central to a growing number of business processes within MSIT.

Figure 1. Example two-tier ERP at Microsoft
Figure 1. Example two-tier ERP at Microsoft

In the case of MS Expense 2.0, Microsoft Dynamics AX 2012 proved to be an ideal platform for developing the custom expense reporting solution that MSIT required. At Microsoft, as elsewhere, business value is often derived from the ability to integrate with existing systems rather than replacing them. Continuing to use SAP with Microsoft Dynamics AX as the second-tier solution was key to developing MS Expense 2.0, and was key to several other recent MSIT projects.

Situation

Over the years, the process of submitting expense reports, reimbursing employees, and collecting receipts at Microsoft became inefficient. Different geographic locations used different user interfaces to accomplish these tasks, leaving MSIT with no centralized tool for managing and supporting them.

Outside the United States (US), each country office gathered expense data from employees using Microsoft Office Excel® spreadsheets, which were then uploaded into SAP. This spreadsheet-based model was onerous to support, and did not scale well as new country offices around the world were added. The spreadsheets were based on templates that required updating on a quarterly basis. Due to differences in the processes followed from one country to the next, more than 100 templates were in use by the various offices. Routine aspects of international business—such as tax code changes in a particular country—created a complex, ongoing template maintenance challenge that included requirements tracking, changes to all 100–plus templates, and distribution and user training every time updated templates were released.

Within the US, employees used a more advanced, custom-built solution called MS Expense 1.0. This solution featured a web-based interface for collecting expense data from employees, and then passing that data to SAP. This eliminated the need for spreadsheets and templates. Although this resulted in fewer errors and less user frustration than the international solution, MS Expense 1.0 was still limited in its capabilities and performance due to its reliance on SAP for centralized data management and basic ERP functionality.

Figure 2. Expense report management at Microsoft prior to MS Expense 2.0
Figure 2. Expense report management at Microsoft prior to MS Expense 2.0

To create a unified solution, Microsoft looked for a way of integrating a two-tier ERP design into the expense reporting process. With no assessment in place for replacing SAP, MSIT sought to establish a highly functional and streamlined user experience that could easily integrate with SAP data, and support workflows in all country offices with a minimum of customization and ongoing support. This business-level second-tier solution would be engineered to optimize its data transactions with SAP, while also improving performance, simplifying training, reducing human error, and reducing support needs.

Solution

MSIT implemented MS Expense 2.0, which uses Microsoft Dynamics AX to deliver two-tier ERP that has been optimized both for the needs of users and for MSIT itself. A key advantage of two-tier ERP is that it retains the primary tier of the data administration layer, but allows individual LOBs the flexibility to run their own ERP-related applications and services. The technologies built into Microsoft Dynamics AX and the flexibility of its architecture made it a suitable match for the business requirements posed by the expense reporting upgrade project.

A successful two-tier ERP solution depends on effective data transaction abilities between the hub and the spokes. To achieve this, a solution often requires a middleware layer. With MS Expense 2.0, the layer that bridges data between SAP and the Application Integration Framework (AIF) within Microsoft Dynamics AX is BizTalk Server. As shown in Figure 3, BizTalk Server uses its native Microsoft Message Queuing (MSMQ) and SAP Windows Communication Foundation (WCF) support to broker fast, two-way data transactions between the two solution tiers.

Figure 2. Expense report management at Microsoft prior to MS Expense 2.0
Figure 3. MS Expense 2.0 architecture

The remainder of this section describes in detail the key Microsoft Dynamics AX technology and architectural features that make MS Expense 2.0 a successful solution for MSIT.

Application Integration Framework

Microsoft Dynamics AX includes a custom development structure called AIF that enables integration and two-way communication between business processes.

An important feature of AIF is its support for connectivity to a wide variety of external data sources. Besides SAP, MS Expense 2.0 needed to incorporate data transactions with the following system types:

  • Credit Card processing feeds. This connectivity provides the ability for charges on employee's American Express cards to be passed through to SAP for processing.
  • Document management feeds. Accenture and Xerox, two Microsoft partners that provide document management system (DMS) services to Microsoft, send receipt image files to MS Expense 2.0.

Figure 4 shows the inbound messaging flow for these systems to the Application Object Server (AOS) engine within AIF, which processes this data for MS Expense 2.0. MS Expense 2.0 uses the Dynamics AX services GL 1025 and GL 1080 for this data flow.

Figure 4. Non–SAP MS Expense 2.0 data feeds
Figure 4. Non–SAP MS Expense 2.0 data feeds

AIF also makes available a range of services that allow for the rapid development of custom user interfaces to meet individual workflow requirements. For each of these built-in services, the standard Create, Read, Update, and Delete (CRUD) programming operations are made available. Many services that are prepackaged in Microsoft Dynamics AX can be used as-is; all services can be modified to perform these CRUD data operations, and developers can easily create new services that perform these operations.

MSIT used AIF services to enable the two-way data flow that is required for MS Expense 2.0: expense data records flow into SAP, while data request validation and reporting messages flow out. This two-way flow provides essential abilities and workflow support to users, and represents an ease of use for them that was not available with the previous solutions.

MS Expense 2.0 was able to leverage and utilize an existing Microsoft Dynamics AX services called the Expense service, which is used for managing employee travel expenses. In this example, when an MS Expense 2.0 user selects to view and make changes to a travel expense report, MS Expense 2.0 retrieves the record in Microsoft Dynamics AX by using the Read operation, and then passes it through BizTalk Server to SAP using a batch process that includes the Document service. When the data is returned from SAP, MS Expense 2.0 receives the data and uses the Update operation to make the necessary changes to the expense report record.

By its ability to apply built-in data services to a wide variety of business workflows, Microsoft Dynamics AX enabled MSIT to develop, deploy, and support MS Expense 2.0 with a minimum of custom development work. AIF is the framework that makes this agility possible.

Synchronous and Asynchronous Messaging Support

Together, Microsoft Dynamics AX and AIF support multiple data transports, including both synchronous and asynchronous connections to external endpoints. The ability to use a combination of these connection types with MS Expense 2.0 resulted in a data reporting mechanism that allowed MSIT to customize different data feeds for specific user experiences.

Synchronous data transports are simple connections between data sources where information that is sent by one system is made directly available in the other. This messaging type provides the ability to see data in real time as it passes from one system to the other—an advantage for many data reporting processes.

However, synchronous connectivity has several disadvantages. The main risk is message failure: if the receiving system in a synchronous connection is offline, it does not receive the incoming data unless the outbound system resends it later. This uptime dependency—together with the instant nature of the data delivery—often results in many messages being sent over the connection at once, thereby impacting system performance. Because synchronous messages must also conform to a specific format for the receiving system to process them, design changes to the receiving system can become complicated if multiple synchronous data feeds are connected to it.

For these reasons, it is beneficial for a data solution to also support asynchronous messaging. With asynchronous connectivity, messages sent by one system can be placed into queues before being processed by the receiving system. This becomes helpful as a way of tolerating temporary unavailability of the receiving system and managing performance. Asynchronous design provides the following advantages:

  • System isolation. An outbound or receiving system can be taken offline as needed without generating data failures at the other end.
  • Retry ability. Messages placed in queues can be sent automatically to offline systems, once those systems are available again.
  • Performance. The queuing of messages enables a solution to better regulate its dataflow activities, which provides improved system performance overall.
  • Scalability. Asynchronous mode allows for the use of multiple batch servers to scale processing power across multiple servers.

Microsoft Dynamics AX with AIF includes built-in support for both synchronous and asynchronous messaging. MS Expense 2.0 makes use of both methods in its design. The DMS and American Express data feeds shown in Figure 4 are asynchronous connections, as is the connectivity with SAP itself. Elsewhere, MS Expense 2.0 uses synchronous messaging to support lower-risk data transactions, such as the Safe Limit service, which checks the authorized dollar amount limits per approver as required for expense report approval.

By diversifying the feeds from external systems and refining the way data is transformed at the middleware layer between MS Expense 2.0 and SAP, MSIT made use of these flexible messaging types to optimize the MS Expense 2.0 solution performance and transact its data in ways that meets specific user requirements.

Two-Tier Messaging Architecture

MS Expense 2.0 uses a solution architecture that is designed to work well in two-tier ERP systems. One example of this two-tier integration capability is asynchronous messaging, which allows for bi-directional data flow of expenses, confirmations, and reporting data. The following architectural components also play key roles:

  • Single-platform data mappings. The Extensible Stylesheet Language Transformation (XSLT) transformation strategy in MS Expense 2.0 retains all transformations and mappings within Microsoft Dynamics AX, allowing for data transactions to be more easily deployed. When incoming messages from SAP are transformed again to the Microsoft Dynamics AX format, the mappings that are stored in Microsoft Dynamics AX are applied.

  • BizTalk Server. BizTalk Server plays an important role in two-tier architecture, and provides additional advantages to the MS Expense 2.0 solution design. As a middleware layer between MS Expense 2.0 and SAP, BizTalk Server benefits from built-in SAP communication capabilities, requiring little or no development of message structures for SAP to transact data with MS Expense 2.0 and its other connected systems. These capabilities include message tracking and error notifications that are pre-formatted to communicate readily with either Microsoft Dynamics AX or SAP.

    Data mapping in MS Expense 2.0 results in reusable SAP Intermediate Document (IDOC) messages. This versatility allows for reusability of the same data by multiple applications, providing agility and scalability for future development. It also simplifies technical support by providing a single development platform for all messaging, rather than multiple platforms supported by multiple teams.

    In addition, by using the SAP WCF adapter that BizTalk Server provides, MS Expense 2.0 can store data requests directly in SAP using a queue table, which allows SAP to manage asynchronous connections internally rather than continuing to flow data back through BizTalk every time a message is queued.

  • Microsoft .NET compatibility. As part of the Microsoft Dynamics AX architecture, code that is written in Microsoft Dynamics AX is .NET compatible. This provides the flexibility to both expose and consume synchronous web services as needed.

Taxonomy Development and Support

The flexible architecture of Microsoft Dynamics AX makes it feasible to create unique user experiences based on the needs and workflows of a specific user group, without requiring extensive custom development. By enabling services through AIF, MSIT can make available any subset of MS Expense 2.0 functionality for any group that requires it, while continuing to support and maintain one overall application rather than many.

MS Expense 2.0 was conceived as a solution to resolve the multiple business and financial workflow issues that existed due to the variances in the Microsoft office accounting needs throughout the world. To best achieve these goals, MSIT met with financial personnel at each of the country offices to gather requirements and learn firsthand how each office performed its work. By consolidating all requirements and then mapping them to Microsoft Dynamics AX capabilities, MSIT derived a taxonomy of data and services that would be required of the MS Expense 2.0 solution, and specified which services would require additional CRUD capabilities.

Benefits

MS Expense 2.0 is currently deployed to more than 15,000 users, with additional phases of deployment scheduled for the additional 75,000–plus users. Because it is part of a two-tier solution, MS Expense 2.0 does not require a final shutoff point for all users of the previous systems; both old and new solutions are connected to SAP and transacting the same SAP data, so both solutions can operate simultaneously while phased deployment is still underway.

The following list is of efficiency benefits that MS Expense 2.0 provides:

  • Instead of using spreadsheets for collecting expense data at the international offices, MS Expense 2.0 allows users to enter data directly, without requiring the SAP data store to be available.
  • Through improved reporting, business managers now have access to data that helps them negotiate with travel vendors and other non-Microsoft companies.
  • The MS Expense 2.0 web-based UI provides a central interface whose core functions can be used for training across all user groups, and which can provide special functions for the user groups that require them.
  • With the two-way asynchronous data connection to American Express, Microsoft can now make credit card payments directly on behalf of worldwide users whose expense reports have been approved in the new system.
  • The new scalable architecture is able to process more than 3,000 messages per day.

Conclusion

MS Expense 2.0 exemplifies the efficiency gains that are possible with a two-tier design that is built on a versatile ERP platform such as Microsoft Dynamics AX. MS Expense 2.0 integrates with an existing SAP system of record to produce efficiency gains and an improved user experience without disrupting business processes or obstructing data flow. The flexible architecture and built-in services of Microsoft Dynamics AX made for a cost-effective implementation of a solution that delivers business value and operational consistency across all Microsoft offices worldwide.

Using Microsoft Dynamics AX, MSIT added business value to an important area of Microsoft's financial operations—employee expense management. This deployment project also provides the platform for future development—such as a vendor management component that is currently being added to the MS Expense 2.0 solution. MSIT continues to build on Microsoft Dynamics AX capabilities across Microsoft.

For More Information

For more information about Microsoft products or services, call the Microsoft Sales Information Center at (800) 426-9400. In Canada, call the Microsoft Canada Order Centre at (800) 933-4750. Outside the 50 United States and Canada, please contact your local Microsoft subsidiary. To access information via the World Wide Web, go to:

https://www.microsoft.com

https://www.microsoft.com/technet/itshowcase

© 2006 Microsoft Corporation. All rights reserved.

This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. Microsoft, Windows, and Windows Server are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.