Web Application Development


We help startups and businesses to create smart, innovative and useful web applications.

Websites and Web Applications are two fundamentally different beasts. The most distinct difference between a website and a web app would probably be that the primary function of a website is to display information to a large group of users whereas the primary function of a web application is to offer the user some sort of functionality other than simply consuming information. E.g. a good example of a web app is GMail, Google’s web based email service. GMail let’s users create and send email. The web portion, or User Interface, is only an aspect of the entire application. Most of what makes up Gmail is a large collection of various backend systems to send and store emails.

Another way of thinking about the difference between websites and web apps is that web apps are usually build around a so called Multitier architecture.

Mutlitier Architecture

In a multitier architecture the system is divided into logical layers. Sometimes this division is called “a separation of concerns”. The idea is that of dependencies and that dependencies should only go one way. E.g. it’s OK for a user interface to have a dependency on business logic but it’s not a good idea to have the business logic have a dependency on the user interface. Usually the business logic is the element that can be applied in many different aspects whereas the user interface could change. E.g. a web based user interface vs a mobile phone user interface. Changing the user interface doesn’t mean changing the core functionality of your application.

Decoupling

To make all the various layers (or tiers) within a multitier architecture work with each other the best choice would be to use a middleware. Sometimes middleware is referred to as “glue” software. Middleware is often implemented around a Message Broker. The idea is that you decouple systems by connecting them through an architecture that is based on sending messages. A message broker usually implements some sort of a queuing system and therefore most message brokers are referred to as Message Queue (MQ).

At Electric, our Message Broker of choice is RabbitMQ, an enterprise class message broker used a lot in the financial industry with the ability to process millions of messages per second.