The Orange SMS server accepts SMS/GPRS messages and stores them in XML format. The Orange M2M Connect web-service makes these stored messages available to be downloaded via the Orange SOAP server. Once a message has been downloaded by a SOAP client it can be parsed and the embedded data extracted, sanitised, validated and stored in a local database. After the data has been downloaded and stored, then web-page reports can be prepared on demand by a user.
Once an initial web-report has been created and displayed on a user’s browser, AJAX or JSON could be used to dynamically update the reporting web-page when subsequent messages are downloaded and processed. Emails or SMS messages could notify users of the arrival of a message; numerical data such as temperatures could be displayed as a chart, SMS messages could be used to update the status of the circuit board (this will be a simulation).
The server that downloads and processes the SMS messages (and subsequently makes the data available to clients) will be implemented in Object Oriented PHP with MySQL as the database server. You also have to publish your finished application on the public facing PHP and MySQL servers. Be careful to remove any code you have written for debugging purposes before uploading your application.
NB a Rich Internet Application (RIA) is not required – the majority of all processing will be achieved via PHP on the server.
A complete implementation will include the following methodologies and technologies that have been discussed this academic year:
• Model View Controller (MVC) Architecture & Single Point of Access
• Object Oriented PHP
o Showing the usage of inheritance and dependency injection
o You may use the framework classes given to you but you should create your own
Model, View and Controller classes for each feature to do the bulk of the
processing and output.
• Application of security techniques and avoidance of common web application
o Security will be achieved by correct file structure, proper sanitisation and
validation techniques, etc
• Unit testing and security testing
• Validated XHTML (using CSS for web-page layout/presentation)
• SOAP & WSDL file
• Docblock comments and API
• Consistent coding style (see the style guidelines made available in October)
• Use of the Subversion Version Control Server
Possible extensions to the implementation could include
• implementation of registration and login/logout features.
• displaying numerical data in chart form.
• an interface to send SMS messages back to the “circuit board” containing updated
settings for the board.
• An administration interface to maintain users/connection data in the database.
• logging all web-application activity in a database table.