please follow the rubric and the assignment
ICT321 Architecture and System Integration Task 2 ATMC Semester 2, 2019 ATMC ICT321 Architecture and System Integration Assignment 2 Page 2 of 12 Assessment and Submission Details Marks: 40% of the Total Assessment for the Course Due Date: 11:59pm Friday, Week 12 (ATMC Semester 2) Task 2 consists of a demo code package and a technical report for the integration plan. Submit your work as a .zip file, which contains the code files (another .zip file) and your report (a .docx file), to Blackboard Task 2. Please follow the submission instructions described in this document. The task is an individual assignment and 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. Academic Integrity Information. Assignment submission extensions will only be made using the official USC Guidelines. 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. https://www.usc.edu.au/learn/student-support/academic-and-study-support/online-study-resources/academic-integrity ATMC ICT321 Architecture and System Integration Assignment 2 Page 3 of 12 Case Study: easyJet – Technology Strategy Founded in 1995 by British Cypriot entrepreneur Stelios Haji-Loannou, easyJet is a low-cost European airline based in London United Kingdom. EasyJet expanded into Europe with acquisitions including Swiss charter TEA Basel AG and British Go-Fly in the early 2000s. EasyJet outlined a renewed digital strategy in 2012 which gave it a competitive advantage in increased revenues, increased connection with passengers and cutting costs. In a September 2018 shareholder statement easyJet said: “Over the past three years easyJet has been investing in its commercial IT platform which has delivered revenue benefits through significant improvement in the customer facing website and seating capability, as well as improvements in underlying resilience and control systems. However, easyJet has now made the decision to change its approach to technology development through better utilisation and development of existing systems on a modular basis, rather than working towards a full replacement of our core commercial platform. As a result of this change in approach, we are recognising a non-headline charge of around GBP65 million relating to IT investments and associated commitments we will no longer require. easyJet will continue to invest in its digital and eCommerce layers that will enable it to continue to offer a leading innovative, revenue enhancing and customer friendly platform.” (easyJet trading statement, 28 September 2018). Part of easyJet technology strategy is to integrate Cloud services such as Microsoft Azure into its existing system. This is a modular approach where, instead of totally rewriting the whole system (at great expense), Cloud services can be integrated with the existing system to provide additional functionality. An example is where easyJet wanted to add aircraft passenger seat allocation into its existing Reservation system. Because the existing system could not accommodate the infrastructure required for the additional functionality, and instead of redeveloping the whole system on the cloud, easyJet created and integrated a Cloud service to work alongside the reservations system. EasyJet continue to integrate digital services such as smartphone and wearable apps, third party applications such as Apple Pay, Flight Tracker, predictive maintenance, volcanic ash detection (AVOID) and many others. Use the following links to help with a bit more projects: https://diginomica.com/easyjet-profits-soar-new-loyalty-scheme-resonates-digital-initiatives- take-hold#.VdYttEJViko https://www.easyjet.com/en/orange-spirit/innovation https://centreforaviation.com/members/direct-news/easyjet-plc-easyjet-trading-update-and- pre-close-statement-441061 https://www.futuretravelexperience.com/2018/10/easyjet-image-recognition-technology- flight-search/ https://diginomica.com/easyjet-profits-soar-new-loyalty-scheme-resonates-digital-initiatives-take-hold#.VdYttEJViko https://diginomica.com/easyjet-profits-soar-new-loyalty-scheme-resonates-digital-initiatives-take-hold#.VdYttEJViko https://www.easyjet.com/en/orange-spirit/innovation https://centreforaviation.com/members/direct-news/easyjet-plc-easyjet-trading-update-and-pre-close-statement-441061 https://centreforaviation.com/members/direct-news/easyjet-plc-easyjet-trading-update-and-pre-close-statement-441061 https://www.futuretravelexperience.com/2018/10/easyjet-image-recognition-technology-flight-search/ https://www.futuretravelexperience.com/2018/10/easyjet-image-recognition-technology-flight-search/ ATMC ICT321 Architecture and System Integration Assignment 2 Page 4 of 12 https://www.computerweekly.com/news/4500255119/How-Easyjet-uses-digital-to-drive- competitive-advantage https://www.mro-network.com/airlines/easyjet-working-operational-strategies-technological- innovations https://www.computerweekly.com/news/2240228253/EasyJet-sheds-scrum-image-with- hybrid-IT https://www.dortmund-airport.com/airlines/easyjet After evaluating various platforms, easyJet decided to adopt a Service Oriented Architecture (SOA) for its future IT infrastructure. easyJet executives would like to gain a deeper understanding of: • Computing and storage infrastructure design, • Information integration, • Application and Service Integration, and • Technologies behind Application and Service Integration including a small specific demonstration of these technologies along with a brief explanation of the concepts and principles of how it works. There are 2 parts to this Assignment: Part 1 - Integration Demo (40%) easyJet have been looking for ways to help passengers to plan their journeys. Your Integration Demo will demonstrate a basic passenger journey planning microservice using service-oriented architecture. You will use a Google Maps Mashup to plot a passenger journey (including a number of ‘stop-overs’). Your Google Maps Mashup will capture the endpoint coordinates (along with the name the passenger chooses for their journey) and send them to your microservice for storage. You will also be able to recall a stored passenger journey from your microservice and replot it on your Google Map Mashup. Please follow the instructions carefully. There are two major components in the demo system: 1. Microservice server demo. In this demo, you are required to build a RESTful Web service which supports two services: • ‘saveJourney’ query from the client browser similar to ‘/saveJourney?journey=[xml object]’. This server Web Service will accept an XML object with similar format to Figure 1. As part of the python service you are required to: i. accept the XML object and extract the journey name which will become an xml file name (e.g. ‘Journey 1.xml’), ii. Store the journey information in an .xml file using the Journey name as the file name. https://www.computerweekly.com/news/4500255119/How-Easyjet-uses-digital-to-drive-competitive-advantage https://www.computerweekly.com/news/4500255119/How-Easyjet-uses-digital-to-drive-competitive-advantage https://www.mro-network.com/airlines/easyjet-working-operational-strategies-technological-innovations https://www.mro-network.com/airlines/easyjet-working-operational-strategies-technological-innovations https://www.computerweekly.com/news/2240228253/EasyJet-sheds-scrum-image-with-hybrid-IT https://www.computerweekly.com/news/2240228253/EasyJet-sheds-scrum-image-with-hybrid-IT https://www.dortmund-airport.com/airlines/easyjet ATMC ICT321 Architecture and System Integration Assignment 2 Page 5 of 12 • ‘getJourney’ query from the client browser similar to ‘/getJourney?jouney=[journey name]’ will retrieve the passenger journey information from the server: i. The journey name will be accepted, and the corresponding xml file will be retrieved and returned as an XML object to the Google Maps Mashup. The Python Bottle framework is required for this implementation. A Python scrip file with the name ‘microservice.py’ will contain this RESTful Microservice Demo. Figure 1 - Suggested XML object format received from the Google Maps Mashup 2. Mashup demo. In this demo, you are required to build a html Google Maps Mashup application which accepts a journey name as the input. There three functions (buttons on the html page) are required after the html page is initiated with a raw map: • Function 1 - Clicking on the Map will create markers and polylines between markers as you continue selecting locations. These polylines between markers will simulate a passenger journey for which you will input a name, collect the coordinates and their order into an XML object, and send to your microservice via your AJAX web service. • Function 2 – you will need to be able to clear the map back to its raw newly initiated state. • Function 3 – you will be able to type a journey name into the input and retrieve a passenger journey from your microservice and populate the map with the saved journey: ATMC ICT321 Architecture and System Integration Assignment 2 Page 6 of 12 i. This function will retrieve an XML object from your microservice via another AJAX web service. ii. once your AJAX service receives the object it will need to extract the individual latitude and Longitude coordinates from the XML object and push them into the MVCArray. A HTML file ‘plan_journey_map.html’ should be implemented. In this file, a text field is provided at the page top to accept passenger’s route name input. In addition, three buttons are required to implement the three functions. Very Important Note: For ease of demonstration to easyJet executives, your code must be self-contained and run easily in PyCharm. In addition to using Standards based HTML, JavaScript and Python, the Python ‘Bottle’ module is the only additional framework you should use. ALL required files must be provided with your submission and should not require any extra installation. HINT: Most of the code for this assignment is demonstrated in the workshops. Code Package Format The code implementation should be with Python 3 and PyCharm. You are required to compress all your Python code, data files and all supporting packages/modules into one .zip file and upload it to Blackboard. Make sure your demo code is runnable in PyCharm after being unzipped. ATMC ICT321 Architecture and System Integration Assignment 2 Page 7 of 12 Part 2 – Integration Report (60%) In addition to the above Demo code (40%) you are required to include a Report (60%) Based on the above case study explaining the key concepts for: • The demo design and implementation (including instructions on running your code). • Information Management and Integration • Application and Data Storage Infrastructure design, and • Application and Service Integration Please use the following outline in your report: Title Major Outcomes 1 Introduction 2 Information Management and Integration Discuss and design strategies to integrate the multiple data sources developed and used by different teams for various business units and departments. 3 Application and Data Storage Infrastructure Design Discuss various cloud options and their suitability. Design a cloud infrastructure strategy. 4 Application and Service Integration There are many different types of applications and services coexisting in easyJet, 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. Discuss and design service and application integration strategies. 5 RESTful Web services Explain RESTful Web services and how they were applied in your Demo 6 Mashups Explain Mashup principles and how it