Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Homework Help/Study Tips Expert

Part -1:

Objectives

This unit aims to teach the theoretical aspects of communication, concurrency, synchronisation, and fault-tolerance in distributed systems. These aspects are applicable in both mobile distributed systems, and fixed distributed systems where computers are connected via fixed communication links.

The purpose of this assignment is to assess your understanding of distributed systems, and the theoretical aspects of communication, and fault-tolerance as it applies to both distributed systems and mobile distributed systems. You focus on the application of theoretical aspects with respect to software development for these systems.

Learning Outcomes Assessed

This assessment item is designed to test the following learning outcomes provided in the unit profile.

1. Compare and contrast distributed systems with non-distributed systems

2. Discuss the social issues arising from ubiquitous distributed systems.

3. Critique the issues involved in developing reliable and secure distributed systems.

Assessment task 1

Your task for this assignment is to write a review article which will:

1. Differentiate between distributed systems, mobile distributed systems, and non-distributed systems.
a. What is the definition of a distributed system?
b. What are the differences between distributed systems and mobile distributed systems?
c. What is meant by ubiquitous distributed systems?
d. How the above systems differ from non-distributed systems?

2. Define and explain theoretical aspects of communication, in distributed systems.
a. What are the types and characteristics of interprocess communication?
b. How Java Programming language supports the use of three of the interprocess communication primitives in application development?

3. Compare and contrast the fault-tolerance requirements in distributed systems and mobile distributed systems.
a. What are the process and communication failures to be considered?
b. Are there additional failures to be considered in case of mobile distributed systems? Compare and contrast.

4. List the main social issues arising from the use of ubiquitous distributed systems.
a. What are the well-known social issues reported from the use of ubiquitous distributed systems arising from cyber security?
b. What measures can be used in software application development to reduce the impact of these social issues?

Part -2:

Objectives

The purpose of this assignment is to assess your competency in the use of networking protocols, thread programming, and database access in the development of distributed applications.

Assessment task 2: Paired Programming

Your task for this assignment is to design, implement, test and document a client/server application that allows multiple users to access stored data, or add new data. A distributed system often has a backend database for storing and retrieving business data. In this assignment, you are to implement a multiple-threaded client/server application for managing home inventory allowing all adult residents of the house access the stored details. The application also allows the house owner to add new item to the inventory.
All users accessing the home inventory system should able to view the following data:
1. List of available categories of items stored
2. List of purchases of items
3. Specific details of all the items within a chosen category

The home owner accessing the Home Inventory System should able to add a new purchased item to the list of purchases and additional details to the list within the specific category.

Sever side
Request for view Inventory
The server creates a new thread for each client connection (thread-per-connection model). The server side receives client requests, processes them and return results. If the client request is to view information related to inventory, the server should parse the request received from the client and execute appropriate queries to extract data from the database and send the data back to the client. Multiple read requests are executed concurrently.

Request for add inventory item
If the client request is to add inventory item, the server should parse the request, execute database query to add the details to the appropriate table. This should be synchronised as multiple clients will be running through multiple threads.
Client side
The client side interacts with the user, parses the request and sends it to the server. It receives messages from the server and displays to the user. The query frontend provides a menu to let a user choose any of the functions continuously until the user chooses to exit the system.
The Category list contains three categories and these are:
1. Furniture
2. Kitchenware
3. Appliance
The database should have 4 tables and these are:
1. List of categories
2. List of purchases
3. List of furniture
4. List of appliances
If the user selects the category 2 Kitchenware a message should be displayed informing no items are added yet. If the user wants to add an item, initially the purchase details should be collected followed by the data required within the category. There is no validation of users required. Assume the users do the right access and only the owner will choose the option to add an item.
The test data required for the assignment are given in the file COIT20257Assign2Data.csv. Please refer to example source code given in Week 9 folder to access database programmatically, use prepared statements to insert and query database.

Data Structures
You may follow the following class design.
- Category class
To store the name of categories.
- Purchase class
To store and manipulate the details read from the given file including purchase date, price, supplier and location. It is assumed that all the purchases are from shops (no online purchases).
- Furniture class
This class stores the following details of a furniture:
FurnitureType, setName, Warranty, and No. Of Pieces. A Funrniture purchase can be a set for example dining which includes table and number of chairs.
Appliance class
This class stores the following details of an appliance: applianceType, make, modelNumber, warranty

Database Utility class
This class will have necessary data structures and methods to create the database and the Tables of Category, Purchase, and Furniture, Appliance, populate the tables, and extract data from the tables. Use Prepared Statements to populate the tables using values loaded from the file. Also use Prepared Statements to extract data and store in appropriate data structures.
- InventoryServer class
This class will have necessary data structures and methods to create the sockets for client connection, creating threads for each client. This class will have main() method to invoke methods from other classes to run the application.
- InventoryClient class

This class will display menus, take the user input, create socket and request connection to the server. This class will also send/receive the messages between the client/server.

Coding

Include necessary accessor, mutator methods, constructors, and toString() method for each class. Also, follow good coding practices, using meaningful names, camel case notation for naming, constants as necessary, and include meaningful comments.

Paired Programming
Complete the program design and coding in pairs. You choose another student from your tutorial to work with in consultation with your tutor. Distance students also can work in pairs. If there are any problems please contact the Unit Coordinator.

Individual Report

Your report should be written individually and submitted by each one of you. In your report clearly show your partner for the application development.

Ideally, the Home Inventory System should be a cloud based application. This should allow the vendors to upload purchase details and documents such as Warranty certificate, purchase receipt, and instructions manual. Also, a user may want to access information while away from home, for example, while purchasing spare parts. When theft or damage caused by natural calamities happen, the data stored in a cloud can be accessed.

The added convenience of having ubiquitous availability of access to Home Inventory System creates the necessity for additional security as home inventory is part of assets owned by individuals or families.

1. Write how the Home Inventory System can be extended to a ubiquitous distributed system focusing on the additional cyber security requirements and Java language constructs that could be used for implementation. You need to write a maximum of 500 words.

2. Provide a diagrammatic representation of the system architecture.

3. Include a test plan, and user instructions.

Attachment:- Assignment Template.rar

Homework Help/Study Tips, Others

  • Category:- Homework Help/Study Tips
  • Reference No.:- M92058239
  • Price:- $90

Priced at Now at $90, Verified Solution

Have any Question?


Related Questions in Homework Help/Study Tips

As part of the criminal justice process corrections play a

As part of the criminal justice process, corrections play a very important role for society and public policy. You will become familiar with the trends in local, state, and federal prison populations for the period of 20 ...

Question prior to beginning work on this assignment read

Question : Prior to beginning work on this assignment, read the required textbook chapters and articles for this week and view the American Psychological Association behavioral assessment video. For this discussion, you ...

Question - in your opinion what makes literature good or

Question - In your opinion, what makes literature "good" or "bad"? How comfortable are you in determining the quality of literature? Do you find it easy to critique a text? If not, what do find difficult? How does your c ...

Instructions very often the same product is marketed to men

Instructions: Very often the same product is marketed to men and to women in very different ways, products that by definition aren't necessarily "gendered." For this essay, find two magazine ads for three different types ...

Questionnbsp general psychologyuse psychology 8th

Question:  General Psychology USE psychology 8th edition • Read the article on the next page from The Philadelphia Inquirer entitled "Is blackout drinking the same as passing out from alcohol? A Penn psychologist explain ...

In the course you chose an every day contract to analyze

In the course, you chose an every day contract to analyze for this project. Your analysis should be 4 pages (typed double spaced) in length (cover pages and reference pages do not count towards the page count) and follow ...

Discuss a social change that you have experienced describe

Discuss a social change that you have experienced. Describe how this change impacted society as a whole and your own individual behaviors. Was the social change positive or negative in your perspective? Did your life get ...

Title - gunned down the power of the nra template for

Title - Gunned Down: The Power of the NRA Template for Analyzing the Video 1) State as accurately as possible the video's purpose for presenting this information. Explain your analysis/answer in five (5) or more sentence ...

What is an example of relative dating and an example of

What is an example of relative dating and an example of absolute dating in geologic time. How can we determine the age of a rock.

Question 1legalize or bannedwhat are some drugs harmful and

Question 1: Legalize or banned What are some drugs harmful and should be outlawed, while others are legal. Why should alcohol be legal while cocaine or heroin is not? What elements of drugs lead people to view them as pr ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As