After evaluating various platforms, RetailCo finally decided to adopt Service Oriented Architecture (SOA) for its future IT infrastructure. The EA team also noticed the trends of new technologies including data analytics, cloud-based services, social media, and mobile devices. It was a shared belief that that the business functionalities delivered by services will reduce the technical obstacles to embrace these new technologies.
The EA team needed to figure out the following issues:
1. Computing and storage infrastructure design. There are three possible options: renting from public Cloud providers, building a private Cloud, or maintaining its current infrastructure distributed across various locations and business units. Which one should the company choose? What are the benefits of the selected solution, and how does it support the IT operations? You are also encouraged to propose a different solution other than the previous list.
2. Application/service integration. There are different types of applications and services coexisting in the company, including legacy applications, internal Web services, and external Web services. Some external services are provided by business partners, and others are from public service providers, such as Google Map and Google Search.General solutions for application integration should be discussed, and a demo system (see below) is also expected to be implemented.
3. Information integration. Currently, there are multiple data sources developed by different teams for various business units and departments. Some databases will be unified and merged to replace existing system. However, some data sources have to be maintained individually due to the existence of legacy systems. In either case, how data from difference source can be integrated should be discussed. In addition, a demo system (see below) is expected to be implemented.
To demonstrate the ideas of application and data integration, the EA team decided to build a demo system to validate their designs. There are three major components in the demo system:
1. Data integration demo. In this demo, there are two data source files: “stores.xml” contains the information about stores, and “locations.csv” contains the information about the location information about each store. A Python scrip file with the name“data_merger.py” should be implemented to read these two data files, and output the merged result into a CSV file with the name “store_locations.csv”.