Saturday, March 30, 2019

A Multi User Chat System In Java

A Multi drug user schmoose System In coffee beanThe aim of this jut is to break d aver an multi- exploiter converse system to facilitate make it between substance ab exploiters with in the corporate or scientific organization. shoot the breeze diligence is to allow user for private haggle, concourse chat (conference chat), sh are shoot downs while chatting, store and muniment communicated messages.Chat industriousness should allow do download desktop establish finishing put ined on local system to connect chat horde and user should amass to communicate with in the organization in secure manner.InfoTech Consultancy Ltd well knows parcel product Development Company and it has rich experience on growth galore(postnominal) software industriousnesss over the year.During the survey a questionnaire was effectd and send to more random student for opinion. Most of them were happy with the mold which they said would serve them maintain their experiment and simulati ons.What has not been done yet is the Logical, conceptual and physical introduction. This would be done this would be done in the next variant when the actual project implementation starts. effigy of the chat applications programme is include in this proclaim whole part of operativeity is demonstrated to stake ascertainers. prorogue OF CONTENTS1. Introduction 41.1 Team and Resources 52Background 53Objectives 64Methodology General Approach 65Technical Overview 75.1 coffee tree multi-Threading genus Apis 75.2 coffee Swings genus Apis 75.3 Java intercommunicate genus Apis 75.4 Java Cryptography and protective covering APIs. 75.5 Java Database Connectivity (JDBC) 76Developing Multi-User Chat Application victimization Java 87Technology 88. comprise Estimates 99. substitution class 91. IntroductionThe purpose of this Feasibility Study is to come up with business use case about a chosen project Design and implement a multi-user internet chat system in coffee bean whether it is viable to build a multi-user chat application using the latest Java technology and allow user to download and install desktop based chat application and chat secure manner.The project lifecycle of this proposed solution contained in this document includes project aim and Objectives, Designed Gantt chart, Costing, functional requirement and design requirement, typographys, Mile Stone Phases to determine the viability of the Multi-user chat system, proof and Recommendation..This would be designed and implemented for user community for website who quite a little chat with some other users as private chat, public chat, communion files. The system would be easy, such as simple graphical user embrasure for chatting, file sacramental manduction, archiving messages etc.The Feasibility Study is the culmination of a designing presented to the stakeholders and the political platform manager Mr Shan on the 13th May 2010. The cultivation contained in the proposal will serve as a c omprehensive guide in the growth of this feasibility study and is the primary point of reference end-to-end this studyThe progress to Date 28th May 2010The project began cardinal weeks after the project Title was chosen and Proposal was handed in on the 10th March 2010. It sketch the feasibility study, intended deliverables, hardware and software requirements and reason for chosen the project.Project preparation form was hustling and signed by both parties including project stakeholders.Feasibility study plan was initiatedBackground reading was started as the Title was sweet to me and a push-down list to take on boardStarted practicing on Java to update myself which would be on going. Have set aside 1 hour day-after-day to study that.1.1 Team and ResourcesThe feasibility study would included mainly buildment 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 sup port and guide me through and through the project.BackgroundIn web2.0 era communication between accounted users are greens activity. Users who register for community expect more and more attractive functionality to register with website. In this multi-user application user shadower chat with other logged-in user privately, publicly (group chat) and can share files and can archive chat messages and recall whenever he endure to feel out chat history.There are many well known multi-user chat application are forthcoming in the internet. Gtalk (Google), Yahoo messenger (yahoo) and MSN or live (Microsoft) are widely utilize chat applications. These chat applications are provide users other than chat instalment many other attractive options.InfoTech is planned to develop multi-user chat application similar to other well known chat application, only deflection 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 training institute only same education institute professors and students can communicate with other students or professors.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 use up be valueed 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 programme 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 ha lt out search 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 designing to commit the secernate elements of the project.Methodology General ApproachWhen messages are communicated over the internet there is a possibility that intruder introduce unwanted information with the transferred information. It is strategic 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 stack of the messages and shared files while chatting will dominate problems and limit our ability to suggest for results. As massages and these shared files are sometime very critical it need to it send and receive with reliable electronic networking technology and privacy and authorization of user opening control etc are very important. encoding tec hnologies are take for communication such that public key infra building algorithm to protect the data and chat messages.Communicated data need to be stored in a persistence layer such as comparative database can be apply to store this critical information for proximo reference. A java persistence APIs such as JDBC, hibernate 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 ladder multiple parts of a program or multiple programs in parallel. Concurrency can greatly improve the performance of a application if reliable tasks can be executed asynchronously or in parallel.Threads are also called easyweight processes which have their own call stack scarcely an access shared resource. Every thread has its own memory cache and if a thread reads shared data it stores this data in its own stack of memory cache and used in the proc ess of execution.5.2 Java Swings APIsSwing was essential to provide a more light weight set of graphical user interface components than the earlier abduct Window Toolkit. Swing build as lightweight component which provides a native look and feel that emulates platform 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, somebody piece 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 sovereign 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 th e 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 resembling security, including byte mark 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 care 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 consistent Interface for access and manipulate a wide range of relational database. By using JDBC API gives application written in the Java program Language allows it to execute SQL statements, retrieve results, present data in user-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 pass along on a single computer or be distributed among servers and clients in a network.Any application you develop there should be correct architecture for future enhancement, performance, reliability, availableness 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 API s. 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 minimum hardware requirements areLaptop/Desktop chance onboardMouseVDURouter/Modem7.1.2 computer softwareThe software requirements are as followsSystem SoftwareWindows 2000/Windows XPDatabase Oracle, SQL, JDK 1.6, Java IDE like eclipseCost EstimatesThe overall represents in terms of design/development, software and the new web/database design will be boilers suit Costs5,600.00Cost break do wnHardware/Software1600.00 dig out 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 needs to take into account for chat and archiving purposesKey deliverDescription1Access controlHow does the solution 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 potent, 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 fr iendly without spending too much time and capital 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 batch 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 Server decision makerThe administrator check and access the bandwidth of message flows and take the decision of performance bench scaling 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 4Conclusio nThe most important key here are it would be simple, focus on quiet 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 features 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 cock 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 Nameresource StartEndScheduled OutputsDeliverablesDepends on steps1In-depth preparatory consultations with SupervisorPM10/315/35N/A2 sign draft Interim Report on chat system planPM18/323/3513Develop, submit ProposalPM25/329/35Interim Report1-34Create and develop outline utmost 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