Monday, June 3, 2019

A Multi User Chat System In Java

A Multi User Chat System In deep brownThe aim of this project is to develop an multi- drug user call on the carpet system to assuage communicate between users with in the incorporated or scientific organization. Chat use is to allow user for private trounce, group scold ( assembly blab), touch files fleck discourseting, store and archive communicated messages.Chat employment should allow do download setting found activity installed on local system to connect chat server and user should bale to communicate with in the organization in catch manner.InfoTech Consultancy Ltd well knows softw are product Development Comp any(prenominal) and it has rich acknowledge on developing many software applications all over the year.During the survey a questionnaire was hitd and sent to some random student for opinion. Most of them were happy with the project which they tell would help them maintain their experiment and simulations.What has not been done yet is the Logical, concep tual and physical function. This would be done this would be done in the next level when the actual project implementation starts.Prototype of the chat application is included in this report entirely part of functionality is demonstrated to stake holders.TABLE OF limit1. Introduction 41.1 Team and Re lineages 52Background 53Objectives 64Methodology General Approach 65Technical Overview 75.1 coffee bean multi-Threading genus Apis 75.2 coffee bean Swings APIs 75.3 coffee berry network APIs 75.4 Java Cryptography and Security APIs. 75.5 Java Database Connectivity (JDBC) 76Developing Multi-User Chat Application employ Java 87Technology 88. equal Estimates 99. Prototype 91. IntroductionThe purpose of this Feasibility Study is to come up with business use case roughly a elect project Design and implement a multi-user internet chat system in burnt umber whether it is viable to build a multi-user chat application using the latest Java technology and allow user to download and in stall desktop based chat application and chat secure manner.The project lifecycle of this proposed radical contained in this document includes project aim and Objectives, Designed Gantt chart, Costing, functional requirement and design requirement, reports, Mile Stone Phases to determine the vi major power of the Multi-user chat system, deduction and Recommendation..This would be designed and implemented for user biotic community for website who can chat with opposite users as private chat, popular chat, sharing files. The system would be user- amicable, such(prenominal) as simple graphic user interface for chatting, file sharing, archiving messages etc.The Feasibility Study is the culmination of a proposal presented to the stakeholders and the program manager Mr Shan on the 13th May 2010. The learning contained in the proposal will serve as a comprehensive guide in the development of this feasibility instruct and is the primary point of reference throughout this studyThe progress to Date 28th May 2010The project began three weeks after the project Title was chosen and proposal was handed in on the 10th March 2010. It outlined the feasibility study, intended deliverables, hardware and software requirements and reason for chosen the project.Project prep form was prepared and signed by both parties including project stakeholders.Feasibility study plan was initiatedBackground reading was started as the Title was new to me and a lot to take on boardStarted practicing on Java to update myself which would be on going. Have set aside 1 bit humans to study that.1.1 Team and ResourcesThe feasibility study would included mainly development and design teamProject Architect, ching chu , providing expertise in the design of the new multi-user chat system, using advanced Java.Dr Clarke my Supervisor would support and guide me through the project.BackgroundIn web2.0 era communication between registered users are common activity. Users who register for communit y expect more and more attractive functionality to register with website. In this multi-user application user can chat with former(a) logged-in user privately, publicly (group chat) and can share files and can archive chat messages and retrieve whenever he motivation to check chat history.T here are many well known multi-user chat application are available in the internet. Gtalk (Google), Yahoo messenger (yahoo) and MSN or live (Microsoft) are widely used chat applications. These chat applications are provide users other than chat facility many other attractive options.InfoTech is planned to develop multi-user chat application similar to other well known chat application, only difference in this mult-user chat application is If this deployed on any corporate only within the same corporate employees can chat with other employees. If the application is deployed on any education institute only same education institute professors and students can communicate with other students or prof essors.One of the major challenges with this multi-user chat system is secure communication between the users. The corporate or scientific organization may have information which need be protected with intruders or hacker. The chat system should implemented such a way that the information need be secured.ObjectivesThe aim of this project is to develop desktop chat application incorporated with java multi threaded client-server program which would allow users to communicated private and public way and share resources while chatting and archive communicated messages.This report is to use java, swing, multi threading and TCP-IP technology to design and create desktop based multi-user chat application design for chat and communicated over internet.The methodology for this report is to understand how to carry out interrogation into multi-user chat application, resource sharing while communicating through the Internet. Also finding out how users would feel. Interviews and research would be ongoing before starting the actual figure to identify the key elements of the project.Methodology General ApproachWhen messages are communicated over the network there is a possibility that intruder introduce unwanted information with the transferred information. It is important that the data need to be communicated secure encrypted manner. So that other end of the receiving application can decrypt the information and use the information.The volume of the messages and dual-lane files while chatting will dominate problems and limit our ability to extract for results. As massages and these shared files are sometime very critical it need to it send and draw with reliable networking technology and privacy and authorization of user attack control etc are very important. Encryption technologies are adopted for communication such that public key infrastructure algorithm to protect the data and chat messages.Communicated data need to be stored in a persistence layer such as relation al database can be used to store this critical information for future reference. A java persistence APIs such as JDBC, hole up or JDO is used for archiving these information in secondary storage and only authorized user can retrieve the archived message.Technical Overview5.1 Java multi-Threading APIsConcurrency is the ability to run multiple parts of a program or multiple programs in parallel. Concurrency can greatly improve the performance of a application if definite tasks can be executed asynchronously or in parallel.Threads are also called lightweight processes which have their own call stack but an access shared resource. Every thread has its own retention cache and if a thread reads shared data it stores this data in its own stack of memory cache and used in the process of execution.5.2 Java Swings APIsSwing was developed to provide a more light weight set of graphical user interface components than the earlier Abstract Window Toolkit. Swing build as lightweight component w hich provides a native look and feel that emulates program dependent look on particular platforms, and also supports a pluggable look and feel that allows applications to have a look and feel unrelated to the underlying platform.5.3 Java network APIsOne can write java applications that communicate over the network mean you are programming at the application layer. Typically, someone writing programs no need to concern about the TCP and UDP layers. Instead of this you can make use of the classes in the java.net package and these classes provide platform self-sufficient network communication.Through the classes in java.net, Java programs can use UDP or TCP to communicate over the network. The classes URL, URLConnection, ServerSocket and Socket all use for TCP to communicate over the network and the classes DatagramPacket, DatagramSocket, and MulticastSocket are for use with UDP.5.4 Java Cryptography and Security APIs.The Java platform strongly emphasizes programming concept like se curity, including byte code language security, cryptography, public key infrastructure (PKI), and authentication, secure communication, and access control.The Java Cryptography Architecture is a major piece of the platform and it contains a provider architecture and a set of application programming interface for digital signatures, encryption message digests, certificates and certificate validation, secure key management and generation and secure random number generation, to name a few. These APIs allow developers to easily integrate security into their application code.5.5 Java Database Connectivity (JDBC)The Java Database Connectivity is the trade name for Java API, which supports Java, programs that access relational database. It also gives programmers uniform Interface for access and manipulate a wide range of relational database. By using JDBC API gives application written in the Java Programming Language allows it to execute SQL statements, retrieve results, present data in us er-friendly interface and propagate changes back to the databaseDeveloping Multi-User Chat Application Using JavaJava is an object oriented programming language expressly designed for use in the enterprise environment of the Internet. Java can be used to create end to end applications that may run on a single computer or be distributed among servers and clients in a network. any application you develop there should be proper architecture for future enhancement, performance, reliability, availability should be considered. The Chat application is developed using client server architecture with layered approach. Client application is developed using java swing APIs and java network APIs.Server is developed using java multithreaded APIs, java network APIs and encryption APIs. Client connects to the server and server need to send messages to connected other client. The messages need to be encrypted using any of the public key infrastructure algorithms.The communicated messages need to be archived and retrieved using jdbc APIs. Using SQL statements the information is stored or retrieved from the database.TechnologyJava SwingsJava Security APIsJava Encryption APIsJava networking APIsJava database connectivity APIsTCP/IP programmingMultithreadingHTML/ CSS for website reportsServlet/JSP programming for chat Administration Application.7.1 REQUIREMENTS7.1.1 HardwareThe stripped hardware requirements areLaptop/DesktopKeyboardMouseVDURouter/Modem7.1.2 SOFTWAREThe software requirements are as followsSystem SoftwareWindows 2000/Windows XPDatabase Oracle, SQL, JDK 1.6, Java IDE like loomCost EstimatesThe overall costs in terms of design/development, software and the new web/database design will beOverall Costs5,600.00Cost break downHardware/Software1600.00Labour Cost = 50ph10 days 1000 Architect and design cost =1,0001,000.0030 days 20.00 per hour(5hrs a day for 30 days)5*20*30= 3,000.003,000.00Total cost5,600.009. Prototype9.1 FEATURESThere is some consideration that nee ds to take into broadside for chat and archiving purposesKeyFeatureverbal description1Access controlHow does the resolve limit access to restricted data?2AvailabilityWould the solution always available? Can data be access when required or does it have to be requested?3Capacity/ScalabilityCan the solution hold the amount of data planned for without hampering performance/integrity?4CostIs it cost effective, both initial design and ongoing ?5FunctionalityWould the functionality be suitable for connection to whoever may want to use it. For example someone from America considering the time difference.6PerformanceCan the solution carry our multi user chat in real time? Can application be enhanced for user performance?7UsabilityIs it going to be user friendly without spending too much time and money training and getting use to the system.How it going to be useKeyHeadlineActorDescription1Private chatuserUser should able to chat with other connected user2Group chat(public chat)userThis is kind of conference chat. A group of people can chat together.3Share files or resource(while chatting)UserUser should able to share files, desktop or other media while chatting.4Archive messagesRetrieve messagesuserUser should able to store the messages for future reference.5Manage Chat ServerAdministratorThe decision maker check and access the bandwidth of message flows and take the decision of performance bench marking etc.6Modification of user privilegesAdministratorAble to create / delete users modify the privileges for the user.7Changes access conditionAdministratorAdministrator should able to give access to shared resources like file sharing , desktop sharing etc.Prototype of chat windowPrototype for Admin Screen.Figure 3Figure 4ConclusionThe most important key here are it would be simple, focus on ease of use and simple client server application can be deployed on internal to the corporate or research organization.It is cost effective to use MySQL, has many advantages and fea tures that makes it popular and open source thereby makes it as the worlds most used open source relational database application and many science students, Scientist and Engineering Researchers would benefit from it.RECOMMENDATIONSThe project should continue based on the lines described in the document which is the supplements the Project plan. The research plan outlined in the document should be worked through as the primary instrument for deliver project results and outcomes.Other things needs to note areavailability of hardware and softwareEasy to set up the client server chat application and admin web applicationInternet Minimum Bandwidth 64MbAdmin need be deployed on militarized hosting zone.Table for work breakdown structureTask NameresourceStartEndScheduled OutputsDeliverablesDepends on go1In-depth preparatory consultations with SupervisorPM10/315/35N/A2Initial draft stave Report on chat system planPM18/323/3513Develop, submit ProposalPM25/329/35Interim Report1-34Create and develop outline last(a) Report based on Interim Report and detailed research plan for in-depth technical and costs stages of workPM4/410/451-55Main technical investigationsTools Software and Cost specifiedPM11/4314/4556Draft Final Report created, agreed, and sentPresentationPM20/4/525/5/5Draft Final Report1-87Submit Final ReportCDLR28/3/531/3/5Final ReportFinal Report1-10

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.