I. Assessment Requirements
The practical element (sections A & B) of the coursework will be viva examined. Please have a top-level schematic diagram ready for the viva.
You should submit a coursework report documenting your solution and answers to the research elements (sections C & D). The structure of the report should contain:
Â
1. Self-evaluation of the achieved implementation (please be brief and precise, no introductions or background information needed) including functional description of your program, and discussion of your major design decisions. Please include toplevel design diagrams only. Try to fit in 2 pages.
Â
2. Maximum of 800 words for Section-C and any charts describing the results of your experiments.
Â
3. Maximum of 600 words Section D. Again please adhere to the required comparison minimum introductory information.
Â
4. List of references and appendices.
II. Assessment Scenario/Problem
The goal of this coursework is 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 Shares Brokering system. The Shares Brokering system consists of a shares acquisition service that you should build yourself and an external currency conversion service that you need to consume and integrate with the shares acquisition service; both services can be complemented by consuming external APIs. The research element of the coursework investigates using advanced (semantic-based) techniques to further extend your application.
Â
A - Core Web Service (weighting - 35%)
1. Implement Shares Brokering service
a) Current shares on trade should be held in a file containing a JSON Array with elements (JSON Objects) containing: company name, company symbol on the stock exchange, number of available shares, the currency and the price of the share, and date of the last-update of the share price.
You can opt to use a Database to store the JSON Array and any additional relevant information, but a simple text file is sufficient for the above deliverable.
Client
Application
(C#/Java/JSP)
Currency Conv
Web service Shares Brokering
Web Service
Stock Quote
REST API
Directions
Web Service
Exchange Rate
REST API
(Google,
Openstreet)
Software Applications Integration using Web Services
b) The Web service should allow users to list shares details, perform a transaction on the shares (purchase and sell), and update the number of shares on offer when a transaction is made price.
c) Implement a search functionality allowing customers to list sharesâ offerings using various criteria such as company details, highest price, etc. More sophisticated search functionality will merit higher marks.
Â
The choice of client is your decision. GUI Apps such as Java Frames or JSP or ASP are more appreciated
but should not be attempted at the expense of providing core functionality.
Â
B â Web Service Composition (weighting - 35%)
2. Integrate currency conversion service
Download the pre-coded project with the currency conversion Web service from the moduleâs NOW room site and deploy it. Consume the currency conversion service in the shares brokering service to auto-convert the share price rate to the rate preferred by the customer.
Â
3. Extend functionality by utilising external REST APIs
a) Research and utilise external RESTful service to extend the functionality of your shares brokering system. Example of such service can be:
⢠A service that returns up-to-date currency exchange rate.
⢠A service that returns the latest share value quote for a particular company.
b) Implement your own RESTful service to persist the output of the consumed REST API for off-line use. For instance, your RESTful service can update the exchange rate of your currency conversion service or the latest value of the share price.
In order to achieve the highest marks, you must show initiative and inventiveness beyond the stated specification; the contribution of the advanced functionality depends on technical challenge in its implementation. Examples include:
â utilising additional external REST APIs (e.g. to display relevant tweets or other info about the shares company)
â implementing non-java clients to demonstrate SOAâs platform independence
â offering the response one of implemented Web Services in XML as well as JSON
Â
C Analysis of Quality of services âQoSâ (weighting - 20%)
Referring to your implementation, describe SOA Web 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). Highest marks will be awarded to submissions that perform physical QoS testing for the developed application. The Software Hub offers access to the JMeter performance testing tool.
Â
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. Can containerisation address some of these challenges?
Software Applications Integration using Web Services
D â Application of Semantic Web and Linked Data technologies (weighting - 10%)
In the NOW room, find links to two articles discussing Semantic Web technologies. and their application to publish Open Linked Data on the web; perform the following tasks:
1. Carefully 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. Critically analyse how you can exploit public datasets published in the Linked Open Data Cloud to enrich the information held about your sharesâ portfolio. The objective is to extend the application you built in sections A&B to facilitate âsmarterâ search for companies to trade shares with the stock exchange. Endeavour to use
other sources of information (papers, articles, etc.).