ICT321
Architecture and System Integration
Task 2
ATMC Semester 2, 2019
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.
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-initiativestake-hold#.VdYttEJViko https://www.easyjet.com/en/orange-spirit/innovation
https://centreforaviation.com/members/direct-news/easyjet-plc-easyjet-trading-update-andpre-close-statement-441061
https://www.futuretravelexperience.com/2018/10/easyjet-image-recognition-technologyflight-search/ https://www.computerweekly.com/news/4500255119/How-Easyjet-uses-digital-to-drivecompetitive-advantage
https://www.mro-network.com/airlines/easyjet-working-operational-strategies-technologicalinnovations
https://www.computerweekly.com/news/2240228253/EasyJet-sheds-scrum-image-withhybrid-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.
• ‘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:
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.
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 was applied in your Demo
7 Conclusion
Consult Rubric in Appendix A for more details on how this question will be marked.
Report Format
Your report should be no less than 1500 words and it would be best to be no longer than 2000 words.
The report MUST be formatted using the following guidelines:
• Paragraph text – 12 point Calibri single line spacing
• Headings – Arial in an appropriate type size
• Margins – 2.5cm on all margins
• Header – Report title
• Footer – page number (including the word “Page”)
• Page numbering – roman numerals (i, ii, iii, iv) up to and including the Table of Contents, restart numbering using conventional numerals (1, 2, 3, 4) from the first page after the Table of Contents.
• Title Page – Must not contain headers or footers. Include your name as the report’s author.
• The report is to be created as a single Microsoft Word document (version 2007, 2010, 2013 or Office 365). 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.
Submission
Submit your work as a zip file to Blackboard Task 2 by the due date of 11:59pm Friday, Week 12. Inside the zip file, a zip package of code and a Word file of report should be included.
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.
Assignment Return and Release of Grades
Assignment grades will be available on the course website in two weeks after the submission. An electronic assignment marking sheet will be available at this time.
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 Guidelines
This assignment will take a number of 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 has to be done and what are the deliverables.
2. If you do not understand any of the assignment requirements – Please ASK the lecturer or 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.
Appendix A
ICT321 Task 2 - Systems Integration and Report Rubric
Criteria High Distinction (85-100%) Distinction (75-84%) Credit (65-74%) Pass (50-64%) Fail (0-49%)
(20%) Create a Skillful and proficient Proficient and Effective and Competent Not competent Python script to RESTful Web service server effective competent RESTful Web RESTful Web
implement a will listen on a TCP port RESTful Web service RESTful Web service service server service server working RESTful and accept, process and server will listen on a TCP server will listen on a will listen on a will not listen on Web service serve XML data with no port and accept, process TCP port and accept, TCP port and a TCP port and / microservice errors. Input error and serve XML data with process and serve XML accept, process or not accept
server handling. Very logically set no errors. Input error data but with minor and serve XML and / or serve
out code with clearly handling. errors. data with but data. Major documented code. with some errors errors.
(20%) Create a Skillful and proficient Proficient and Effective and Competent Not competent HTML script to HTML script will access, effective competent HTML script will HTML script has
implement a process and show data HTML script will access, HTML script will access, access, process major errors Mashup from two from two sources no process and show data process and show data and show data when accessing data sources errors. Well set out HTML from two sources no from two sources but from two sources and processing including the page with intuitive errors. Sufficient error with minor errors. with errors. data. RESTful Web functionality Clearly handling and easy Effective functionality. limited but sound
documented code. functionality functionality. service server.
Criteria High Distinction (85-100%) Distinction (75-84%) Credit (65-74%) Pass (50-64%) Fail (0-49%)
(15%) Information
Integration and
Management -
Discuss and design strategies to integrate the multiple data sources developed and used by different teams for various business units and departments. Skillful and proficient
Clear definition of
Enterprise Information Integration. clear elaboration of the three data integration methods with explanations
(including advantages and disadvantages of each) and examples of how each method could be applied in the case study.
Proficient and effective
Definition of Enterprise Information Integration. Clear elaboration of the three data integration methods with clear explanations of how each method could be applied in the case study.
Clear and coherent
Elaboration of the three data integration methods with some discussion and reference to the case study. Coherent
Sound explanation of more than one information integration strategy and how they relate to the case study. Imprecise and vague
Discussed one or two data integration methods with basic or no application to the case study.
(15%) Application and Data storage infrastructure design - Discuss various cloud options and their suitability. Design a cloud infrastructure strategy. Proficient and effective
Explanation of cloud infrastructure. Identification and elaboration on the types of cloud infrastructure and how each cloud type could be applied to the case study. Some cloud
strategy recommendation.
Clear and coherent Identification and elaboration on at least three types of cloud infrastructure and how each type could be applied to case study. Coherent
Identification and explanation of at least two types of cloud infrastructure and how they relate to the case study. Imprecise and vague
Skillful and proficient
Clear explanation of cloud infrastructure. Clear identification and elaboration on the types of cloud infrastructure (including advantages and disadvantages of each) and how each cloud type could be applied to the case study. Clear cloud strategy recommendation.
Criteria High Distinction (85-100%) Distinction (75-84%) Credit (65-74%) Pass (50-64%) Fail (0-49%)
(15%) Application and service integration - Discuss and design service and application integration strategies. Skillful and proficient Clear explanations and examples of the three main methods of
Enterprise Application Integration (EAI) including the advantages and disadvantages of each. Clear recommendations on how EAI can be applied in the case study.
Proficient and effective
Explanations of the three main methods of
Enterprise Application Integration including the advantages and disadvantages of each Clear application to the case study. Clear and coherent Explanations of the three main methods of Enterprise Application Integration and applied to the case study. Coherent
Basic explanations of Enterprise Application Integration with reference to the case study. Imprecise and vague
(7.5%) Explain RESTful Web services and how they were applied in your Demo. Perceptive
An accurate and logical explanation of RESTful Web services and how they could apply in other applications as well as applied to the demo code. Clear instructions on how the demo code should be executed.
Specific
An accurate and logical explanation of RESTful Web services and applied to the demo code with instructions on how the demo code should be executed. Logical
An accurate and logical explanation of RESTful Web services and applied to the demo code. General
A basic but correct explanation of RESTful Web services. Ambiguous
Little or no explanation of the principles or application.
Criteria High Distinction (85-100%) Distinction (75-84%) Credit (65-74%) Pass (50-64%) Fail (0-49%)
(7.5%) Explain Mashup principles and how it was applied in your Demo. Perceptive
An accurate and logical explanation of Mashup principles and how they could apply in other applications as well as applied to the demo code. Clear instructions on how the demo code should be executed. Specific
An accurate and logical explanation of Mashup principles and applied to the demo code with instructions on how the demo code should be executed. Logical
An accurate and logical explanation of Mashup principles and applied to the demo code. General
A basic but correct
explanation of Mashup
principles. Ambiguous
Little or no explanation of the principles or application.
GET ANSWERS / LIVE CHAT