To download - Architecture

1|Page
A PROJECT REPORT ON
RMI SERVER
Submitted To:
Rajiv Gandhi Proudyogiki Vishwavidyalaya Bhopal(M.P.)
(University of Technology of Madhya Pradesh)
In partial fulfillment of requirement for the award of the degree of
BACHELOR OF ENGINEER IN COMPUTER SCIENCE 2011
Submitted by:
Deeksha Parsediya
Harsh Khyal
Ajay Tiwari
Under the guidence of
Mr.G.S. Dhakad(H.O.D)
Department of Computer Science Engineering
NAGAJI INSTITUTE OF TECHNOLOGY & MANAGEMENT GWALIOR(M.P.)
2|Page
NAGAJI INSTITUTE OF TECHNOLOGY & MANAGEMENT GWALIOR
( DEPARTMENT OF COMPUTER SCIENCE ENGINEERING)
CERTIFICATE
This is to certify that this project entitled RMI Server which is being
submitted by Mr.Harsh Khyal, Miss.Deeksha parsediya and Mr. Ajay Tiwari
in partial fulfillment for the award of degree of bachelor of engineering
(Computer Science) of Rajiv Gandhi Produdyogiki
vishwavidyalaya,Bhopal(M.P.) (University of Technology of Madhya
Pradesh)is record of student’s own work carried by him/her under my
guidence and supervision.
To the best of my knowledge ,the matter presented in this project has not
been submitted for the award of any other diploma or degree certificate
Signature of H.O.D. signature of
principal
3|Page
ACKNOWLEDGEMENT
With immense sense of gratitude we extend our sincere thanks
to Mr. Pankaj Agarwal who made it possible for us to complete our
project work.
It was impossible to complete a project work like RMI server,
without the help and co-operation of efficient lecturers of CS
department of NITM College. So we would also like to thank Mr.
G.S. DHAKAD (H.O.D. of cs department) for all the support and
help rendered to us for our project.
Lastly we would like to express my indebtedness to all the
faculties of NITM family who spared their precious time.
4|Page
Content
1.1 Title of the project…………………………………………………………………………………………………… 5
1.2 Introduction……………………………………………………………………………………………………………. 5
2.1 Goals and objective…………………………………………………………………………………………………. 6
2.2 Scope of the project………………………………………………………………………………………………… 6
3.1 Hardware and Software Specification……………………………………………………………………… 7
4 Theoretical detail…………………………………………………………………………………………………….. 9
5 Data flow Diagram………………………………………………………………………………………………….. 18
6 Screen shots…………………………………………………………………………………………………………… 21
7 Project Testing……………………………………………………………………………………………………….. 28
8 Conclusion……………………………………………………………………………………………………………… 29
9 Bibliography……………………………………………………………………………………………………………. 30
5|Page
1.1 Title of the project:
RMI SERVER
1.2 Introduction:
This Project is used basically for desktop capturing purpose
with the remote clients or users on local networks. Here in this
project a java client / server combination is used to connect
with remote users. When a Client wants to connect with a user
on a remote host, he sends a request to the Server with a
identification name like pc IP address, the server responds to
the request by identifying the client-id which is already
registered in the server domain and when matched his request
is granted and the client can begin connection with the remote
users present on the local network.
The overall project divided into following modules:-
1. The administrator
2. The new user registration
3. Login exixting user
The administrator:-
Administrator can remove and add the services in server
He/she can delete the services according to many reason like
due to incomplete or invalid IP address. Administrator can
remove the user record if found invalid data enterd by
provider. Means administrator will control the overall
working of the system.
The new user registration:
This module is very important part of the project.this
include registraion of new user and genral information about
6|Page
the provider. Means in this module new user create it’s
account to using a rmi server.
Login exixting user:
In this module the user whom already have a account
he can use server according to his desire by
login into their account.
2.1 Goals and objective:
The system should support.
 Customized your search.
 2 tier architecture.
 Genrate result whenever required.
 Storage and retrival of information.
 Safty of information.
2.2 Scope of the project
This server software is easy-to-use interface. It provides
connection facility between one pc to another.The information is
presented in one computer is captured by another and also upload
and download in the local network. The usability of this depends
largely on the performance of these servers.
This application is a Java client/server combination, which can be
used to connect over the local networks
.
We can use “Rmi Server” for following activities:
 To desktop capturing.
7|Page
 To file upload and download from or to client machine
 To searching available information
 To Register new user.
