Trazers is a mobile client/server application. It's architecture depends on a service oriented approach. This page gives you an overview about the architecture and how the server and the client application work together.

Server and Service

The server application is responsible for the data storage and also for some parts of the application logic. The service facade is the entry point for all consumers (e.g. the Trazers client application) of the service. The service contract defines the operations and the entities of the service, the service adaptor implements the service - currently as an ASP.NET web service.

The application layer is seperated into client- and server side. On server side there is less application logic. The components route and map gather all information for a route from an origin address to a destination address. The component position log is responsible for storing the recorded position logs. The component trail detector transforms these position logs into trails. communication and tracking provide some functionality to track the position of the users and to send messages between them.

The data access layer implemnts the access to the object-relational database. Currently we have a data access provider for SQL Server 2005 enhanced by MsSqlSpatial.

We access MapPoint Web Service as an external service to collect map graphics which will be enhanced with the user collected data - trails and points of interest - to provie them the personalised navigation experince.

KonzeptionelleSichtServer.png

Client

The user has direct access to the presentaion layer of the mobile client application. The form shows all information to the user, inputs by the user are directed to the application layer. The presentation and the application layer are connected via Model-View-controller paradigm. The map view provides a map to the user. Currently we use raster maps provided by MapPoint Web Service. The map view itself uses the EMIC Location and Mapping Framework.

The application layer contains the client-side application logic. The application facede provides access for the presentation layer. The positioning component is responsible for position fixing. currently we support GPS only and use a commercial version provided by geoframeworks.com. Within a continous time span the position is logged on the device. The map component provides all information about maps and related topics like points of interest. The routing component is responsible for the route calculation depending on the given trails from origin to destination address. Currently we use a simple implementation of Djisktra's shortest path algorithm provided by TODO. The tracking component gathers the position of other users, the communication component is responsible for the communication bewtween the users. The session component provides information about the user and his user groups.

The service access layer provides the access to the Trazers web service. We provide an online/offline scenario. The mobile needs to to stay connected to the service. All data feteched from the service is cached on the device as simple xml files. All data which needs to be transferred to the server run through a simple message queue. The message elements are stored as xml files as well. Binary storage is also possible to reduce the data size. A connection monitor detects connection changes a swiches the application from online to offline mode and vice versa. There is also a notification service to send messaged from server to the client application. It is implemented as a TCP end point for SOAP messages, based on the remote publish-subscribe-pattern.

KonzeptionelleSichtClient.png

Last edited Nov 2, 2007 at 4:19 PM by JackSmith, version 13

Comments

No comments yet.