Expected duration: less than 1 week PROJECT REQUIREMENTS *Netbeans IDE must be used* *All the relevant files will be provided*
The project should have a report documenting the solution and answers to the research elements (sections C & D). The structure of the report should contain: 1. Self-evaluation of the achieved implementation (brief and precise). A functional and technical description of the program, and discussion of your major design decisions. 2. Maximum of 800 words for Section-C and any charts describing the results of the experiments. 3. Maximum of 1000 words for Section-D (brief and precise). 4. List of references.
II. Scenario/Problem The goal of this project is to demonstrate an understanding of using Service Oriented Architecture principles in software applications integration. In the first section you will utilise web services to compose a travel agency. The travel agency consists of a flight reservation service that you should build yourself and an external currency conversion service that you need to consume and integrate with the reservation service. The valueadded functionality resulting from the integration should also be exposed to the travel agency clients as a web service. The research element of the project investigates using advanced semantic-based techniques to further extend the application. A - Core Web Services 1. Implement flight booking service a) Currently available offers should be held in an XML file based on an XSD schema containing: origin city, destination city, airline, available seats, number of connections, and a complex ‘fare’ element containing currency and value. b) The web service should return a number of available offers and update seat availability when a booking is made. You might opt to utilise JAXB to generate helper Java classes, which allow reading and populating the XML documents. c) Implement a search functionality allowing customers to find suitable flights using various criteria such as origin/destination, date, direct flights, etc. More sophisticated search functionality will merit higher marks. B – Web Service Composition 2. Integrate currency conversion service Download the pre-coded project with the currency conversion web service attached and deploy it. Create a web service client that integrates both services by consuming the flight service to reserve flights, and consuming the currency conversion service to auto-convert the flight booking fare to that preferred by the customer. 3. Extend functionality by utilising external REST APIs Add an ‘Airport_Address’ XML element to the flight reservation XML schema, making sure that your flight routes contain few origin-destination combinations located within the same country (e.g. London-Edinburgh, Marseille-Paris, etc.), then use public RESTful web services (APIs) to implement the following functionality: 1. Use a Directions API, such MAPQUEST1 (https://developer.mapquest.com/documentation/directions-api/ ) to offer a ‘driving’ alternative for the selected origin-destination route. The REST service returns driving directions in XML or JSON formats. 2. Use an external API to get more information about the destination city or country, such as nearby attractions, population, cuisine, etc. 1 https://developer.mapquest.com/documentation/directions-api/
C – Analysis of Quality of services ‘QoS’ Referring to your implementation, describe Service Oriented Application Services’ performance and scalability challenges, in particular with the increase in service demand - such as the number of concurrent client connections and the size of the payload (response messages). Include physical QoS testing for the developed application. Explain how Cloud Computing provision can address these issues, and referring to the deployment model, elaborate on the challenges accompanying migration to the Cloud Infrastructure.
D – Application of Semantic Web and Linked Data technologies After reading the two articles discussing Semantic Web technologies and their application to publish Open Linked Data on the web listed below; perform the following tasks: https://www.ted.com/talks/tim_berners_lee_the_next_web https://eprints.soton.ac.uk/271285/1/bizer-heath-berners-lee-ijswis-linked-data.pdf
1. Read and analyse the two papers paper, using external resources on the subject matter of ‘Semantic Web’ and ‘Linked Open Data’ to assist your understanding of the subject area. 2. Analyse how you can utilise Semantic technologies to extend the application you built in sections A&B to recommend ‘themed’ holidays (e.g. adventure, music, etc.) that match specific client profiles. Refer to how Ontology engineering and Semantic reasoning (inference) contribute to your recommended system and describe how you can consume Open Linked Datasets to enhance its functionality. Endeavour to use other sources of information (papers, articles, etc.).