This month, I have a project from my laboratory about Smart Gateway. What smart gateway is it? It's a smart gateway system that allows multi-client chat not only using the internet but also SMS. Does it seem weird? Yeah, it will be used for rural areas where it is difficult to get internet access but still has SMS service. In this project, I take part in internet module development.
There must be a server that can serve some users. There are some applications that can be installed on the server to build a chat server. Firstly, I chose Ejabberd. The installation process for this application was so long. I installed it from its source code. This program was made by Erlang programming language. That's a new thing for me. I should install Erlang's compiler. I found the wrong site that gave difficult steps and I followed that difficult steps to install Erlang's compiler until I got stuck. Then, I found out that the Ubuntu repository provides it. After that, I installed Ejabberd, built some configurations, and ran it. To make this server can be accessed by clients, it needs a client application that can be installed either on the server or clients. I chose JWChat, installed it on a server, and built some configurations so this application could communicate with Ejabberd. Clients can make a chat conference by accessing a web application that is on the server from a browser. OK, that was the beginning. The main point of a smart gateway chat server is to store internet chat data into a common database server like MySql which will be used by Gammu to store SMS messages. I also have to build a program that can make all data from the internet and SMS can be synchronized. Ejabberd uses the Mnesia database, a built-in database from Ejabberd. Then, I made some configurations again for Ejabberd so it can store chat data to MySql. After spending a day I tried to fix its configuration, the Ejabberd server still didn't want to work. It failed to start. I think the problem is on connection to MySql because when I used the internal database, it ran normally. I read the installation guide and configuration file carefully but couldn't find any mistakes. Then, I thought to move to another application to build the server.
Openfire is another application to build a chat server. It uses Java programming language. I think that was great. I have always liked Java. The developer website for this application also looks better than the Ejabberd site. I feel that the Openfire installation process was easier than Ejabberd. To configure the server, we can use a web-based control panel that is provided by Openfire. Database configuration also can be done from that control panel. Openfire has provided a MySql driver for Openfire so we don't have to install it separately. For server testing, I used a client-side application. It's Spark, also from the Openfire site. It worked nicely. After that, I must think again about how to manage the database, update the source code of Openfire to support the Smart Gateway system, and build a more simple application for client. Openfire is a more complex application than Ejabberd which use Java and many modules on it.
After three days of doing this work, I start to think of better solutions to finish this project as soon as possible. I think, If I make my own server application using Java, it will be more simple and can produce results as needed.
Comments
Post a Comment