Implement an online conference room System Using AJAX + J2EE (1)

Source: Internet
Author: User

I. functions implemented by the system

This conference room system is mainly used for online meetings of EasyJF open-source team members. The conference system simulates traditional meetings and allows you to open multiple meeting rooms with different themes at the same time, the access permission control function is required for each meeting room. The Meeting speech mode can be specified in the meeting (divided into two types: queuing and free speech). The system can automatically record the speech information of each meeting room, it is available for long term reference by participants.

The conference system user supports the visitor account to attend the meeting, and also provides interfaces with other user systems, such as the open-source forum system on the EasyJF official website.

The conference system uses text chat and provides voice and video interfaces.

Ii. Technical System

◆ The server uses the Java language and MVC uses the EasyJWeb framework;
◆ The client uses AJAX technology to interact with the server;
◆ The storage format of historical conference information is in text format, which facilitates system installation and operation and management.
Iii. Server Design for conference rooms

The server side of the conference room is the core part of the whole conference system. The design of the server side program affects the quality of the whole system.

First, perform abstract analysis based on the functions to be implemented in the conference room. A meeting room object, it should include the Conference topic, Conference Introduction, number of participants, announcement, conference room type, access permission setting, room password, current participants, current speakers, waiting for speeches personnel and other parameter information. We encapsulate it into a Java object. The following ChatRoom code is shown:

Public class ChatRoom {
Private String cid; // primary key
Private String title; // chat room topic
Private String intro; // chat room Introduction
Private String announce; // chat room announcement
Private String owner; // The creator of the chat room
Private Integer maxUser; // maximum number of online users
Private Integer intervals; // maximum interval of refreshing
Private String vrtype; // access permission
Private String vrvalue; // access value
Private Integer status; // chat room status
Private Date inputTime;
}

A class for meeting room management is required. operations related to meetings, such as opening or closing meetings, are directly directed to him. This class should also enable automatic and timed detection of users' online conditions to prevent unexpected user exits.) Save the meeting history speech information in the memory to a text file. Here you can consider using a ChatService class to provide these features:

Public class ChatService implements Runnable {
Private static final Map service = new HashMap (); // meeting room service. The current meeting room in the system is stored in this table set.
Private static final int maxServices = 10; // maximum number of meeting rooms that can be opened simultaneously
Private static final SimpleDateFormat df = new SimpleDateFormat ("yyyy-MM-dd ");
Private final List msgs; // Chat Information
Private final List users; // online user, ChatUser
Private final List talkers; // Number of queued speakers Talker
Private final List manager; // meeting room Administrator
Private Talker currentTalker; // current Speaker
Public ChatService ()
{
This. msgs = new ArrayList ();
This. users = new ArrayList ();
This. talkers = new ArrayList ();
This. manager = new ArrayList ();
This. maxUser = 1000; // a maximum of 1000 users simultaneously
This. interval = 1000*60*5; // Information 5 minutes ago
}
}

The conference speech information also needs to be encapsulated into a class to indicate the speaker, recipient, content, time and type. The Chat class is roughly as follows:

public class Chat {
private String cid;
private String sender;
private String reciver;
private String content;
private Date vdate;
private Integer types;
private Integer status;
}

There are also information about the participants, including the name, IP address, and status of the participants, as shown in the following ChatUser class:

public class ChatUser {
private String ip;
private String port;
private String userName;
private Date lastAccessTime;
private Integer status;
}


Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.