DEVELOPMENT USING OPEN SOURCE Andre Susanto 0700676503

  

BINUS INTERNATIONAL

UNIVERSITAS BINA NUSANTARA

  Major Information System Sarjana Komputer Thesis

  Semester EVEN year 2007

  

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.

  Keywords Code Development, Open Source Project, SMS Interactive

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, To CV. Dwi Makmur and staffs, for providing printing and photocopy services,

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

  2.1.2.5. Short Messaging Entity (SME)............................................................... 14

  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

  2.1.4.4.1. Transmission Process of Inter-operator SMS Messages.................. 30

  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

  3.1.2. Physical Contact............................................................................................. 50

  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) .......................... 69

  ó

  4.2.2. Modem NowSMS (AT Command) ......................................................... 70

  ó

  4.2.3. NowSMS Apache Tomcat (Http Port 8080) ............................................ 71

  ó

  4.2.4. Apache Tomcat mySQL (SQL Query) .................................................... 72

  ó

  4.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

  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

  4.8.4. News All ...................................................................................................... 104

  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

  5.2.3.1. Windows XP ......................................................................................... 123

  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

  5.4. Module Testing ................................................................................................... 133

  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 Sender.java ............................................................................................................. 165

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

  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 Figure 4-36 Description Activity Diagram.................................................................... 118

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 Table 9 Description Usecase............................................................................................ 94