Custom Search

Wednesday 28 May 2008

Developing a Value Added Service in the Educational Organization

Developing a Value Added Service in the Educational Organization using SMS and Java Mobile Application

Ridwan Sanjaya

Soegijapranata Catholic University, Semarang, Indonesia
mail2ridwan@yahoo.com

Saranphong Pramsane, Ph.D.
Graduate School of Information Technology, Assumption University, Bangkok, Thailand
prammicester@hotmail.com

Abstract

This paper discusses a development of a Value Added Service (VAS) in the educational field via Short Message Service (SMS). As an educational institution, university has a lot of valuable information, for instance, grade release and enrollment information which can be shared to the students via mobile communication. To meet this demand, the university can provide this service by using GSM modem or HTTP server so that students can access the information via SMS. The selection of these two tools can affect the complexity of architecture and the performance of service.

The objective of this paper is to give practical insights to develop their own education services based on SMS in which Java application is used as a user interface to reduce errors. A step by step explanation as well as its logical algorithm to send the request via SMS using Java mobile application will be further explained in this paper.

Keywords
Value Added Service, Short Message Services, SMS, Education Services, Content Provider, Cellular Phone, Mobile Phone, Java Mobile, Java SMS, J2ME.

*) Published in Proceeding of the International Conference on Network and Mobile Computing (NMC) 2006, INTI College Malaysia, August 28-29, 2006.

**) Presented at the International Conference on Network and Mobile Computing (NMC) 2006, INTI College Malaysia, August 28-29, 2006.

PDF Version [Download]


1. Introduction

Short Message Services (SMS) is a basic and common feature given by cellular operators to users. Recently, the growing influence of SMS has attracted significant attention. As a convenient and low-cost mobile communication technology, SMS is experiencing very rapid growth. In 2001, 700 million mobile phone users worldwide sent an average of 20 billion SMS messages every month. Indeed, the volume of SMS messages sent in December 2001 was 30 billion worldwide and it was expected to grow to 100 billion by the end of 2002. In Europe, Norway leads the region with an average of 47 messages sent per month per user in 2001 while Philippines lead the Asia-Pacific region with 336 SMS messages [5].

The worldwide increasing growth of SMS messaging services has spurred the developments of SMS commerce applications, which mainly cover consumer-orientated business such as alerting, ticket booking and retailing. Given that the huge SMS messaging customer base could potentially serve as major component of the SMS-commerce customer base, many commerce providers are becoming more interested in SMS commerce applications.

The university as an educational organization has many valuable information which can be provided to the students, such as (1) grade release, (2) enrollment information, (3) university announcement, and (4) internship opportunity. If the university can provide them on the SMS service, the students can get the information easier and faster. They can request the information from the service provider at their own convenient time through their cell phones.

There are two kinds of services which can be built to distribute the information through SMS:

(1) Independent Service. It is created by the university itself using one cell phone and one server.

clip_image002

Figure 1. Independent Service

(2) Dependent Service. The university only provides one server and 24/7 internet connection. However, there is a need for an agreement between the university and the cellular operator to provide the service.

clip_image004

Figure 2. Dependent Service

Both of them services have their own benefits and difficulties in the different levels which depend on the institutional condition. The choice will also affect both the cost and the pricing in providing the service.

2. Architecture Comparison

Even though the architectures are different, both services have the same objective, namely to provide the information based on the user’s request. The example of the user’s request and the reply can be seen below.

clip_image006

Figure 3. Illustration Request and Answer

The differences between independent and dependent services are on the data flow between users and content provider.

2.1 Independent Service

To provide independent service, the University can use one mobile phone or GSM modem, and one server as an SMS server. Database server can also be connected to the SMS server to supply data. If the user sends a request via SMS, the mobile network will receive the request and forward it to the SMS server mobile phone receiver. The SMS will be processed on the SMS server.

clip_image008

Figure 4. Conceptual Model

SMS server will read the message from the mobile phone receiver and it will compare the message and the information from the university database. The result will be sent to the user through the mobile phone on the server (See Figure 3).

