Write report explaining theory underlining the key concepts

Assignment Help Python Programming
Reference no: EM132224708

Background: eVoting 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.

Specifically, they have asked you to provide a demonstration web page in which the user will input a service and a post code. Upon clicking a button, a cluster map of offices, based on the services they offer and location, will be displayed to the user.

Assignment Tasks

This assignment consists of two deliverables, being: demonstration code 75%, and a report 25%. 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. The report must be uploaded separately.

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.

Demonstration Code
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.xml" contains the location coordinates for each office
- "Services.xml" contains a list of government office services
- "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".

Your script should firstly clean the data then merge it into one CSV file named "Office_Service_Locations.csv".

Task 1.1 Data Cleansing
Clean data in the phone number field from "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, followed by a space, followed by the first 4 digits of the local phone number, followed by a space, followed by the last 4 digits of the local phone number. For example, the Brisbane office should be formatted to: +61 7 3672 8709

Whilst regional codes do not always adhere to state boundaries, you may apply the following regional codes for each state:
NSW = 2
VIC = 3
QLD = 7
SA = 9

Task 1.2 Data Merge
Merge the data from the four data sources into "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
The server will return a table of records (tuples) of offices offering the service ID passed to it.

Task 2.2 Return all unique offices
In the advent of a call to "getoffices?serviceid=0", the server will return a distinct list of offices offering any service. That is a list of all offices listed once.

Task 2.3 List of Services
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 2.4 Error Handling
Your code should handle any errors including incorrect requests.

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
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 with the first item of being "Any Service" with a value
= 0, remaining items should be created dynamically from a call to getservices from task 2.3. The drop-down list should be accompanied with descriptors and a "Locate Offices" button.

Task 3.2 Google Map
Clicking the "Locate Offices" button the 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
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.

Task 3.4 Information window email
Clicking an email address link in the information window should launch the user's email application and automatically insert the subject line "Office Enquiry".

Report
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.

Attachment:- ASSIGNMENT.rar

Verified Expert

The assignment was to implement a SOA based full stack system using Python Bottle Framework and Python PETL Data Transformation library in backend. HTML, jQuery and AJAX has been used to develop the presentation layer. Google Maps was used to render locations of offices as provided the dataset

Reference no: EM132224708

Questions Cloud

How to submit the intellipath submission assignment : Review the tutorial titled How to Submit the Intellipath Submission Assignment.
Identify an urban community that is near where you live : The park should not be more than 5 kilometres away from the centre of the populated area. Identify an urban community that is near where you live
What is the bond yield to maturity : The bond has a face value of $1,000 and has an 8% annual coupon. The bond has a current yield of 8.21%. What is the bond's yield to maturity
Analyse and reflect upon the problem solving techniques : ITECH1101 – IT Problem Solving - Federation university - Identify a challenging problem and attempt to solve it using a robot
Write report explaining theory underlining the key concepts : ICT705 Data and System Integration - University of the Sunshine Coast - write a report explaining the theory underlining the key concepts around the design
Submit a draft of your tax planning proposal : You will submit a draft of your tax planning proposal and strategic plan recommendation regarding the client's estate
What the benefits of keeping track of personal transactions : What are the benefits of keeping track of personal transactions - income and expenses - in an organized manner
How will you use the lender money to create profit : Prepare an executive summary and a three-page paper, selling your business idea to the lending source of your choice
Develop an outline for your campaign strategy : Determine the best resources and develop an outline for your campaign strategy. The discussion format allows for peer feedback so that you can improve your work

Reviews

len2224708

1/30/2019 4:26:01 AM

Code Implementation (75%) Items Maximum Marks Marks Obtained 1.1 - data_merger.py – cleaning 10 1.2 - data_merger.py – merging 15 2.1 - office_locator.py – Web service - Offices 5 2.2 - office_locator.py – Web Service – All Offices 5 2.3 - office_locator.py – Web Service - Services 5 2.2 - office_locator.py – input error handling 5 3.1 - office_map.html – form layout 10 3.2 - office_map.html – Google Map 10 3.3 - office_map.html – information window – demographics 5 3.4 - office_map.html – information window – email link 5 Total Marks: 75