.
3.1 Hardware & software Specifications
Client side Requirement:
Hardware: for best performance
Cpu :-1.8 ghz or Above
RAM :-256 MB or Above
HDD :- 5 GB Or Above
Mouse :- Mandatory 2 button
Keyboard :-Mandatory 104 keys
Software:
Platform(o.s.) :- Windows2000,NT,WIN XP
Tool’s :- Textpad ,Microsoft Frontpage 2000
Frontend :- java
8|Page
Server Side Requirement
Hardware:
CPU :- 2.4GHz Or above
Ram :- 256 MB or Above
HDD :- 8 GB or Above
Mouse :- Mandatory
Keyboard :- Mandatory
Software:
Platform(o.s.) :- Windows 2000,NT,WIN XP
FRONTEND :- Java swing.
Server devlopement kit :- jdk 1.6
BACKEND :- Ms access 2007
.
9|Page
Theoretical Details
Implementation Tools & Language
 Java
 RMI
 Java swing
 Textpad
 Ms Access
History of Java
Java language was devloped by james gosling and his team at sun micro
system and released formally in 1995. It’s formar nam is oak. Java
devlopment kit 1.0 was released in 1996. To popularized java and is freely
available on internet.
Java language features:
. Platform independence
• Totally Object-oriented, but simpler than C++
• Dynamic incremental loading and linking
• Automatic GC
• Multithreaded
• Systematic class, package, and source file naming
• GUI and graphics programming
• Web and network applications support
10 | P a g e
• Internationalization (programs in Unicode)
Java Rmi:
 What is RMI ?
RMI is a mechanism for communicating (only) between two machines
running Java Virtual Machines.When Java code on machine A needs a
service or a method, respectively, of (remote Java object) objB on
machine B it starts a remote method invocation. It does this the same
way as invoking a local (Java) object's method.The whole
communication behind the remote invocation is done by the RMI
mechanism.
 How RMI works ?
When referencing a remote object residing on machine B from code
being on machine A there are always two intermediate objects actually
handling the communication: a stub object and a skeleton object.
When a remote method invocation comes up the following tasks are
handled by these two objects.
The stub object (on machine A) has to
o build an information block thats consists of
 an identifier of the remote object to be used,
 an operation number describing the method to be called
and
 the marshalled parameters (method parameters have to be
encoded into a format suitable for transporting them across
the net)
o send this information to the server
 The tasks of the skeleton object (on machine B) are
11 | P a g e
 to unmarshal the parameters,
 to call the desired method on the real object lying on the server,
 to capture the return value or exception of the call on the server,
 to marshal this value,
to send a package consisting of the value in the marshalled form back to the
stub on the client, machine A.
The stub object unmarshals the return value or exception from the server.
This value becomes the return value of the remote method invocation. Or, if
the remote method threw an exception, the stub (object) rethrows it in the
process space of the caller.
12 | P a g e
Our RMI server basically consists of four program modules namely :-
1. INTERFACE
2. IMPLEMENTATION
3. REGISTRY
4. CLIENT PROGRAM
13 | P a g e
1 Minterface. Java :- This is a interface program where all the functions or
modules are declared. These functions are nothing but the work that server
needs to perform on other computers or client.
For eg. we have declared modules like:-
 Computer Restart
 Computer Shutdown
 Screencapturing
 Result fetch
 STUDENT SEARCH
 Faculty search
 Antishutdown
 Registration
 Change password
 ETC