The steps of reading and sending the SMS on the server are shown in Figure 5. Those steps are (1) Frequently, server will check the SMS from the mobile phone and translate from PDU format into plain text. In the PDU mode, a complete SMS Message including all header information is passed as a binary string [5]. (2) The translation message will be read and divide into three parts (Student ID, Password, and Keyword). Then, the Student ID and Password will be compared with data on the Authentication table. (3) If match, the system will check the balance. But if not match, the SMS will be ignored. (4) If there are enough points to be used, the system will process the request and compare the keyword with the available services. If not available, system will send a SMS warning to the user. Otherwise, the system will query the answer from the database, (5) translate from plain text into PDU format, and (6) send the answer back to the user.

clip_image010

Figure 5. Reading and Sending SMS

Before students can use the services, they must pay the services through the website. (1) Students can pay the services using credit cards or bank transfer. Based on the payment, user will get points or add the user’s balance which will be used to use the services. (2) After that, students can use the services and send the request to the SMS server. SMS server will check the ID and password and compare to the student database. (3) If the ID and password are correct, server will check user’s balance. If there are enough points, server will check the answer based on user’s request. (4) The answer will be sent to the user and the user’s balance will be deducted.

clip_image012

Figure 6. A whole processes on the system

E-Commerce Website has to be provided to facilitate payment system for the services. The process of payment system can be the following steps: (1) Students pay the services through the website. (2) If students use credit cards, the payment will be processed at Payment Processing Center, (3) Merchant, and (4) accepted by Cardholder’s bank.

Each successful payment is done by users keeping adequate balance. It will be used for getting the information from the SMS services.

clip_image014

Figure 7. Adding User’s Balance

There are three entities, such as student, university, and lecturer. (1) Before students apply the courses, the availability of those courses must be checked on the database. (2) If the courses are available on the database, university will accept the enrollment and create the student list. The student list will be given to the lecturer and the enrollment record will be saved on the database. (3) After the end of semester, the lecturer will give the grade of students to the university through Grading process. Grade will be saved on the database. (4) If students request enrollment information through an SMS, a student can send a SMS to the Enrollment SMS Service. The system will check the student’s points. Then, it will inquiry the enrollment database and gives the answer back to the student. The request and answer will be saved on SMS-record database and deducted points based on its price. (5) It also happens on the Grade SMS Service. A student will send a request to the service and the system will check the student’s points. Then, it will inquire the grade database and gives the answer back to the student. The request and answer will be saved on SMS-record database and deducted points based on its price.

The SMS Enrollment and Grade Information consist four processes, which are (1) translation the SMS from PDU format into text message and save the request, (2) checking balance of student’s points, (3) find the answer on the grades data, and (4) send the reply SMS of enrollment/grade information, save the answer into SMS-record database, and deducted student’s points based on price data.

clip_image016

Figure 8. Data Flow of SMS Request

This system must be equipped with 8 (eight) tables to support the user’s request, authentication, and record the transaction, such as (1) Student table, (2) Study Courses table, (3) Grade table, (4) Authentication table, (5) Points table to record the user’s balance, (6) Price table for the base of balance deduction, (7) SMS-record table to support the payment, and (8) Transactions table to record all payment from the users.

2.2 Dependent Service

To provide independent service, the University must have agreement with cellular operator. After that, there is a need to provide 24-hour internet connection. It has function to receive any SMS from the SMS center via internet.

clip_image018

Figure 9. Conceptual Model

The user’s request from their mobile phone will be accepted by an operator cellular on the SMS center. Then, the SMS server will send the message via internet to a specific port on the HTTP server. The HTTP server will receive the message and compare it with the available services. The result will be sent to the SMS center via internet and forward it to the users’ mobile phone.

The process on the HTTP server can be seen on the following figure. First of all, a HTTP server will listen to the request from the SMS Center. Then, the request as the keyword will be compared with the available services. If match, it will query to the database and produce a result as the information. Otherwise, it will produce the error message as the information. The information will be sent to the SMS Center via internet.

clip_image020

Figure 10. Process on the Server Side

The benefits of using this architecture are (1) the capability to receive thousands SMS per seconds [7], (2) no need mobile phone or GSM modem, and (3) the automatic deducted payment system by the cellular operator from their user balance. However, some education institutions may not provide the 24-hour internet connection. Besides that, the university as a content provider must have a license from the government and an agreement with the cellular operators to provide this kind of service.