len2224708

1/30/2019 4:25:54 AM

Report 25% Items Maximum Marks Marks Obtained Report formatting (font, header and footer, table of content, numbering, correct spelling, grammar) 3 Executive Summary, Introduction & Conclusion 3 Concepts – Data Merging 5 Concepts – RESTful Web Services 5 Concepts – Mashups 5 Demo Running Instructions 4 Total Marks: 25

len2224708

1/30/2019 4:25:46 AM

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.

len2224708

1/30/2019 4:25:39 AM

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 the course coordinator or your tutor.

len2224708

1/30/2019 4:25:24 AM

• Title Page – Must not contain headers or footers. Include your name as the report’s author. • Page numbering o Executive summary to the last page of Table of Figures / Table of Tables to use roman numerals (i, ii, iii, iv) o Introduction and onwards to use conventional numerals (1, 2, 3, 4) starting at page 1 from the introduction • The report is to be created as a single Microsoft Word document (version 2007, 2010, 2013, 2016, or Office 365). No other format is acceptable and doing so will result in the deduction of marks. • The report must use the built-in features of Microsoft Word to create page numbers, section numbers, citations, cross referencing of sections, figures and tables, table of contents, table of figures, table of tables, and bibliography.

len2224708

1/30/2019 4:25:17 AM

Your report should be no less than 800 words and it would be best to be no longer than 1500 words. The report must be formatted using the following guidelines: • Paragraph text 12-point Calibri single line spacing • Code Text 12-point Courier new single line spacing • Headings Arial in an appropriate type size • Margins 2.5cm on all sides • Title Page is not to contain headers, footers, or page numbering • Header is to display the Report Title (excluding the title page) • Footer to display your name and the page number (excluding the title page)

len2224708

1/30/2019 4:24:59 AM

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 Faculty of Arts, Business and Law Guidelines

len2224708

1/30/2019 4:24:53 AM

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. The assignment will be assessed according to the marking sheet. 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.

Write a Review

Python Programming Questions & Answers

  Write a python program to implement the diff command

Without using the system() function to call any bash commands, write a python program that will implement a simple version of the diff command.

  Write a program for checking a circle

Write a program for checking a circle program must either print "is a circle: YES" or "is a circle: NO", appropriately.

  Prepare a python program

Prepare a Python program which evaluates how many stuck numbers there are in a range of integers. The range will be input as two command-line arguments.

  Python atm program to enter account number

Write a simple Python ATM program. Ask user to enter their account number, and print their initail balance. (Just make one up). Ask them if they wish to make deposit or withdrawal.

  Python function to calculate two roots

Write a Python function main() to calculate two roots. You must input a,b and c from keyboard, and then print two roots. Suppose the discriminant D= b2-4ac is positive.

  Design program that asks user to enter amount in python

IN Python Design a program that asks the user to enter the amount that he or she has budget in a month. A loop should then prompt the user to enter his or her expenses for the month.

  Write python program which imports three dictionaries

Write a Python program called hours.py which imports three dictionaries, and uses the data in them to calculate how many hours each person has spent in the lab.

  Write python program to create factors of numbers

Write down a python program which takes two numbers and creates the factors of both numbers and displays the greatest common factor.

  Email spam filter

Analyze the emails and predict whether the mail is a spam or not a spam - Create a training file and copy the text of several mails and spams in to it And create a test set identical to the training set but with different examples.

  Improve the readability and structural design of the code

Improve the readability and structural design of the code by improving the function names, variables, and loops, as well as whitespace. Move functions close to related functions or blocks of code related to your organised code.

  Create a simple and responsive gui

Please use primarily PHP or Python to solve the exercise and create a simple and responsive GUI, using HTML, CSS and JavaScript.Do not use a database.

  The program is to print the time

The program is to print the time in seconds that the iterative version takes, the time in seconds that the recursive version takes, and the difference between the times.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd