Proposal for the design and implementationprototype of a


Description

This assignment will involve a proposal for the design and implementation/prototype of a distributed application/system to be implemented in Java (you may request an alternate language) that will be the target of Assignment 3.

As option 1 for this assignment your task is propose a project design of your own direction that leads to Assignment 3. The target project will implement a server(s) and the clients that will provide a robust distributed application in your selected problem domain. As an alternative project selection noted as option 2, you may follow the requirements of the document-vending system. Both projects will involve a proposal document describing the process of design, implementation, and testing of your application. The proposal from Assignment 2 will lead to a final document and implementation in Assignment 3.

Details
Your Distributed System (option 1)

The application must address the following properties:
- Multiple processing entities in the form of clients and servers.
- Shared data/state information.
- Robust operation in the form of communication, processing, and crash/restart capability.
- Must only use the Java language packages (no external packages other than for user interface support).
- Must be non-trivial and use literature support as the basis for the inspiration.

Document Vending Application (option 2)

This assignment will involve the design and implementation of a multi tiered client-server architecture (to be implemented in Java). Your task is to design and implement a server and the clients that will provide reliable transmission in the given problem domain. The client-server system will implement an application that will provide document-vending support. This distributed application will provide the client with a set of documents (and their associated costs) they may purchase. Clients will select their documents and must pay before receiving them.

You will design and implement a single server that will function as the document vendingapplication for multiple client connections (which you will also design and implement). The document vending application must be written in Java and does not include commercial database-engines (other than your own implementation of a data store). This server will provide a list of documents and their associated costs. A client may review the server's products and make download requests.

This assignment will involve the design and implementation of a cache service for your document vending application. You do not need multiple machines to implement or test this project. However, the assumption is that each element can exist on a separate physical machine and must use remote communication to accomplish a given task. The intent of the cache is to reduce read latency. This assignment will introduce the concept of a cache service and give you experience in the design and implementation of a multi-tiered system.

In this project, you must design and implement a single cache service that supports multiple clients (IE. any client created within your system will have access to the cache service). You must design and implement the cache functionality such that it supports the lookup, addition, and removal of elements in the cache. Thus, the cache must have a fixed size and must be consistent. This cache service becomes part of the Document Vending Server. Additionally, the Document Vending Server will interface with a data layer that stores the entire inventory of documents.

Each Java client must interface with your Java Document Vending Server. The client-server system will allow a user to send a request for a text file to the server. The assignment will require you to develop a client Java application (VClient), a server Java application (VServer) and the data server (DServer). The system will run on a single physical machine by invoking multiple instances of the Java Virtual Machine.

Details

Client-Server System
The design and implementation of the client-server file vending application will consist of multiple layers and their associated application protocols using a reliable transport protocol:
1. Presentation Layer
- The Client.
2. Processing Layer
- The Document Vending Application Server.
- Cache Service.
3. Data Layer
- Document Store.

The Client
A client program must be designed and implemented. This Java program will communicate with the end user and your Document Vending Server. For this assignment a graphical user interface for the client is neither required nor prohibited. In general, it is better to produce a correctly designed and properly implemented basic program than to produce a poor quality program with many bells and whistles.
The client will initially communicate with the Document Vending Server to start an application session. Your Java client program will provide the options to send a request for service from the server for processing. After session initialization, the user must supply one of the following options: - Get document names and costs (IE. return all file names present on the vending server along with their associated costs).
- Retrieve document name (read the entire contents of the given file from the Vending Server) and thus receive a notice of payment.
- At least one client must have the proper authority to add and remove documents.

The client must support an interactive mode, which includes the specification of the file and all processing options. Output must be displayed on the client's screen. Each client will communicate with the server. The communication is presented in more detail in the next section.

The Server
You will develop a Java server that functions as a Document Vending Service. The server will receive the input from the Java client. Your server must enforce the cost structure per document and handle exceptions.

Each client will send its request to the Document Vending Server. The server will then review the request and complete its duty by fulfilling the specified action. Each server request forms the basis of the client-to-server protocol portion of the communication.

The request contains one of the following options:

- Get document names and costs (IE. return all file names present on the vending server along with their associated costs).
- Retrieve document name (read the entire contents of the given file from the Vending Server) and thus receive a notice of payment.
This document vending machine has distinct types of documents with the following cost associated with these documents: A 75 units, B 110 units, C 130 units, D 200 units, E 200 units, and F 500 units. Initially, the inventory will have n of each object (specified as a startup parameter where n is an integer between 0-20). For the sake of simplicity, a document is equivalent to a file that has size of 1K times the given cost. Therefore, documents of type A are 75K, documents of type B are 110K, and so on.
The document name space is global and you may use standard files within the data server to represent the document data. After the server has received a request for a document, it will send a notice of payment prior to sending the document, provided the server may fulfill the request. If the document is in the cache (function explained in the next section), the server may reduce the cost of any document by 50%. Thus, the server-to-client protocol will consist of responses to the client's requests.

Cache Service
Your Document Vending Server must include a cache. A cache service will hold data elements of interest to the clients. Your design and implementation of a cache service must address the following issues:
- Cache size
a. Cannot be infinite.
b. Must make sense for the system.
c. Must be re-configurable based on an initialization parameter.
- Must support element query
a. Search for data in the cache.
b. Return data if present.
- Must support element creation
a. Adding of data to the cache.
b. Place in unused space if available.
- Must support element removal
a. Remove data from cache.
b. Define a formula to remove elements.
- Support cache consistency
a. Reads.
b. Writes.
- Cache service interactivity
a. Client interaction.
b. Server interaction.

Data Store
A separate data layer must be developed to support a persistent store for the documents associated with a global inventory. This data layer must implement its own mechanism and must not interface with any preexisting database package. However, you may use standard files within this data layer. This data layer must support the data requirements of the Document Vending Server (described functions above) and only interface with the Document Vending Server.

Deliverables for both options (1 & 2)

Initial Project Proposal Paper
Write an Initial Project Proposal Paper that accomplishes the task of specifying your proposal. The structure of Assignment 2 must follow the format presented below and contain the following:
- A rigorous problem description that is relevant and significant to the area of your choice. Your descriptions should be as precise and rigorous as possible.
- A discussion of the most influential papers on the topic.
- A proposal that:
Involves the further development of a solution in the focus area,
or Involves a new approach to the focus area.
- A literature review describing the background of your topic.
- An approach that discusses a potential methodology for the solution of the problem.

Address each of the points below in descriptions that smoothly transition using the framework listed below. The written work will be judged based upon the quality of your writing (grammar, word selection, clarity, organization, and smoothly flowing discussion), your understanding of the content (accuracy, analysis, and synthesis), and the experiment's compliance with the design and test methodology.

Use 12-point Times New Roman font, double-space, section headers and sub-headers, and citations and references in APA style.

Proposal items
introduction, problem and goal
This contains a concise statement of the problem, need and a concise definition of the goal of the work. The point of a goal is to establish a measurable entity that is used in evaluating your work. Provide the necessary background and discuss the relevant literature that was the focus of the research.
Discuss the problem in detail.
Review of the Literature
Provide detail on the research contributions that support the problem, need or goal.
Approach
Describe the method used to address the problem. An outline of the project proposal format is given below:
Front Matter
Title Page
Table of Contents
The Text

Chapter I. Introduction
Relevance, significance and need for the study Statement of the problem to be investigated and goal to be achieved Definition of terms Summary

Chapter II. Review of the Literature
The theory and research literature specific to the topic Summary of what is known and unknown about the topic

Chapter III. Approach
Specific Methods and Procedures to be employed
Resources
Summary
Back Matter
References
Content

Chapter I. Introduction
This chapter explains the reasons for conducting your study. Provide a clear and concise statement of the problem to be investigated and goal to be achieved. The problem is defined in specific terms. Reference the relevant literature throughout your paper. Do not provide an entry in the Reference section of your paper unless you have cited it in the body of the paper.

Chapter II. Review of the Literature
This chapter begins with an introduction that explains the purpose of the literature review and concludes with a summary. Organize the review by subject headings.

This chapter extends the context for the investigation. Use various sources to highlight and identify important previous work used to provide additional support. State the contributions other researchers have made to the subject explain the impact of their work on your study.

Chapter III. Approach
This chapter delineates, in detail, the ways in which the project/investigation will be conducted. The model described provides the potential methods, and measurements for the study.

References
All works cited in the paper must appear in the reference list.

Submit a ZIP file consisting of a Word document containing the Project Proposal Paper and a fulltext copy of each article referenced (only those that were cited) in your paper to the Assignment 2 category in Blackboard.

Request for Solution File

Ask an Expert for Answer!!
Database Management System: Proposal for the design and implementationprototype of a
Reference No:- TGS02227426

Expected delivery within 24 Hours