Task - Implement four distinct applications

Assignment Help Computer Engineering
Reference no: EM132164086

Network and Distributed Computing Assignment -

Your task in this assignment is to implement four distinct applications. Two applications will be architected in a microservice-based manner running in separate web apps on the same instance of Apache Tomcat. Two applications will be command-line applications consuming the endpoints exposed by the micro services.

Application 1 - Identity Service

The identity service provides user authorisation. It will expose two endpoints. It should be deployed to the context path 'identity'.

The first endpoint is named Login. It exposes two methods:

  • String login(String username, String password)
  • Boolean logout(String key)

The second endpoint is named Authorisation. It will expose one method:

  • Boolean authorise(String key)

Application 2 - Currency Service

The currency service manages all aspects of currency listing and conversion. It will expose two endpoints. It should be deployed to the context path 'currency'.

The first endpoint is named Conversion. It will expose three methods:

  • String[] listRates()
  • Double rate Of(String from CurrencyCode, String to CurrencyCode)
  • Double convert(String fromCurrencyCode, String toCurrencyCode, Double amount)

The second endpoint is named Admin. It will expose eight methods:

  • Boolean addCurrency(String sessionKey, String currencyCode)
  • Boolean removeCurrency(String sessionKey, String currencyCode)
  • String[] listCurrencies(String sessionKey)
  • String[] conversionsFor(String sessionKey, String currencyCode)
  • Boolean addRate(String sessionKey, String fromCurrencyCode, String toCurrencyCode, Double conversionRate)
  • Boolean updateRate(String sessionKey, String fromCurrencyCode, String toCurrencyCode, Double rate)
  • Boolean removeRate(String sessionKey, String fromCurrencyCode, String toCurrencyCode)
  • String[] listRates(String sessionKey)

Application 3 - Admin Client

The Admin Client is a command line application which allows an administrator to manage the Conversion Service. It will consume services offered by the Admin endpoint. It must be implemented in a Java class called 'AdminClient'. Do not place this class in a package!

The functionality of the Admin Client mirrors the functionality offered by the Admin endpoint. It is simply exposing it through a terminal interface. However, the client must facilitate the ability for a user to authenticate with the Identity Service, and hence pass the session key to all calls to the Admin endpoint.

Application 4 - Conversion Client

The Conversion Client is a command line application which allows a user to calculate currency conversions. It will consume services offered by the Conversion endpoint. It must be implemented in a Java class called 'CurrencyClient'. Do not place this class in a package!

The application does not require a user to login, all functionality is unrestricted. The application will present the user with a prompt. This is a free-form text prompt. The user may type one of 4 commands at the prompt, supplying all required parameters. After a command is executed, the application will return to the prompt.

If an invalid command is supplied, the application will present an error and return to the prompt.

Attachment:- Assignment Files.rar

Reference no: EM132164086

Questions Cloud

Determine the appropriate response strategy or technique : Dr. Bili Mattes, the Provost for Harrisburg University (HU), is hosting a campus event and she wants to ensure it is a complete success.
Discuss ethics in financial reporting : After reading about financial statements, why are financial statements important to internal users such as employees, managers, and directors?
Why the presenter was able to make such a strong connection : Think about a situation in which a presenter had a significant impact on you. Describe the situation and analyze why the presenter was able to make.
Determine what the project manager should communicate : Determine what the project manager should communicate to the customers about the project unknowns.
Task - Implement four distinct applications : SENG3400/6400 Network and Distributed Computing Assignment - Your task in this assignment is to implement four distinct applications
How can you keep your motivation strong : Do you start new projects (such as college) with great enthusiasm, only to lose motivation along the way? How can you keep your motivation strong?
Determine the ending balance in shareholders equity : Determine the ending balance in shareholders' equity. Why would organizations such as labor unions be interested in this?
Which delivery option do you recommend for the speakers : What other supply chain issues and costs must V2 take into consideration when making these transportation decisions?
Define career with ultimate goal of discovering information : For this essay, you will investigate a career with the ultimate goal of discovering information that is personally useful. Your approach to the topic.

Reviews

len2164086

11/12/2018 1:13:13 AM

Note: Please read the important information at the end of specification! Before you begin, you should familiarise yourself with Apache AXIS by following the example given in the lecture slides for Java Web Services and SOAP. This example will lead you through setting up a Tomcat web server to deploy web services and will show you how to generate a WSDL and stub code for clients. It also shows you how to setup your environment to work correctly with Tomcat and AXIS.

