ICT705
Data and System Integration
Task 2
Semester 1, 2019
ICT705 Data and System Integration Assignment 2
Page 2 of 8
Assessment and Submission Details
Marks: 40% of the Total Assessment for the Course
Due Date: 11:59pm Friday, Week 12
Submit your assignment to Blackboard Task 2. Please follow the submission instructions in
Blackboard.
The assignment will be marked out of a total of 100 marks and forms 40% of the total
assessment for the course. ALL assignments will be checked for plagiarism by SafeAssign
system provided by Blackboard automatically.
Refer to your Course Outline or the Course Web Site for a copy of the “Student Misconduct,
Plagiarism and Collusion” guidelines.
Late submission will be penalised according to the policy in the course outline. Please note
Saturday and Sunday are included in the count of days late.
Requests for an extension to an assignment MUST be made to the course coordinator prior to
the date of submission and requests made on the day of submission or after the submission
date will only be considered in exceptional circumstances. Assignment submission extensions
will only be made using the official University guidelines.
ICT705 Data and System Integration Assignment 2
Page 3 of 8
Background: E-Government Technology
After evaluating various platforms, the government finally decided to adopt a Service
Oriented Architecture (SOA) for its future IT infrastructure. They were impressed with your
template-based Reference Architecture approach set out in your Task 1 Report and have
accepted 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 your
recommendation and have asked for a small specific demonstration of these technologies
along with a brief explanation of the concepts and principles of how it works.
Assignment Task
This assignment consists of two deliverables, being:
• Demonstration code (50%). All code relating to this assignment should be contained within a
folder named: Task 2 – Your Name – Student Number, the folder is then to be zipped and
uploaded 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 to
using Standards based HTML and Python, PETL, Bottle and Parser are the only additional
frameworks you should need. If you use others they must be provided and not require
installation.
To demonstrate your code, you have been provided with four data sources compiled with
fictitious 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 then
merge it into one CSV output file named “office_service_locations.csv”.
ICT705 Data and System Integration Assignment 2
Page 4 of 8
Task 1.1 Data Cleansing (10 marks)
Clean the data in the phone number field in “Offices.csv” to ensure all phone numbers are in
the same format:
(+international_code) regional_code phone_number
That is, all phone numbers should have the international code for Australia “(+61)”, followed
by a space, followed by the regional code in two digits, followed by a space, followed by 8
digits of the local phone number. For example, the Brisbane office should be formatted to:
(+61) 07 36728709
Whilst regional codes do not always adhere to state boundaries, you may apply the
following regional codes for each state:
NSW = 02
VIC = 03
QLD = 07
SA = 09
Task 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_Locations
Task 2 – RESTful Web Service Demo
You 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 server
Web 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 2
Page 5 of 8
Task 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 all
records from “services.csv” with the following fields (attributes): ServiceID, Service. The
server should respond to a “getservices” request.
Task 3 Mashup Demo
You 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 for
the service should be a drop-down list whose items should be created dynamically from a call
to 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 table
of offices matching the service with attributes described in task 2. From this data you are to
display a Google cluster map marking the position of the returned offices. The map should be
centred 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 window
containing: Contact Name, Suburb, Phone Number, and a clickable email address.
ICT705 Data and System Integration Assignment 2
Page 6 of 8
Part 2 – Integration Report (50%)
You are required to write a report explaining the theory underlining the key concepts around
the design and implementation of your demonstration system. You are also required to
explain how to run your code. Finally, you are to include all code submitted in the appendices
to the report, note that the code will not count towards the word count.
Your report should follow the following template:
Table of Contents
1.0 Introduction
2.0 Key System Concepts
2.1 Data Matching and merging. Explain data matching and merging principles and how
they were applied in your Demo.
2.2 RESTful Web Services. Explain RESTful Web services and how they were applied in
your Demo.
2.3 Mashup. Explain Mashup principles and how it was applied in your Demo.
3.0 Demo Running Instructions
4.0 Conclusion
References
Appendices
The marking rubrics are viewable on the blackboard.
Report Format
Your report should be no less than 1000 words and it would be best to be no longer than 1500
words.
The report MUST be formatted using the following guidelines:
• Title Page – Must not contain headers, footers, or page numbering. Include your name
as the report’s author.
• Header – Report title
• Footer – your name and the page number
• Paragraph text – 12 point Calibri single line spacing
• Headings – Arial in an appropriate type size
• Margins – 2.5cm on all margins
• Page numbering
• Executive summary to the last page of Table of Figures to use roman numerals
(i, ii, iii, iv)
• Introduction and onwards to use conventional numerals (1, 2, 3, 4) starting at
page 1 from the introduction.
ICT705 Data and System Integration Assignment 2
Page 7 of 8
• The report is to be created as a single Microsoft Word document (version 2007 or
later). No other format is acceptable and doing so will result in the deduction of
marks.
Please follow the conventions detailed in:
Summers, J. & Smith, B., 2014, Communication Skills Handbook, 4th Ed, Wiley, Australia.
Referencing
The report is to include (at least 5) appropriate references and these references should follow
the Harvard method of referencing. Note that ALL references should be from journal articles,
conference papers, technical papers or a recognized expert in the field. DO NOT use
Wikipedia as a reference. The use of unqualified references will result in the deduction of
marks.
Assignment Return and Release of Grades
Assignment grades will be available on the blackboard in two weeks after the submission.
Details of marking will also be accessible via online rubrics on the blackboard.
Where an assignment is undergoing investigation for alleged plagiarism or collusion the
grade for the assignment and the assignment will be withheld until the investigation has
concluded.
Assignment Advice
This assignment will take several weeks to complete and will require a good understanding of
application and information integration technologies for successful completion. It is
imperative that students take heed of the following points in relation to doing this assignment:
1. Ensure that you clearly understand the requirements for the assignment – what must be
done and what are the deliverables.
2. If you do not understand any of the assignment requirements – Please ASK your tutor.
3. Each time you work on any aspect of the assignment reread the assignment requirements to
ensure that what is required is clearly understood.
4. Prior to submitting your code, you should ensure not only that it executes as required, but
also looks professional. It is expected that you adhere to HTML and python standards for
naming and indenting. All methods should be adequately documented such that another
programmer examining your code will readily know what the code is doing.
Plagiarism and Collusion Advice
ICT705 Data and System Integration Assignment 2
Page 8 of 8
1. All work must be submitted through SafeAssign.
2. SafeAssign will pick up any similarities between work online as well as work from other
students (in this semester and previous)
3. Please make sure you reference your work properly. If you are using any material from the
internet or any books from the library, you need to cite the work correctly. Failure to do so
will result in possible cases of Academic Misconduct.
4. Please do not share your work with other students. Do not give anyone your files to have a
look. SafeAssign will pick up collusion, but keep in mind the percentages for Collusion may
not report accurately until all student assignments have been submitted. Both the person
copying and the person providing will potentially be held accountable.
5. You can submit a draft assignment through SafeAssign before making the actual submission.
6. If you need any advice or are unsure about referencing, please speak with ATMC
Administration for assistance.
End of Assignment

~~~For this or similar assignment papers~~~