Development of distributed systems

Assignment Help Other Subject
Reference no: EM132845580

COMP1610 Programming Enterprise Components - University of Greenwich

Learning Outcome 1. Design, develop and deploy reliable and secure enterprise applications using a variety of Jakarta EE technologies.

Learning Outcome 2. Critically evaluate and compare enterprise features in Jakarta EE and determine their applicability in the creation of enterprise applications.

Learning Outcome 3. Demonstrate in-depth knowledge and understanding of techniques and technologies for the development of distributed systems, including the use of service-oriented architectures.

A bank account management system using Jakarta EE technologies.

Coursework Specification

A financial institution (bank) has approached you to build an application for them to manage bank accounts for their customers. They emphasised on the reliability, scalability and easy extensibility aspects (if new features need to be added or existing ones might be modified) of the developed application.

The functional requirements of the system are outlined below in terms of operations [activities that the customer can perform on their accounts], and views [visualisation aspects]:

i) A customer can open three different types of accounts, e.g., savings, current/checking, and ISA (individual savings account). However, the developed application should keep provisions to add other types of accounts [e.g., investment, child, etc.] in future as well to be relevant in the face of changing banking sector. In other words, the developed code should be easily extensible if needed to incorporate more account types.

Keep the attributes of the bank accounts as compact as possible. For example, bank sort code, branch name, IBAN, and account number are necessary attributes for each account. Please add additional attributes only if they are required for addressing the functionalities which are mentioned below. Follow similar principle for the customer attributes too (name, passport/id, address, phone number, email, and his/her login credentials might be necessary).

ii) A customer should be able to transfer or move his/her money from one account to another via the application besides the usual deposit, withdraw and view balance operations. You should also keep provisions to pay from a customer's account to an external account [payee account], and via direct debit payment options.

iii) A few views are primarily required: 1) a summarised view of number of accounts held by a single customer and the balance of each account, and 2) A detailed view of his/her particular account with transactions for the current month,

iv) A user interface (UI) addressing all the above functionalities. It should be a Web application using Jakarta EE, which offers 1) customer log-in and 2) the execution of the above functionalities that are mentioned in i), ii) and iii) through the UI. The implementation should use entity classes and java beans for back-end functionality and JSP/JSF for the front- end (including HTML/CSS incorporation if it is required).

The whole coursework is divided into six tasks which you are required to carry out. The tasks are described in detail in the following. Please read and follow the instructions carefully. Task 2 should be attempted only after completing Task 1.

Task 1:
A complete working system addressing the functionalities required thus far. Remember, there are many provisions to utilise object-oriented (OO) design and programming for this case study. Make sure you outline them in your report - see Section 3 of Task 6 for more information.

You are free to draw any valid assumption that are not in conflict with the system's functional requirements. For example, the customers may already be loaded inside the system/database "offline". There is no need for a registration system for customers in this coursework. You may initialize the data in your database using an SQL script (or equivalent) so that it has some initial data in order to fully demonstrate the functionality that you have implemented. You can use any relational database management system that you prefer (e.g.,

JavaDB, MySQL, etc.). Make sure the database is normalised with primary/foreign key constraints.

You can assume a customer only need a login ID and password to access the system that you have implemented. In other words, your application's first page or window should be a login screen requiring only the login ID and password. You SHOULD have a default pre- existing account created [log ID: ha07, password: ha07] which will be used by your tutor for login while marking.

Task 2:
Suppose a new type of payment method (e.g., standing order) needs to be added on top of the existing ones as discussed in functionality (ii) [Page 3]. Also, there should be provisions to add joint accounts [another type of account] for customers.

Remember these tasks will only be attempted after you finish Task 1 - not at the same time. As a result, you will be able to identify and discuss the pros and cons of integrating this new type of payment method (and account type) to the already existing system which we are looking for here.

In your documentation (Section 2 of Task 6), you need to address the following under this task:
1) A list of files that you needed to change to incorporate
2) Screenshot of the code segments which were added or modified to achieve this.
3) A discussion of pros and cons of your followed approach. Reflect if there could have been any better approach. If yes, how?

Task 3:
Incorporate ORM Frameworks using a Java Persistence API (e.g., Hibernate) inside your application. You can adopt this from the beginning in Task 1 (might be easier) or can adopt it even after completing the above tasks.

Task 4:
Create a Web Service (SOAP or REST) which exposes this application's functionality to be consumed by other applications. The Web service will accept a date from a customer and his bank account detail and will return that day's number of transactions (+list of transactions).

Subsequently, create a small Java application [e.g., desktop client] that will retrieve the transactions of a given day from the server. For example, if a customer wants to retrieve the transactions of 1st January, 2021 of his/her particular bank account, the date (parameter) will be included inside the request together with the bank account details from this client. The reply from the server will consist of the number of transactions + the list of transactions on that day for that account. Keep your client application as simple as possible [any type of simple UI is accepted for this application - Graphical UI is not required but you are free to build one if you prefer]. Note that, you may also need to authorise this application with the server [customer's login credentials] to retrieve the transaction of his/her account on that day.

Task 5:
The above functionalities are the core requirements of the application. Additionally, there is an opportunity if you want to demonstrate additional skillset. You can integrate any relevant additional features (i.e., functionalities) making use of Jakarta EE technologies for this task. For example, if you can containerise the whole application using Jakarta EE, GitHub, Docker etc. (or even hosted from Cloud) to make it platform independent, that can enhance your development skills overall. This is just only an indication of the additional feature [not mandatory] - you are of course free to choose any feature here as long as they are Jakarta EE development related tools/techniques.

Task 6:
Prepare a final report which should contain the following sections:
Section 1: A concise table containing a checklist of the tasks that you have been able to implement. Please refer to the task list d discussed above. An example table may look like:

Task

Implementation Summary

1

Implemented. Only one view (summary of accounts) is addressed though.

2

Implemented but the joint account type could not be integrated with the existing system.

3

Fully implemented.

4

Implemented but only the server side (no client application)

5

No additional feature/functionality was implemented.

Section 2: Screenshots demonstrating each of the tasks that you have implemented. Create separate sub-sections for each task and give captions and/or annotations for the screenshots to explain which functionalities of the task are being demonstrated. Do not forget to address the specific documentation requirements mentioned for Task 2 in this part.

Section 3: Critically reflect (maximum: 500 words) on your experience of using the various design and coding techniques that you may have adopted in the context of building this system, especially:
1) If you have utilised any of the four pillars of OOP. Identify where and why [i.e., benefits]?
2) The relevant Jakarta EE technologies adopted and their relevance (or benefits) with respect to the coursework.

Attachment:- Programming Enterprise Components.rar

Reference no: EM132845580

Questions Cloud

Calculate diluted earnings per share : Ave. Market price in 2020 was $30 (market price and option price adjusted for split) = 60,000 shares. Calculate diluted earnings per share for 2020
What does the p-value mean in context : a. What does the p-value mean in context? b. What conclusion should the journalist report?
What is the probability that 3 or fewer applicants : What is the probability that 3 or fewer applicants will not pay off the initial loan?
Identify healthcare behaviors : Identify challenges and barriers to healthcare and outcomes related to these challenges. Identify healthcare behaviors (i.e. nontraditional therapies)
Development of distributed systems : Demonstrate in-depth knowledge and understanding of techniques and technologies for the development of distributed systems
What is replication : Present an example that illustrates the differences between replication and repeated measures.
What is the WACC : The expected return of the market is 8%. TBQ's debt cost of capital is 6% and their corporate tax rate is 40%. What is the WACC
Show in a recursive formula for the population of tacoma : In 2020, the population of Tacoma was about 221,259 and was increasing at about 1.31% annually. Answer the following questions based on the assumption that this
How has defined america role in world affairs : So- in Woodrow Wilson's speech, he calls on the United States to "make the world safe for democracy." What do you think about this goal?

Reviews

Write a Review

Other Subject Questions & Answers

  Cross-cultural opportunities and conflicts in canada

Short Paper on Cross-cultural Opportunities and Conflicts in Canada.

  Sociology theory questions

Sociology are very fundamental in nature. Role strain and role constraint speak about the duties and responsibilities of the roles of people in society or in a group. A short theory about Darwin and Moths is also answered.

  A book review on unfaithful angels

This review will help the reader understand the social work profession through different concepts giving the glimpse of why the social work profession might have drifted away from its original purpose of serving the poor.

  Disorder paper: schizophrenia

Schizophrenia does not really have just one single cause. It is a possibility that this disorder could be inherited but not all doctors are sure.

  Individual assignment: two models handout and rubric

Individual Assignment : Two Models Handout and Rubric,    This paper will allow you to understand and evaluate two vastly different organizational models and to effectively communicate their differences.

  Developing strategic intent for toyota

The following report includes the description about the organization, its strategies, industry analysis in which it operates and its position in the industry.

  Gasoline powered passenger vehicles

In this study, we examine how gasoline price volatility and income of the consumers impacts consumer's demand for gasoline.

  An aspect of poverty in canada

Economics thesis undergrad 4th year paper to write. it should be about 22 pages in length, literature review, economic analysis and then data or cost benefit analysis.

  Ngn customer satisfaction qos indicator for 3g services

The paper aims to highlight the global trends in countries and regions where 3G has already been introduced and propose an implementation plan to the telecom operators of developing countries.

  Prepare a power point presentation

Prepare the power point presentation for the case: Santa Fe Independent School District

  Information literacy is important in this environment

Information literacy is critically important in this contemporary environment

  Associative property of multiplication

Write a definition for associative property of multiplication.

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