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

  Calculate correlation between happy and health

Calculate correlation between "happy" and "health".Calculate correlation between "health" and "helpsick" Calculate the correlation between "happy" and "helpnot"

  Global business in context assignment

Global Business in Context Assignment help and solution, Ulster University - assessment writing service - what does the country ‘Germany' mean to you

  What actual health concerns and risk factors you identified

What actual health concerns and risk factors have you identified? What are some opportunities to promote health and wellness for Maria?

  Discussion about the key variables in the selected article

Write a 750-1,000-word paper about your selected article. Be sure to include the following in your paper: A discussion about the key variables in the selected.

  Discuss the reflexology complementary therapy

Post must be 150-200 words. Explain the relationship of reflexology complementary therapy to natural body systems and their functions.

  Define a blog that is related to your topic

Find a blog on your topic. Use your preferred search engine to search for a blog that is related to your topic using your keywords

  Describe the history of the theorist

Describe the history of the theorist. Who s/he is? Where s/he comes from? Any significant life information about the theorist. Then describe the theory itself.

  How utilize critical thinking habits-of-mind in your dialog

You are welcome to bring your own opinions into this discussion, but they must be viewed through the lens of science, will be graded on how you utilize Critical Thinking Habits-of-Mind in your dialog.

  How to enhance cognitive and language skills

Do you notice any enhancement in cognitive and language skills since age 4? Provide example. Does your child have any special requirements with regard to cognitive or language development.

  How are alcohols oxidixed specifically with chromic acid

How are alcohols oxidixed specifically with chromic acid (CrO3). And what would be an example of an alcohol that is not readily oxidized by CrO3?

  Define past will help you to succeed in a new writing class

explanation of how writing you've done in the past will help you to succeed in a new writing class

  Review the picot article evidence-based practice

NRS-433V: Review the PICOT article "Evidence-Based Practice, Step by Step: Asking the Clinical Question: A Key Step in Evidence-Based Practice" along with the "Chapter 18: Using Research in Evidence-Based Nursing Practice" PowerPoint resource.

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