You are on page 1of 8

1. INTRODUCTION 1.1. BACKGROUND At a basic level, network-based systems consist of a server, client, and a media for communication.

A computer running a program that makes a request for services is called client machine. A computer running a program that offers requested services from one or more clients is called server machine. The media for communication can be wired or wireless network. Generally, programs running on client machines make requests to a program (often called as server program) running on a server machine. They involve networking services provided by the transport layer, which is part of the Internet software stack, often called TCP/IP (Transport Control Protocol/Internet Protocol) stack. The transport layer comprises two types of protocols, TCP (Transport Control Protocol) and UDP (User Datagram Protocol). The most widely used programming interfaces for these protocols are sockets. TCP is a connection-oriented protocol that provides a reliable flow of data between two computers. Example applications that use such services are HTTP, FTP, and Telnet. UDP is a protocol that sends independent packets of data, called datagrams, from one computer to another with no guarantees about arrival and sequencing. Example applications that use such services include Clock server and Ping. The TCP and UDP protocols use ports to map incoming data to a particular process running on a computer. Port is represented by a positive (16-bit) integer value. Object-oriented Java technologiesSockets, threads, RMI, clustering, Web serviceshave emerged as leading solutions for creating portable, efficient, and maintainable large and complex Internet applications. 1.2. OBJECTIVE Sockets provide an interface for programming networks at the transport layer. Network communication using Sockets is very much similar to performing file I/O. In fact, socket handle is treated like file handle. The streams used in file I/O operation are also applicable to socket-based I/O. Socketbased communication is independent of a programming language used for implementing it. That means, a socket program written in Java language can communicate to a program written in non-Java (say C or C++) socket program. A server (program) runs on a specific computer and has a socket that is bound to a specific port. The server listens to the socket for a client to make a connection request. If everything goes well, the server accepts the connection. Upon acceptance, the server gets a new socket bound to a different port. It needs a new socket (consequently a different port number) so that it can continue to listen to the original socket for connection requests while serving the connected client. There are two communication protocols that one can use for socket programming: datagram communication and stream communication Datagram communication: The datagram communication protocol, known as UDP (user datagram protocol), is a connectionless protocol, meaning that each time you send datagrams, you also need to send the local socket descriptor and the receiving socket's address. As you can tell, additional data must be sent each time a communication is made. Stream communication: The stream communication protocol is known as TCP (transfer control protocol). UnlikeUDP, TCP is a connection-oriented protocol. In order to do communication over the TCP protocol, a connection must first be established between the pair of sockets. While one

of the sockets listens for a connection request (server), the other asks for a connection (client). Once two sockets have been connected, they can be used to transmit data in both (or either one of the) directions. 1.3. PURPOSE AND SCOPE 1.3.1. PURPOSE a) Client-server networks has a machine at the heart of its operations called the server. A server is a machine that provides services over a network by responding to client requests. b) Server-based networks provide centralised control of the entire network environment. c) Server-based networks are easier to scale. d) The networks operability is dependent on the server. e) Server is that computer which facilities, sharing of data software and hardware resources (ex: printers, modems) on the network. f) A server is a program running on the remote machine providing service to the clients.

g) When it starts, it opens a door for incoming request for a client, but it never initiates a service until it is requested to do so. h) Client is the program running on the local machine requesting service from the server. i) A client program is finite means it started by user or another application program and terminates when service is complete. j) Server provides services over a network by responding to client requests. 1.3.2. SCOPE

a) Includes many clients. b) Can be implemented in large network like WAN. c) Hi-speed multimedia data transfer. d) Control all the computer system (clients) and sub-servers in large network like INTERNET. 2. SURVEY OF TECHNOLOGIES a) Specific types of clients include: web browsers, E-mail clients, and online chat clients. b) Specific types of servers include: web servers, FTP servers, database servers, E-mail servers, file servers, print servers. Most web services are also types of servers. 3. REQUIREMENTS AND ANALYSIS 3.1. PROBLEM DEFINITION In Computer science client-server is a software architecture model consisting of two parts, client systems and server systems, both communicate over a computer network or on the same computer. A client-server application is a distributed system consisting of both client and server software. The client process always initiates a connection to the server, while the

