Background: E-Government TechnologyAfter evaluating various platforms, the government finally decided to adopt a ServiceOriented Architecture (SOA) for its future IT infrastructure. They were impressed with yourtemplate-based Reference Architecture approach set out in your Task 1 Report and haveaccepted your recommendations regarding:• Computing and storage infrastructure design,• Application / service integration, and• Information integration.However, they would like to gain a deeper understanding of the technologies behind yourrecommendation and have asked for a small specific demonstration of these technologiesalong with a brief explanation of the concepts and principles of how it works.Assignment TaskThis assignment consists of two deliverables, being:• Demonstration code (50%). All code relating to this assignment should be contained within afolder named: Task 2 – Your Name – Student Number, the folder is then to be zipped anduploaded to blackboard.• A report (50%). The report must be uploaded separately.Part 1 – Demonstration Code (50%)Important Note: For ease of demonstration, your code must be self-contained. In addition tousing Standards based HTML and Python, PETL, Bottle and Parser are the only additionalframeworks you should need. If you use others they must be provided and not requireinstallation.To demonstrate your code, you have been provided with four data sources compiled withfictitious sample data. These are:• “Offices.csv” contains the information about the government offices,• “Office_Locations.csv” contains the location coordinates for each office,• “Services.xml” contains a list of government office services, and• “Office_Services.csv” contains a list of offices and the services they offer.Task 1 – Data integration demo.You are to submit a python script named “data_integration.py” which first clean the data thenmerge it into one CSV output file named “office_service_locations.csv”.ICT705 Data and System Integration Assignment 2Page 4 of 8Task 1.1 Data Cleansing (10 marks)Clean the data in the phone number field in “Offices.csv” to ensure all phone numbers are inthe same format:(+international_code) regional_code phone_numberThat is, all phone numbers should have the international code for Australia “(+61)”, followedby a space, followed by the regional code in two digits, followed by a space, followed by 8digits of the local phone number. For example, the Brisbane office should be formatted to:(+61) 07 36728709Whilst regional codes do not always adhere to state boundaries, you may apply thefollowing regional codes for each state:NSW = 02VIC = 03QLD = 07SA = 09Task 1.2 Data Merge (10 marks
)Merge the data from all four data sources, and generate output file“office_service_locations.csv” with the following fields (attributes):• OfficeServicesID – a unique field identifying each record from Office_Services• OfficeID – a foreign key linking to Services from Office_Services• Service – the ServiceName from Services• OfficeID – a foreign key linking to offices and locations• Office – the “Contact Name” from offices• Suburb – the “Suburb” from offices• Phone – the cleaned “Phone Number” data from offices• Email – the “Email” address from offices• Lat – from Office_Locations• Lon – from Office_LocationsTask 2 – RESTful Web Service DemoYou are to submit a python script named “office_locator.py”.For tasks 2.1 to 2.2, your script should build a RESTful web service that supports a‘getoffices’ query from the client browser similar to “/getoffices?serviceid=x”. The serverWeb Service will return a JSON table with the following fields (attributes): Office, Suburb,Service, Phone, Email, Lat, Lon.Data is to come from the “office_service_locations.csv” you built in task 1.2.Task 2.1 Return offices for a service (5 marks)The server will return a table of records (tuples) of offices offering the service ID passed to it.ICT705 Data and System Integration Assignment 2Page 5 of 8Task 2.2 List of Services (5 marks)To populate your drop-down list in task 3.1, you will need to return a JSON table of allrecords from “services.csv” with the following fields (attributes): ServiceID, Service. Theserver should respond to a “getservices” request.Task 3 Mashup DemoYou are to submit a HTML file “office_map.html” and optionally a CSS file named“office_map.css”.Task 3.1 Form Layout (5 marks)You are to create an input form that accepts user input for a particular service. The input forthe service should be a drop-down list whose items should be created dynamically from a callto getservices from task 2.2.The drop-down list should be accompanied with descriptors and a “Locate Offices” button.Task 3.2 Google Map (10 marks)Clicking the “Locate Offices” button will trigger a “getoffices” web service to retrieve a tableof offices matching the service with attributes described in task 2. From this data you are todisplay a Google cluster map marking the position of the returned offices. The map should becentred and zoomed to an appropriate level to show all offices in Australia.Task 3.3 Information Window Demographics (5 marks)Upon clicking a marker bubble on the map, the user will be displayed an information windowcontaining: Contact Name, Suburb, Phone Number, and a clickable email address.