len2164086

11/12/2018 1:13:07 AM

Note: Conversions need to be inserted between both currencies. If a conversion rate r from currency A to currency is required, a conversion rate from B to A must recorded at (1/r). Note: There is no requirement for all known currencies to have conversion rates. If the user requests a conversion between two currencies that do not have a conversion rate, you are not to try and find ‘intermediate’ conversions to facilitate the transaction. If the conversion cannot take place, simply inform the user in the client that the conversion is not supported.

len2164086

11/12/2018 1:13:01 AM

Submission - You are not to use any third-party libraries apart from Apache AXIS. If you server requires beans to be compiled, please specify this in your submission. Compiling the services & clients should be as simple as javac *.java. You must include all sources. If there are any extra steps to compilation, please document this in your submission. You may assume that any Apache Axis dependencies are correctly configured in the markers Classpath.

len2164086

11/12/2018 1:12:55 AM

All assignments are to be submitted via Blackboard. Assignments are to be implemented using Java 8 & Axis 1.4, running on Apache Tomcat 8.5. Assignments which do not follow this specification will not be marked. Submissions are as Zip files only! Your submission will include the four applications (each in their own folder & clearly labelled as per the application name) with all required sources. You will also submit the four generated WSDL files (one for each endpoint) in their own folder named ‘wsdls’. Do not submit nested zip folders.

len2164086

11/12/2018 1:12:45 AM

Marking Scheme - Total marks: 25 (25% of your final course mark) Conformance to Specification – 10 marks (2.5 marks per application)- Are your web services correctly named? Are your clients correctly named? Do you implement the described processes? Functionality – 10 marks (2.5 marks per application) - Do you implement all required functionality? Do you have bugs? Do you handle errors correctly? Do you implement the described processes? Code Quality – 5 marks - Naming conventions? Commenting & Documentation? Formatting? Readability? Error handling? We won’t be testing your implementation with a ‘correct’ implementation in this assignment. Assignments will be marked in respect to conformance to the specification and the quality of your code & implementation. You are not to place all web service endpoints into the same web app context, or the same .jws files. If you do so, you will be deducted marks. If you do not name your service endpoints or methods according to the spec, you will lose marks.

len2164086

11/12/2018 1:12:39 AM

Assignment - marks are up! - Just like the heading says, Assignment and Feedback sheets are up. Some quick general feedback: Read the Spec! When it says that input is coming from a File, that is provided as a command-line argument, give me that! Make sure you're submitting correctly - this means making sure everything is zipped in ONE archive, and that the archive is a ZIP file. Test your final submission. I saw submissions that I am pretty sure would have worked before being cleaned up and packaged; but that process broke them! Stop depending on your IDE's! IDE's that automatically package everything, or generate complex compile commands, and etc, only serve to a) make you a lazy coder, b) introduce more issues. Trust me; Sublime/ Notepad++/Atom and the appropriate SDK/Compiler will serve you MUCH better than an IDE that is doing things 'under the hood' that you do not understand.

Write a Review

Computer Engineering Questions & Answers

  Mathematics in computing

Binary search tree, and postorder and preorder traversal Determine the shortest path in Graph

  Ict governance

ICT is defined as the term of Information and communication technologies, it is diverse set of technical tools and resources used by the government agencies to communicate and produce, circulate, store, and manage all information.

  Implementation of memory management

Assignment covers the following eight topics and explore the implementation of memory management, processes and threads.

  Realize business and organizational data storage

Realize business and organizational data storage and fast access times are much more important than they have ever been. Compare and contrast magnetic tapes, magnetic disks, optical discs

  What is the protocol overhead

What are the advantages of using a compiled language over an interpreted one? Under what circumstances would you select to use an interpreted language?

  Implementation of memory management

Paper describes about memory management. How memory is used in executing programs and its critical support for applications.

  Define open and closed loop control systems

Define open and closed loop cotrol systems.Explain difference between time varying and time invariant control system wth suitable example.

  Prepare a proposal to deploy windows server

Prepare a proposal to deploy Windows Server onto an existing network based on the provided scenario.

  Security policy document project

Analyze security requirements and develop a security policy

  Write a procedure that produces independent stack objects

Write a procedure (make-stack) that produces independent stack objects, using a message-passing style, e.g.

  Define a suitable functional unit

Define a suitable functional unit for a comparative study between two different types of paint.

  Calculate yield to maturity and bond prices

Calculate yield to maturity (YTM) and bond prices

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