iv
BINUS INTERNATIONAL
UNIVERSITAS BINA NUSANTARA
Major Information System Sarjana Komputer Thesis Semester EVEN year 2007
BINUS MOBILE SERVICE SYSTEM (BMSS)
DEVELOPMENT USING OPEN SOURCE
Andre Susanto 0700676503
Abstract
The usage of SMS has grown rapidly in these several years. Nowadays, there are many parties use this technology to assist their business or service performance. The term SMS is originally used to refer one of mobile service that is well known by most mobile users.
The idea to use SMS services in Bina Nusantara University appears from the necessity of students to find any University’s information using their personal mobile phone or PDA-phone. This thesis includes the analysis of the current system and requirement analysis. Each SMS feature is developed from the questionnaire result according to the participants’ requirements. After analysis phase is done, the process carry on to the design of the system using open source softwares and several UML diagrams. Currently in the development process, the system is designed using Windows OS platform. However, this system also can be developed into other open source OS platform by having certain code modification. Then, the process will continue to the impleme ntation procedures and module testing.
This study is dedicated on proposing a Mobile service to assist Bina Nusantara University providing in information service. The SMS features in Mobile service are develop to provide alternative facilities other than current information facilities.
v
v
Acknowledgement
To Mr. Minaldi Loeis, for giving the opportunity of completing this thesis,
To Mr. Huibert Andi Wenas, for giving the support as Head of Information System School,
To Mr. Andreas Utomo Kuswara, for the willingness of being a very considerate supervisor; for his commitment for guiding the author’s thesis progress until its completion; for his ideas and corrections throughout the study, and for his experiences and shared knowledge throughout author’s study period in BiNus International,
To author’s family, for the full support throughout the last 5- month of progress in any ways,
To Andry Irawan and Handy Kusnadi, as BMSS team, for the research, progress, commitment and teamwork in the thesis,
To faculty members and all lecturers of BiNus International, for their inspirations and knowledge being building blocks of the author’s mind throughout his attendances in BiNus International,
To Mr. Endy Muhardin, for realizing the author’s internship opportunity that inspires the thesis,
To Mr. Abubakar Siddiq, for his willingness to assist the author to construct a clear view of UML diagrams,
To all students of BiNus International, particularly for students of Information System batch 2007 and 2007i, for being fascinating buddies throughout the author’s attendances in BiNus International,
To Henny Tjahjadi, for her full support and help throughout the completion of the thesis,
vi
Table of Content
Acknowledgement ... v
List of Figures ... xiv
List of Tables ... xvi
CHAPTER 1 INTRODUCTION ... 1
1.1. Background ... 1
1.2. Scope... 3
1.3. Aims and Benefits ... 4
1.4. Structures ... 5
CHAPTER 2 THEORETICAL FOUNDATIONS ... 6
2.1. Theoretical Foundations ... 6
2.1.1. General Knowledge ... 6
2.1.1.1. Hypertext Transfer Protocol (HTTP) ... 6
2.1.1.2. Localhost (127.0.0.1) ... 6
2.1.1.3. Port Number (HTTP) ... 7
2.1.1.4. Short Message Peer-to-Peer Protocol (SMPP) ... 7
2.1.1.5. Use Case... 8
2.1.1.5.1. Use Case Modeling ... 8
2.1.1.5.2. Use Case Diagram... 8
2.1.2. SMS... 9
2.1.2.1. Short Message Services (SMS)... 9
2.1.2.2. Basic Concept of SMS technology ... 10
2.1.2.2.1. Validity Period of an SMS Message ... 10
2.1.2.2.2. Message Status Reports ... 11
2.1.2.2.3. Message Submission Reports ... 11
2.1.2.2.4. Message Delivery Reports ... 12
2.1.2.3. Concatenated SMS Messages / Long SMS Messages ... 12
2.1.2.4. Short Message Service Centre (SMSC)... 13
vii
2.1.2.6. Short Message Services Gateways (SMS Gateways) ... 14
2.1.3. Hardware Device... 18
2.1.3.1. Mobile Phone / PDA... 18
2.1.3.1.1. Subscriber Identity Module (SIM) ... 18
2.1.3.2. Mobile Phone ... 19
2.1.3.3. Personal Digital Assistants (PDA) ... 19
2.1.3.4. Modem... 20
2.1.3.4.1. AT Command ... 20
2.1.3.4.2. Data Circuit-Terminating Equipment (DCE) Modem ... 23
2.1.3.4.3. Data Terminal Equipment (DTE) Modem... 23
2.1.3.4.4. General Packet Radio Service (GPRS) Modem... 23
2.1.3.4.5. GSM Modem ... 24
2.1.4. Network... 24
2.1.4.1. Architecture... 24
2.1.4.1.1. Authentication Center (AUC) ... 24
2.1.4.1.2. Base Station Controller (BSC)... 25
2.1.4.1.3. Base Transceiver Station (BTS)... 25
2.1.4.1.4. Equipment Identity Register (EIR) ... 25
2.1.4.1.5. Home location Register (HLR)... 26
2.1.4.1.6. Mobile Switching Centre (MSC) ... 26
2.1.4.1.7. Mobile Station... 26
2.1.4.1.8. Operation and Maintenance Centre... 26
2.1.4.1.9. Visitor Location Register (VLR) ... 27
2.1.4.2. Type ... 27
2.1.4.2.1. Code Division Multiple Access (CDMA)... 27
2.1.4.2.2. Global System for Mobile Communications (GSM) ... 28
2.1.4.2.3. Time Division Multiple Access (TDMA) ... 28
2.1.4.3. Intra-Operator SMS Message ... 29
2.1.4.3.1. Transmission Process of Intra-operator SMS Messages... 29
2.1.4.4. Inter-Operator SMS Message ... 30
viii
2.1.5. Development Toolkits... 32
2.1.5.1. Open Source ... 32
2.1.5.1.1. Apache ANT... 32
2.1.5.1.2. Apache Tomcat ... 33
2.1.5.1.3. Eclipse ... 33
2.1.5.1.4. About the Java Technology ... 34
2.1.5.1.5. The Java Programming Language ... 34
2.1.5.1.5.1. The Java Platform ... 36
2.1.5.1.5.2. Java Archive (JAR) ... 37
2.1.5.1.5.3. Java Database Connectivity (JDBC)... 38
2.1.5.1.5.4. JDBC Product Components ... 38
2.1.5.1.5.5. JDBC Architecture ... 40
2.1.5.1.5.6. Java Servlet ... 42
2.1.5.2. Freeware... 43
2.1.5.2.1. Now SMS/MMS Gateway (NowSMS)... 43
2.1.5.3. License ... 45
2.1.5.3.1. Windows XP ... 45
2.1.6. Database Management ... 46
2.1.6.1. Definition... 46
2.1.6.1.1. Database ... 46
2.1.6.1.2. Structured Query Language (SQL)... 46
2.1.6.2. Software ... 46
2.1.6.2.1. MySQL ... 46
2.1.6.2.2. XAMPP ... 47
2.2. Theoretical Framework ... 48
2.2.1. Jakarta Commons HTTPClient ... 48
2.2.2. Jakarta Commons Logging ... 49
CHAPTER 3 REQUIREMENT ANALYSIS ... 50
3.1. Current Information Facilities in Bina Nusantara International University ... 50
3.1.1. Phone ... 50
ix
3.1.3. Website... 51
3.2. Limitation of Current Information facilities ... 51
3.2.1. Service Resources ... 51
3.2.2. Service Accessibility... 52
3.2.3. Service Availability... 53
3.3. Proposed solution using Mobile Technology ... 53
3.3.1. What is BMSS? ... 53
3.3.1.1. Overview of BMSS ... 54
3.4. Requirement Gathering ... 56
3.5. Requirement Analysis ... 56
3.5.1. Questionnaire Result ... 57
3.5.1.1. SMS Usability for University Information ... 57
3.5.1.2. User Response... 59
3.5.1.3. User Requirements ... 61
3.5.1.4. System Performance ... 63
CHAPTER 4 DESIGN OF PROPOSED SYSTEM ... 67
4.1. Block Diagram of BMSS Server... 67
4.2. System Communication ... 69
4.2.1. Network Services
ó
Modem (GSM or CDMA Network) ... 694.2.2. Modem
ó
NowSMS (AT Command) ... 704.2.3. NowSMS
ó
Apache Tomcat (Http Port 8080) ... 714.2.4. Apache Tomcat
ó
mySQL (SQL Query) ... 724.3. System Development ... 72
4.4. System Data ... 73
4.4.1. File Structure... 73
4.4.2. File Description... 74
4.4.2.1. ContentBean.java ... 74
4.4.2.2. LibraryManager.java... 74
4.4.2.2.1. BMSS Modules ... 75
x
4.4.2.2.1.2. Supporting modules ... 78
4.4.2.3. Sender.java ... 80
4.4.2.4. HandlerServlet.java... 80
4.4.2.5. build.xml ... 81
4.4.2.6. web.xml... 81
4.5. Use Case Diagram... 82
4.5.1. Registration... 83
4.5.2. Schedule ... 84
4.5.3. Marks ... 86
4.5.4. News... 87
4.5.5. Suggestion... 89
4.5.6. Tuition... 90
4.5.7. Help ... 92
4.5.8. Description... 93
4.6. Class Diagram... 95
4.7. Collaboration Diagram... 96
4.7.1. Registration... 96
4.7.2. Schedule ... 96
4.7.3. Marks ... 97
4.7.4. News All ... 97
4.7.5. News NewsCode ... 98
4.7.6. Suggestion... 98
4.7.7. Tuition... 99
4.7.8. Help ... 99
4.7.9. Description... 100
4.7.10. User Not Registered ... 100
4.8. Sequence Diagram ... 101
4.8.1. Registration... 101
4.8.2. Schedule ... 102
4.8.3. Marks ... 103
xi
4.8.5. News NewsCode ... 105
4.8.6. Suggestion... 106
4.8.7. Tuition... 107
4.8.8. Help ... 108
4.8.9. Description... 109
4.8.10. User Not Registered ... 110
4.9. Activity Diagram... 111
4.9.1. Registration... 111
4.9.2. Schedule ... 112
4.9.3. Marks ... 113
4.9.4. News... 114
4.9.5. Suggestion... 115
4.9.6. Tuition... 116
4.9.7. Help ... 117
4.9.8. Description... 118
CHAPTER 5 SYSTEM IMPLEMENTATION... 119
5.1. Personnel... 119
5.1.1. Database Administrator... 119
5.1.2. Lecturers... 119
5.1.3. Students ... 119
5.2. System Specification... 120
5.2.1. BMSS Hardware Requirements ... 120
5.2.1.1. Server ... 120
5.2.1.2. User’s Devices ... 120
5.2.1.3. GPRS Modem ... 121
5.2.2. BMSS Service Requirements... 122
5.2.2.1. Network Services ... 122
5.2.2.2. Network Signal ... 122
5.2.2.3. Network Coverage ... 123
5.2.3. BMSS Software Requirements ... 123
xii
5.2.3.2. NowSMS... 124
5.2.3.3. Apache ANT... 124
5.2.3.4. Apache Tomcat ... 124
5.2.3.5. Java ... 125
5.2.3.6. Database (MySQL) ... 125
5.3. Implementation Procedures... 125
5.3.1. Installation instruction ... 125
5.3.1.1. OS Installation (Windows XP) ... 125
5.3.1.2. Install GPRS Modem Driver... 126
5.3.1.3. NowSMS Installation... 126
5.3.1.4. Java Development Kit (JDK)... 127
5.3.1.5. Apache ANT Installation... 127
5.3.1.6. Apache Tomcat Installation... 127
5.3.1.7. Install Database (mySQL)... 128
5.3.2. Software Configuration... 128
5.3.2.1. NowSMS Configuration ... 128
5.3.2.2. Environment Setting ... 129
5.3.2.2.1. Java Setting ... 129
5.3.2.2.2. Apache ANT setting ... 129
5.3.2.2.3. Apache Tomcat setting... 130
5.3.2.3. Import Database ... 130
5.3.2.4. Run System ... 131
5.3.2.5. Troubleshooting ... 132
5.3.2.5.1. Hardware ... 132
5.3.2.5.2. Network... 132
5.3.2.5.3. System... 132
5.3.2.5.3.1. Check NowSMS services... 132
5.3.2.5.3.2. Check Apache Tomcat services ... 132
5.3.2.5.3.3. Check MySQL services ... 133
5.3.2.5.3.4. Check BMSS Java Servlet ... 133
xiii
5.4.1. Validation Module ... 133
5.4.2. Inbox Module ... 134
5.4.3. Outbox Module ... 135
5.4.4. Schedule Module ... 135
5.4.5. Mark Module ... 136
5.4.6. News Module ... 136
5.4.7. Suggestion Module ... 137
5.4.8. Tuition Module ... 138
5.4.9. Registration Module ... 139
5.4.10. Help Module ... 139
5.4.11. Description Module ... 140
CHAPTER 6 DISCUSSION... 141
6.1. Discussion on System Development... 141
6.2. Discussion on using Open Source Software ... 143
CHAPTER 7 CONCLUSION AND FUTURE ENHANCEMENT... 146
7.1. CONCLUSION... 146
7.2. FUTURE ENHANCEMENT... 147
REFERENCES ... 149
CURRICULUM VITAE... 152
Background ... 152
Interest... 152
Education & Qualification... 152
Experience... 152
Training ... 152
Skills & Abilities... 153
APPENDIX ... 154
Source Code ... 154
LibraryManager.java... 154
ContentBean.java ... 163
HandlerServlet.java... 164
xiv
List of Figures
Figure 2-1 An SMS Gateway acts as a relay between two SMS centers... 15
Figure 2-2 An SMS text messaging application connects to SMSCs without an SMS Gateway ... 16
Figure 2-3 An SMS text messaging application connects to SMSCs through an SMS gateway ... 17
Figure 2-4 An SMS text messaging application connects to a pool of Mobile Phones or GSM/GPRS modems through an SMS gateway... 18
Figure 2-5 AT Command ... 23
Figure 2-6 GSM Architecture ... 27
Figure 2-7 Transmission Process of an intra-operator SMS ... 30
Figure 2-8 Transmission Process of an inter-operator SMS 1 ... 31
Figure 2-9 Transmission Process of an inter-operator SMS 2 ... 32
Figure 2-10 An overview of the software development process ... 35
Figure 2-11 Through the Java VM, the same application is capable of running on multiple platforms ... 36
Figure 2-12 The API and Java Virtual Machine insulate the program form the underlying hardware... 37
Figure 2-13 Two-tier Architecture for Data Access ... 40
Figure 2-14 Three-tier Architecture for Data Access ... 41
Figure 3-1 Overview of BMSS ... 54
Figure 3-2 SMS Usability for University Information ... 57
Figure 3-3 User Response ... 59
Figure 3-4 User Requirements ... 61
Figure 3-5 System Performance... 63
Figure 4-1 Block Diagram of BMSS Server ... 67
Figure 4-2 Network Services ó Modem (GSM or CDMA Network) ... 69
Figure 4-3 Modem ó NowSMS (AT Command)... 70
Figure 4-4 NowSMS ó Apache Tomcat (Http Port 8080) ... 71
Figure 4-5 Apache Tomcat ó mySQL (SQL Query) ... 72
xv
Figure 4-7 Use Case Diagram... 82
Figure 4-8 Class Diagram ... 95
Figure 4-9 Registration Collaboration Diagram ... 96
Figure 4-10 Schedule Collaboration Diagram ... 96
Figure 4-11 Marks Collaboration Diagram... 97
Figure 4-12 News All Collaboration Diagram... 97
Figure 4-13 New NewsCode Collaboration Diagram... 98
Figure 4-14 Suggestion Collaboration Diagram... 98
Figure 4-15 Tuition Collaboration Diagram... 99
Figure 4-16 Help Collaboration Diagram... 99
Figure 4-17 Description Collaboration Diagram ... 100
Figure 4-18 User Not Registered Collaboration Diagram ... 100
Figure 4-19 Registration Sequence Diagram... 101
Figure 4-20 Schedule Sequence Diagram... 102
Figure 4-21 Marks Sequence Diagram ... 103
Figure 4-22 News All Sequence Diagram ... 104
Figure 4-23 News NewsCode Sequence Diagram... 105
Figure 4-24 Suggestion Sequence Diagram... 106
Figure 4-25 Tuition Sequence Diagram... 107
Figure 4-26 Help Sequence Diagram... 108
Figure 4-27 Description Sequence Diagram... 109
Figure 4-28 User Not Registered Sequence Diagram... 110
Figure 4-29 Registration Activity Diagram ... 111
Figure 4-30 Schedule Activity Diagram... 112
Figure 4-31 Marks Activity Diagram ... 113
Figure 4-32 News Activity Diagram... 114
Figure 4-33 Suggestion Activity Diagram... 115
Figure 4-34 Tuition Activity Diagram... 116
Figure 4-35 Help Activity Diagram... 117
xvi
List of Tables
Table 1 Thesis Structure ... 5
Table 2 Registration Usecase ... 84
Table 3 Schedule Usecase... 86
Table 4 Marks Usecase ... 87
Table 5 News Usecase ... 89
Table 6 Suggestion Usecase... 90
Table 7 Tuition Usecase... 92
Table 8 Help Usecase... 93