PITA structure
Module Diagram
Modules explained
As you will notice from the Module Diagram, PITA project has a very modular structure. Based on this aproach, there is very easy to implement the step by step implementation process and to add at each step of the development a new module or extend the module with a new layer.
Advantages:
WEB interface module
This is the communication interface exposed by PITA service. All the PITA clients will use this interface in order to login to
PITA system, to change their settings, to add or create new journey routes and to obtain informations about the active route (the one
they are just taking at that moment).
In order to keep the things structured, the interface is split in more services. Each service is responsable for some specific related actions.
The services and the functionality are listed in the following table
| Service Name | Functionality |
|---|---|
| PITAuser | login and logout methods as well as setting the personal profile, browsing through the saved routes... |
| PITArouteplaner | creating a route (specifying when, from where to where and some other information) |
| PITAagent | connecting and synch between the client and server agent who supervise the journey. |
DB Connect module
All the connections to the PITA database will be made using this module. It provides the methods to obtain and to close
a JDBC connection to the database and to query the primary key sequences of the database ashuring the correct use of
SERIAL and AUTOINC features of each database. Due to this module, changing the DBMS will no longer be a problem.
The information about the database and about the classes to be used by this module are loaded from an xml config file when
the service gets initialized by AXIS.
Route planner module (contains the route planner and route planner adapters)
Deals with interogating the external services for a route and trying to return the one that fits best with the user request. It might
return some extra routes in order to let the user choose wich to take.
Agent manager module
Has the purpose of creating and managing the agents during the travel.
Delay checking module (contains the Delays checking thread and the delays adapters to the external services)
It is used by the agents in order to periodically check if there are some problems with the route they are watching for. This module
must also be able to obtain and process information from external services. It is required for the dinamical approach of PITA.
User notifier module
When some problems occur with the route taken by the PITA user, the agents will try to notify the client by executing a specified action
(spec. by the user) like: sending a SMS, sending a mail to a specified address and so on. The agent might decide to contact the user
in different other situations, for example to inform him about the state of the journey, some nodes to change trains ...