Attention: open in a new window.
Print

Our Technology

MSS prides itself in being a market leader in the application of new programming technologies that enable sophisticated applications to be developed and promote a much more effective and time efficient use of the internet than is the case with current technologies.

In most web-based applications currently developed in Kenya the typical programming model comprises HTML with additional functionality provided by handwritten Javascript, PHP and MySQL. HTML and Javascript inherently contain cross-browser compatibility issues and resolving them manually is massively time consuming and error prone. Additionally scripting languages such as PHP can allow unstructured programming and a tendency to clutter code with repetitive tasks, rendering it difficult to maintain and vulnerable to accidental bug injection. With neither a common language nor a seamless communication protocol between the layers of presentation, computation logic and data management, the task of building applications with significant client side functionality and security becomes an onerous and expensive undertaking.

MSS replaces these largely outdated and limiting techniques by applying a combination of newly released cutting-edge Java-based technologies. Through constant research and consultation, these are carefully selected to ease browser-specific programming, client-server communication and data management. This provides huge scope for improving current practice by allowing complex interactive applications to be developed more efficiently and accurately with enhanced responsiveness, security and client side functionality.

Some of the key features of the technology that MSS provides are:

AJAX (Asynchronous Javascript and XML)
AJAX (Asynchronous Javascript and XML) is a mechanism that enables dynamic client-server content to transfer seamlessly with minimal delay. It significantly reduces the communication burden through the internet, saving bandwidth and, crucially, making more efficient use of slow internet infrastructure.
Rich Client* Programming (RCP)
Rich Client* Programming (RCP) allows web applications to be executed using the client computer’s processing power; thus transferring the burden of computation away from the busy central server, leaving it with only lighter tasks and storage functions (“thick client – thin server” concept).
* Client in this context means the computer communicating with the server.
AJAX-RCP Coordination
AJAX-RCP Coordination provides the all important key to realising the full potential of AJAX and RCP. It coordinates their roles through a series of controls that assist the programmer in producing accurate, high quality programming and eliminates the need for applets. MSS possesses the relevant technology, which also provides additional features to support remote procedure calls, browser history management, and tools such as I18N (internationalisation, or the ability to formally support multiple languages). Additionally it simplifies cross-browser programming as it automatically makes provision for all major browsers.
Hibernate
Hibernate provides “Object-Relational Persistence” and transaction management capabilities, a powerful means of maintaining data integrity and allowing for database vendor interchangeability.
Spring
Spring is a Java-based server application framework introducing “Inversion of Control” and “Aspect-Oriented Programming” providing a range of benefits including building in security and robustness and facilitating testing.

This integration of technologies, using Java as the common language, represents a major step forward in streamlining software programming – contrasting with conventional web applications written across four different languages – HTML, Javascript, PHP and MySQL.