The limitations of the service are (1) one cellular operator can accept the requests from their own users only; the university must have an agreement with all cellular operators to accept the user’ requests from any different cellular operators, (2) the price of the service depends on the cellular operator. It might be more expensive because there is a sharing profit between the university and cellular operators, and (3) the service can be accessed by domestic users only. Premium mobile phone number can not be accessed by international phone numbers. This is a crucial problem for an international university.

3. Graphical User Interface

As a part of common marketing strategies which gives easiness to the users, the Graphical User Interface (GUI) is created. Using the GUI, users can request the information via SMS without worrying about the typographical error, the false destination number, or the wrong choice of services. The content provider can create the user interface by using Java language for mobile phone which is familiar to the users nowadays.

The main part of the program can be divided into two screens, (1) the configuration screen and (2) the SMS service option screen. The configuration screen will ask the user several data, such as the SMS server phone number, the student ID, and the password. It will be saved into mobile phone’s memory and be combined with another screen to request the SMS service.

clip_image022

Figure 11. Configuration screen

Another screen will show several options of the SMS service using radio button. Each service has its own keyword. After the users choose one of the services and press the Send Request button, the keyword of each option will be connected to the student ID and password. The combination string will be sent to the SMS server phone number.

clip_image024

Figure 12. Request SMS service screen

The keyword of each option can be shown on the bellow.

Tabel 1. List of Options and Keywords

image

The application will be produce the string which has format as the bellow:

[Student ID] + [Password] + [Keyword]

The Example:

G4829723 abcdef GRADE

After that, the String will be sent to the SMS server phone number. The algorithm of the application can be seen on the following.

clip_image026

Figure 13. Algorithm of Java Mobile Application

4. Programming Analysis

To access SMS functionality on a GSM mobile device, the Java Mobile Application needs the support from an additional package. The additional package is also a set of Application Programming Interfaces (APIs), but unlike a profile, it does not define a complete application environment. [3]

Additional APIs, for instance, Wireless Messaging API (WMA) 1.1 (Java Specification Request/JSR 120), WMA 2.0 (JSR 205) and PDA Profile for J2ME (JSR 75) are used for advance applications. By using the WMA 1.1 and WMA 2.0, it will be possible for Java applications to compose and send messages, which can contain text, images and sound [4]. JSR 205 is an extension to the original WMA (JSR-120) to provide Multimedia Message Service (MMS) support. This API will allow the Java Mobile Application to send and receive not only text, but also voice, video and graphics [6]. In this paper, the Java Mobile Application used is JSR 120.

The JSR 75 provides the FileConnection APIs which allows the program to access the removable storage devices and memory cards which are common on many mobile devices. The use of JSR 75 is also needed in this paper in order to be able to save the configuration permanently on the mobile phone. To get the support from those APIs, the programmer can choose the Additional APIs when creating a new project on the J2ME Wireless Toolkit.

clip_image028

Figure 14. Additional APIs on J2ME Wireless Toolkit

4.1 Configuration Program

This program is used to save the configuration of SMS server, Student ID, and Password. The Pseudo-code of Configuration program (configSMS.java) can be seen as the following.

Begin

Import APIs

Declaration Object

Create GUI to input/edit SMS server, Student ID, and Password

Display GUI (See Figure 11)

Read Configuration File

Show the configuration on GUI

Update the configuration File

End

To read the configuration file, the program needs FileConnection from javax.microedition.io package which is supported by JSR 75 and uses Connector.READ.

FileConnection fc = (FileConnection) Connector.open("file:///" + el + "config.txt", Connector.READ);

However, to write the configuration file, the following command is used. The program needs Connector.READ_WRITE to allow writing on the mobile phone storage.

FileConnection fc = (FileConnection) Connector.open("file:///" + el + "config.txt", Connector.READ_WRITE);

String el is the root folder and config.txt is the file to save the configuration of SMS server, Student ID, and Password.

4.2 Send SMS Program