Syntex:-
Import java.rmi*;
Public interface minterface extends Remote
{
Int add (int t1, int t2) throws RemoteExeption
}
2 Mimpl. Java
This program defines all the functions that are declared in our
“minterface. Java” program.
Syntax-
Import java.rmi. *;
Import java.rmi.server.*;
Class mimpl extends UnicastRemoteObject implements minterface
{
Mimpl() throws RemoteExeption
{
System.out.println(“Server starts now…”);
}
14 | P a g e
Public int add(int t1,int t2) throws Remote exception
{
Return(t1+t2);
}}
3 Mreg. Java
This program registers the client to the server .
Syntax-
Import java.rmi.*;
Class mreg
{
Public static void main(String arg[])
{
Try
{
Mimpl ob1=new mimpl(); \\ creating an object of server;;
Naming.rebind(“nitm”,ob1);
}
Catch(Exception e)
{
e.printStackTrace();
}
}
}
4 Mclient. Java
In this module the client sends request to the server through client stub to
server sekeleton. The server processes the request and reply to the client
Syntax:
Class mclient
{
Public staic void main(String arg[])
{
Try
{
Minterface x=(minterface)Naming.lookup(“rmi://1227.0.0.1/nitm”);
Int ans=x.add(6,7);
System.out.println(“ The sum is :”+ans);
}
Catch (Exception e)
{
15 | P a g e
e.printStackTrace();
}
}
}
Java swing :
The Java Swing provides the multiple platform independent APIs
interfaces for interacting between the users and GUIs components. All Java
Swing classes imports form the import javax.swing.*; package.
Java provides an interactive features for design the GUIs toolkit or
components like: labels, buttons, text boxes, checkboxes, combo boxes,
panels and sliders etc. All AWT flexible components can be handled by the
Java Swing.
The Java Swing supports the plugging between the look and feel features.
The look and feel that means the dramatically changing in the component
like JFrame, JWindow, JDialog etc.
Ms Access 2003
Ms Access allow us to manage all information from a single database file.
A database is the collection of data and object related to a perticular topic or
purpose with in a file one can divide data and store in different tables.
The data in the table can be viewed modifies, added or deleted. One can
analyze and print data in specific layput by using report.
One can find and retrive data that meets the criteria using query.
16 | P a g e
PROJECT ANALYSIS
1) STUDY OF THE SYSTEM
This application can be mainly divided into two modules:
1. Server
2. Client
This project “RMI SERVER” is mainly depended on client/server model. The
client requests the server and server responses by granting the clients request.
The proposed system should provide both of the above features along with the
followed ones:
SERVER:
The server should be able to perform the following features:
The first and foremost problem is to find the server. We should identify the
program in the server which processes the client‟s request.
Administrator Client who will be acting as a super user.
The server is always waiting for clients requests .The clients come and go
down but the server remains the same.
CLIENT:
The client should be able to perform the following features:
Should be able to cature host machineShould be able to download and upload
files from host machine.
Should be able to search information.
2) INPUT AND OUTPUT:
The user has to provide to which server it has to connect. In this, the server
name to be provided is local host.
The user has to provide the username and the password for proceeding with
the server .
17 | P a g e
Software engineering Paradigm AppliadSoftware Engine
Incrimental Model
The incremental build model is a method of software development where
the model is designed, implemented and tested incrementally (a little more
is added each time) until the product is finished. It involves both
development and maintenance. The product is defined as finished when it
satisfies all of its requirements. This model combines the elements of the
waterfall model with the iterative philosophy of prototyping.
Analysis:
Analysis required the desired information related to pur project for
requirement analysis,feasibility etc. and on the basis of the analysis we
prepare the ground for design.
Design:
Design includes the design of relevent forms,tables, and report etc.
related to our project which is explaines in detail in the section.Design
includes the coding section of project.
Intregation:
Actully a project is devloped in different modules and finally these
modules are intregated to produce the project..
Data Object Description
In our project there are various types of object these are listed below
Login Form:
This form is desingned for login into exixting user into his account.
And administrator login form is also desined for administrator login.
Registration Form:
This form is desingned for the new user to create his account.
18 | P a g e
File Download:
This form is desinged for download the file from host/client machine.
File Upload:
This form is desinged for upload the file from host/client machine.
File Encryption:
This form is desingned for encrypted the file .
File decryption:
This form is desingned for decrypted the file.
Pc Access:
This form is desingned for desktop capture, shutdown , Restore,
Antishutdown,
file explored.
Search Form:
There are no of information to search like :
 faculty information
 Result
 student information
5.Data Flow Diagram
Request
c client Server service client
service
Level (1) DFD
19 | P a g e
context diagram zero level diagram
Client requests service to server and Server grants the request through a
response.
Client Registration:
Client
Data
PWD Register
User name Register
Password
& password with server
encryption
Level (2) DFD Welcome page
Client
Connection Establishment:
Enter IP address Verify client
Client Server IP Address
If valid connected to
client machine
Level 3 DFD Client
20 | P a g e
Client Logout
Server notify
Client Logout all user and Send message Client
update
client list
Level 4 DFD
Server Shutdown
shutdown close conn Prompt
Send shutdown Close all
Client message Client
threads
Level 5 DFD
21 | P a g e
22 | P a g e
23 | P a g e
24 | P a g e
25 | P a g e
26 | P a g e
27 | P a g e
28 | P a g e
29 | P a g e
30 | P a g e
31 | P a g e
32 | P a g e
33 | P a g e
7. PROJECT TESTING
COMPILING TEST
It was a good idea to do our stress testing early on, because it gave us
time to fix some of the unexpected deadlocks and stability problems that
only occurred when components were exposed to very high transaction
volumes.
EXECUTION TEST
This program was successfully loaded and executed. Because of good
programming there were no execution errors. The complete performance of
the project “RMI SERVER” was good.
OUTPUT TEST
The successful output screens are placed in the output screens section
above with brief explanation about each screen.
8. CONCLUSION
Even though this application has been developed with the users own
Protocols, this can be used in an Intranet based organization.
1. This system was developed so that people can exchange information as
well as converse with each other.
2. Through this system people can access chat rooms globally.
3. The system is interactive and friendly.
4. Entire system is fully automatic to the clients and satisfies the clients
request
5. Especially the system is more useful to the technical people when the
need for sending pictures, images it is solved through WHITE BOARD
UTILITY OF “RMI SERVER”.
34 | P a g e
9. BIBILOGRAPHY
1. Complete Reference :
Author Herbert Sheilded
Publisher : Tata McGraw Hill
2.Software Engineering Concepts:
Author : Fairley
Publisher: Tata McGrawHill
35 | P a g e
36 | P a g e
37 | P a g e
38 | P a g e
39 | P a g e
40 | P a g e
41 | P a g e
42 | P a g e