server process always waits for requests from any client. When both the client process and server process are running on the same computer, this is called a single seat setup. 3.2. REQUIREMENTS SPECIFICATION Central Server To implement a Thin Client Computing System, a business must have one or more central server computers. The specifications and number of these servers will differ dramatically depending upon the needs of the business. Processor The individual Thin Client stations should have one of the following processors: Intel Pentium 5, Pentium II, Pentium III, Pentium 4, Celeron, AMD K6x, K7, Athlon or Duron processor. Random Access Memory The Thin Client System requires at least 32 megabytes (MB) of random access memory (RAM) for running applications. The RAM should be at least PC-100 or PC-133, 100 megahertz (MHz) or 133 MHz Motherboard The Thin Client station computers require at least an x86 model motherboard. Read Only Memory Read only memory or ROM is required for the Thin Client computers to store any software loaded on them from which they boot. Flash memory can be used for the ROM requirements. Otherwise, a local hard drive may be required. Windows Thin Client system requires at least four megabytes of ROM. Input-Output Devices Certain input-output devices are needed for the Thin Client workstation, including: a pointing device, such as a mouse, a keyboard and network connection hardware. Display Display hardware for the Thin Client System must support eight bits per pixel (BPP) and resolution up to 640 by 480 pixels. The display device should offer contrast and brightness control. Ports Windows Thin Client System does not require universal serial bus (USB), serial and parallel ports, but Microsoft highly recommends them.

Audio Audio card and output hardware are not necessary for Thin Client devices. However, Microsoft recommends them for applications containing audio. If audio is installed, Windows Thin Client requires a single channel eight-bit digital-to-audio converter and a 22.05 kilohertz sampling rate. 3.3. PLANNING AND SCHEDULING GANTTCHART

TASKS WEE K1 TEAM SELECTI ON TOPIC SELECTI ON RESEARC H ON TOPIC SYNOPSI S CREATIO N REQUIRE MENT GATHERI NG DESIGN TEST CLASS CODING QUALITY ASSURA NCE TESTING BUILD DOCUM ENTATIO N CREATIO N SUBMIT PROJECT MARCH WEE WE K2 EK 3 WE EK 4

TIME(1st MARCH 31st MAY) APRIL WEEK WE WE WEE WEE 5 EK EK K8 K9 6 7

WE EK1 0

MAY WEE WEE K11 K12

WEE K13

PERT CHART

3.4. SOFTWARE AND HARDWARE REQUIREMENTS SOFTWARE REQUIREMENTS: ECLIPSE, APACHE TOMCAT SERVER, JSF, WINDOWS XP, WINDOWS 7, WINDOWS SERVER 2003, WINDOWS SEVER 2008, LINUX ENTERPRISE EDITION, UBUNTU, ORACLE, MOZZILA FIREFOX HARDWARE REQUIREMENTS: SERVER: 1GB RAM, 500GB HARD DISK, 32 BIT PROCESSOR. (MINIMUM REQUIREMENTS) CLIENT: 512 MB RAM, 320GB HARD DISK, 32 BIT PROCESSOR. . (MINIMUM REQUIREMENTS)

3.5. PRELIMINARY PRODUCT DESCRIPTION This sharing of computer resources is called time-sharing, because it allows multiple people to use a computer (in this case, the server) at the same time. Because a computer does a limited amount of work at any moment, a time-sharing system must quickly prioritize its tasks to accommodate the clients.

Clients and servers exchange messages in a request-response messaging pattern: The client sends a request, and the server returns a response. To communicate, the computers must have a common language, and they must follow rules so that both the client and the server know what to expect. The language and rules of communication are defined in a communications protocol. All client-server protocols operate in the application layer. Whether a computer is a client, a server, or both, it can serve multiple functions. For example, a single computer can run web server and file server software at the same time to serve different data to clients making different kinds of requests. Client software can also communicate with server software on the same computer. Communication between servers, such as to synchronize data, is sometimes called inter-server or server-to-server communication. 3.6. CONCEPTUAL MODELS

CLIENT SEVER APPLICATION USING SOCKET DFD LEVEL 0

CONNECTION CLIENT SERVER

LEVEL 1

CLIENT

SOCKET Connection request

SOCKET

SERVER

valid CONNECT userid & password verification SEND Not valid Log in

valid CONNECT Adminid & password verificatio n Not valid RECEIVE SEND ADMIN Log in

CHECK

USER

CLOSE

END

Connection termination

CLOSE

4. REFERENCES a) Data Communication and Networking by Behrouz Forouzan. b) Data and Computer Comunications by William Stallings c) Java : The Complete Reference by Herbert Schildt d) http://www.wikipedia.org/ e) http://www.javaworld.com

You might also like