views:

49

answers:

2

Hi All

I am interested how to they to the following:
(because of my English some phrases can be strange :) )

Let assume that we need a software for a big airline company with 200 airports far away each other, each having 10 software clients.

The system uses 3 tire architecture.

Is there only one middle tire (probably cluster of application servers) that all clients connects to, or each airport has his own database, application server (independent identical systems) and over night the dbs are synchronized to a central warehouse?

If all clients connect to the same middle tire, and this tire is very very far away, how do they handle connection errors ? Can they afford the internet latency ?

Regards

A: 

It depends!

  • What internet connections exists, bandwidth / latency / reliability.
  • How much data will be transferred.
  • What are the availability requirements, is this flight control or work time reporting?
  • How often will data change
  • Should changes from one user propagate to other users at other airports as soon as possible?
  • Are there synchronization requirements, like booking of flight tickets (if one airport books a seat on a given flight, other airports must immediately be blocked from booking that seat on that flight)
Albin Sunnanbo
A: 

There are many different ways to develop a n-tier architecture. The one they choose depends on their specific requirements.

If they need to absolutely make sure the software can operate even if there is no Internet connectivity, and up-to-date data is not important, then they could use a database at each location.

If they can tolerate network connectivity problems but they need to ensure all data is up-to-date, then it could be a web application, with all tiers in one location, with a web browser acting as a thin client.

Or a rich client could connect to a middle-tier application server at a central location.

In any case, connectivity problems are outside of the domain of the software -- in this case, it becomes important to establish a service level agreement (SLA) with the network provider and arrange for backup connections to ensure reliable network operation.

Jeff

related questions