Thoughts on what is required to get the system running

First off, we can define the overall system.  This is easiest done in a picture.

So there are five elements to the system:

  1. A tablet user app.
  2. A Web Server that interacts with the tablet receiving requests and forming data responses
  3. A Web controller that manages all of the data management and manipulation
  4. A Data controller that is the interface between the Web controller and the Database
  5. A Database that holds each user’s data securely.

We then have to define what is needed to  to make this work from a software support point of view. It is easy to say  that “we need a web server” but it is a bit more difficult than that.  We have a problem in that the project will be developed on a single machine but will have to be designed so that it could, if implemented, be run on a network of machines – maybe on virtual machines (VMs) in the cloud, such as Amazon AWS. The implication from this is that, although the program will be developed on a single machine, I have to ensure that the communication between the web server delivery to the user is connected to the web controller by a web server interface. This means that I have to have two web servers running on the single machine, so both will have to use different ports. The Smalltalk Seaside software that I use to develop the web side of things normally looks out through port 8080. I will need to start a second server looking out on port 8081. This will provide the separate servers that I require.

The following diagram illustrates a typical data flow. Assume that the android device responds to a request by the user for information on the next train to be run. (Normally, the data would be more inclusive than that shown but I have cut down the data in the flows for clarity. The REST* requests are correct though).


This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s