This program is used to give the options of service to the user and send the request to the SMS server by using the Student ID, and the Password from the configuration file. The Pseudo-code of Send SMS program (sendSMS.java) can be seen bellow.

Begin

Import APIs

Declaration Object

Create GUI to give option of service (keyword)

Display GUI (See Figure 12)

Read Configuration File (SMS server, Student ID, Password)

Message connection: Student ID, Password and the keyword

Send the the message

End

The options will produce their keywords which will be used to send the SMS.

if (message.equals("Grade Release")) {

choice = "GRADE";

} else if (message.equals("Enrollment Information")) {

choice = "ENROLLMENT";

} else if (message.equals("University Announcement")) {

choice = "ANNOUNCEMENT";

} else if (message.equals("Internship Opportunity")) {

choice = "INTERNSHIP";

} else {

choice = "";

}

To read the configuration file, FileConncetion on the program above will be used to read the SMS server, the Student ID, and the Password.

FileConnection fc = (FileConnection) Connector.open("file:///" + el + "config.txt", Connector.READ);

To send the SMS, the command can be seen below. String to, studentID, and password are got from the configuration file, and String choice is a keyword which is got from the option of service.

MessageConnection smsconn = null;

try {

String address = "sms://+" + to + ":5000";

smsconn = (MessageConnection)Connector.open(address);

TextMessage txtMessage = (TextMessage)

smsconn.newMessage(MessageConnection.TEXT_MESSAGE);

smsText = studentID + " " + password + " " + choice;

txtMessage.setPayloadText(smsText);

smsconn.send(txtMessage);

smsconn.close();

}

5. Conclusion

In overall comparison between the Independent and Dependent service, the Dependant service is more superior to another.

The benefit of using the independent architecture is (1) no need to have agreement with operator cellular, (2) no need internet connection to have communication between university and operator cellular, (3) the price is the university’s rule, (4) it can be accessed by domestic and international users. However, the limitation of the Independent service, (1) the capability to receive SMS depend on the memory buffer of mobile phone or GSM modem, and (2) the university must have payment system to manage the users’ balance.

The benefit of using the dependent architecture is (1) the capability to receive thousands SMS per seconds [7], (2) no need mobile phone or GSM modem, and (3) the payment system will deduct automatically by the cellular operator from their user balance. But the limitations of the Dependent service are (1) each user depends on their cellular operator; the university must have an agreement with each cellular operators, (2) the price of service is depended on the cellular operator. There is a sharing profit between the university and cellular operators, and (3) the service can be accessed by domestic users only. Premium mobile phone number can not be accessed by international phone numbers. This is the crucial problem for the international university.

The content provider can stimulate the users to use the service frequently by creating easiness when they want to request the service. Easiness to the users can be provided by using the GUI. Java Mobile Application can be the choice to create the user’s interface. It needs JSR 120 to allow the Java application to send SMS from mobile phone, and JSR 75 to allow the program to access the storage on the mobile device.

References

[1] Andy Stone. Mobile Scaffolding: An Experiment in Using SMS Text Messaging to Support First Year University Students, Proceedings of the IEEE International Conference on Advanced Learning Technologies, IEEE, 2004.
[2] Devine A. and Holmqvist S. Mobile Internet Content Providers and their Business Models - What can Sweden learn from the Japanese experience? The Royal Institute of Technology, Sweden, Jan 2001.
[3] Giguere, Eric. J2ME Optional Packages, http://developers.sun.com/techtopics/mobility/midp/articles/optional, Sun Microsystem, 2002.
[4] Java Community Process, JSR 205: Wireless Messaging API 2.0, http://jcp.org/en/jsr/detail?id=205, JCP, 2004.
[5] Jones, S, Next Generation Airline Information Using Consumer Devices to Keep Passengers Informed and as an Additional Channel to Market, Mobile Data Management Proceedings, IEEE International Conference, 2004.
[6] Shah, Apu. JCP Watch: Time for Review, http://www.developer.com/java/other/print.php/1690731, JupiterWeb, 2003.
[7] Siemens, AG. AT command set for S45 Siemens mobile phones and modems, http://utenti.lycos.it/m50/sw/Command_set.pdf, Siemens AG, 2001.

No comments: