Kapalı

Distributed appointment calendar app

Current state:

There is an application that realizes the functionalities of a distributed appointment

calendar. I provide it as a zip file.

The backend has one server instance. Your job is to extend this single instance to a

multi-layer architecture described in the following section called Target state.

Used Technologies: Java RMI, Java Swing, MySQL.

“Client” and “GUI” packages should not be changed.

Target state:

I expect your project to contain two important parts: Root Server and Child Servers.

Server side structure:

When the application is initiated, your code creates one Root and two Child servers.

The number of Child Servers grows by demand. Note that the structure of the System

must be a binary tree. Your expansion of the current code must have the structure

shown in image (Refer to the "[login to view URL]").

What I expect as a binary tree is:

● N-layer architecture: the first layer contains 2 Child Servers, the second layer has

4 Child Servers, the third layer contains 8 Child Servers, the fourth layer includes

16 child servers, and so on.

● Each Child Server has its separate database containing three tables. The tables

are User, News, and appointment. This database contains only the data of its

clients.

Main functionalities:

1. If the user is new in the System, it will connect to the Root Server for the first

time, and depending on the traffic the Root Server assigns it to a Child Server.

The root server keeps a record that has the information of each client and the

child server it is connected to. For example Root Server knows that client A is

kept on child server 3.

2. The first 20 clients will be handled by the two child servers of the first layer (10

clients per server). When the number of clients is more than 20, the second layer

is created (by Root Server). The second layer has the capacity to serve 40

clients (10 clients per child server). If the number of clients is more than 60, the

third layer with a capacity of 80 clients is created (by Root Server). Your code

should implement this logic and account for the increase in the number of clients

by creating extra layers and child servers.

3. Your code must be able to search for a specific client in the binary tree. For

example, user X (on the main right branch, layer 3) wants to arrange an

appointment with user Y (on the main left branch, layer 5). This search method

serves as a mechanism to send the invitation (calendar app) from one user to

another user in different layers of the structure.

4. If one of the child servers fails, the clients' data on that server and data on its

Child Servers should be recoverable. Your code contains a backup strategy or

algorithm for recovering the data. (Could be discussed)

Summarized checklist:

1. The load balancing mechanism should be done as described.

2. It is important to describe the search method, how an invitation is sent from

server A, where user A exists, to server B, where user B exists.

3. If a server fails that has additional hierarchy levels downwards, there must be a

mechanism to recover its data.

4. The code must be clean (well-commented and according to proper naming

conventions).

Beceriler: Swing (Java), Java, MySQL

About the Client:
( 0 değerlendirme ) Wuerzburg, Germany

Proje NO: #32676648

Bu iş için 9 freelancer ortalamada €197 teklif veriyor

liveexperts123

Hi there, I have read your project description and i'm confident i can do this project for you perfectly.I still have a few questions. please leave a message on my chat so we can discuss the budget and deadline of the Daha Fazla

€250 EUR in 5 gün içinde
(22 Değerlendirme)
6.2
mlobovic

Hi Nice to meet you. I have read your job carefully and I'm very confident about your job. As a talented application developer, I have much experience with JAVA for more than 10+ years. If you give me a chance to chat Daha Fazla

€140 EUR in 2 gün içinde
(17 Değerlendirme)
4.8
(29 Değerlendirme)
4.8
vallentinponoma5

Hello? How are you? Thanks for posting this job. I am a Senior Java developer with 8+ years experience in JavaFX and Java Swing. I have been doing this kind of Java projects many times. Please let me know. Best Regards

€200 EUR in 2 gün içinde
(3 Değerlendirme)
3.6
tracygearth

This is token bid, I have good experience in Java and appointment calendar. Look forward and implement every step of check list. You may pay diligent amount based on your budget and my amount of work Trac

€270 EUR in 7 gün içinde
(3 Değerlendirme)
3.0
dmytrokyrychenk4

Dear Client. Thank you for your posting. I've just read your description and guarantee 100% success on your job. Let's discuss about budget and deadline on private chat. Looking forward to hearing from you soon.

€130 EUR in 5 gün içinde
(0 Değerlendirme)
0.0
mzdesmag

yHi, I see that you need some assistant in Distributed appointment calendar app I have skills in: C,C#,C++,JAVA and I have experience in web development. I have skills with the follo ,,,,,wing programming languages: C Daha Fazla

€140 EUR in 3 gün içinde
(0 Değerlendirme)
0.5
ShankarKFL

Hello, I am a professional Java developer with 6 years of experience in Java related technologies. I have worked in multiple projects from multiple domains with hands-on experience in Java8 SpringBoot Microservices AWS Daha Fazla

€250 EUR in 7 gün içinde
(0 Değerlendirme)
0.0
felixismael

I am a FullStack Developer & consultant with experience of working on a variety of website & web app development projects. I work on all aspects of the development life cycle, applying my knowledge of OOP and MVC arch Daha Fazla

€250 EUR in 7 gün içinde
(1 Yorum)
2.7