1
RoboComm: Rule-Baseo d Scheduling for Communication
Systems
CSCI 6838.2 Research Project and Seminar
Team #7
Instructor: Dr. Kwok-Bun Yue
Mentor: Mr. Dilhar De Silva
2
Content
Team Members Project Overview Software Architecture JBoss Rules Use Case Implementation Conclusion
3
Team member
Name Responsibility
Thanh Doan Team Lead
Dung Nguyen JBoss rules
Tuan Le GUI
Hung Tran GUI & Database
4
Project OverviewPresented by Hung Tran
Build on top of previous team work
Rewrite UI using Zimbra open source Ajax framework
5
Apply JBoss Rules to improve how communication systems schedule meetings with participants
Project OverviewPresented by Hung Tran
6
Technologies
JBoss Rules AJAX Web services
7
Technologies Java MySQL LDAP Tomcat
8
Software ArchitecturePresented by Hung Tran
9
Server ArchitecturePresented by Hung Tran
10
ZCS Migration Wizard for Exchange .exe file. Use the Migration Wizard .exe file to migrate Microsoft® Exchange server email accounts to the Zimbra server. Accounts from Microsoft Exchange 2000, 2003, and 5.5 can be migrated.
Presented by Hung Tran
11
• Postfix serves as the Zimbra Mail Transfer Agent (MTA) for sending and receiving email across the Internet.
• All Zimbra messages (internal and external) flow through Postfix.
• Postfix uses SMTP/LMTP protocol.Presented by Hung Tran
12
• The Zimbra message (or blob) store is built on the underlying Unix/Linux file system.
• The mapping is one file per message—Zimbra actually write the RFC822 MIME message representation directly to a file.
Presented by Hung Tran
13
• The Zimbra includes an embedded relational database, MySQL, for managing mailbox meta-data
Presented by Hung Tran
14
• Lucene is a high-performance, full-text search engine from Apache.
• The search process required to construct an index. So, Lucene works by generating a full “segment” index.
Presented by Hung Tran
15
The Zimbra journal is like a database transaction log in guaranteeing that no data is lost in the event of a failure and that the system can restart quickly.
Presented by Hung Tran
16
JBoss RulesPresented by Dung Nguyen
If A,not(B),not(C) then do(A1) elseIf A,B,not(C) then do(A1,B1) elseIf A,B,C then do(A1,B1,C1)
Rule A: When A then do(A1) Rule B: When B then do(B1) Rule C: When C then do(C1)
17
JBoss Rules
Inference Engine
Pattern Matcher
Agenda
Knowledge/Rule Base
( Rules )
Working Memory
( Facts )
Structure of JBoss Rules Engine
18
JBoss Rules
Rule: check if the Appointment is celebrated.
Class ParticipantList
{ int percetageOfParticipant;
long appointementID;
……
}
Class Appointment{ long appointmentID; int successPercentage; void setSuccess(boolean success);………}
WorkingMemory.Assert(m_ParticipantList);
WorkingMemory.Assert(m_AppointmentList);
Assert Object to Rule Engine
19
JBoss Rules
rule when ParticipantList(percent: PercetageOfParticipant,apptID1: AppointementID) appt:Appointment(apptID: AppointmentID,successNo: SuccessPercentage) eval(apptID1==apptID) eval(percent>=successNo) then appt.setSuccess(true); appt.CreateAppointment();end
Rule: check if the Appointment is celebrated.
20
JBoss Rules
WorkingMemory.assertObject(m_ParticipantList);
WorkingMemory.assertObject(m_AppointmentList);
Assert Object to Rule Engine
WorkingMemory.fireAllRules();
Activate Rules Engine
Import org.drools.*;
21
Implementation – Create meeting requestPresented by Tuan Le
Convener click on “Save” button to create a conference call
22
Login page
23
Calendar page
24
Appointment details
25
Sequence Diagram
Services
getContext_Session
dispatchServices
createAppointment
getInfoRequest getContactRequest Client – Ajax GUI
JBoss Rules
Database – File System
Server
26
Participant respond to the meeting request by accept it or decline it
Implementation– Respond the meeting requestPresented by Thanh Doan
27
User 2 – Respond to meeting request
28
User 2 – Response message (automatically)
29
User 2 – respond message
30
User 1 – Get response message
31
User 4 – decline meeting
32
User 4 – Accept meeting
33
Sequence Diagram
Services
getContext_Session
dispatchServices
sendResponse
ResponseEvent ResponseHandle Client – Ajax GUI
JBoss Rules
Database – File System
Server
34
Conclusion
RoboComm has been built with many features: Create / manage a meeting Response a meeting request Contact list
35
Conclusion (cont) Email Individual calendar Apply JBoss rules into RoboComm
What will be done so far: Implement more rules into
RoboComm
36
Reference
1. JBoss Rules: http://www.jboss.org
2. Zimbra: http://www.zimbra.com 3. Documentation:
http://sce.uhcl.edu/yue
37
Thanks for listening
QA