the development of location based services for fleet management · 2015-12-25 · the development...

12
1 The Development of Location Based Services for Fleet Management Miloš Vojinović 1 , Željko Cvijetinović 1 , Nikola Kovačević 2 , Ivan Pušica 2 1 Faculty of Civil Engineering, University of Belgrade, Department for Geodesy and Geoinformatics, Belgrade, SERBIA, E-mail: [email protected], [email protected] 2 Geomatics Company MapSoft Ltd., SERBIA, E-mail: [email protected], [email protected] Summary: MobTrack:24 is a location based service that belongs to LBS applications for the tracking and management of fleet of vehicles. The design and the development of the first system version were done in 2008 and 2009. The system has been in commercial use since august 2008. During the last few years it has been established as one of the few leading services of this type in Serbia. The development of this system is a typical example of using the latest concepts and the best practices in the software development for this type of applications. Paper contains detailed description of the system and experiences gained during its development. Major problems and solutions are identified and described. Multi-tier architecture of the system is presented, as well as all the major software components and LBS components used. Software platform used for the development is described in detail with special attention paid to the components providing GIS functionalities of the system. Web services enabling system interoperability and integration with business and other information systems are covered too. Experiences gained during the system implementation and maintenance are also given in the paper. Keywords: Location based services, fleet management, warehouse database, .NET, web services, XML, Smart Client, Software Factory, SQL Server, spatial data, cloud computing 1. ABOUT MOBTRACK:24 MobTrack:24 is Location Based Service (LBS) [12] system from the vehicle fleet management category (Fleet Management, FM) [9]. Mobtrack:24 (Figure 1) enables position tracking, monitoring of basic (speed, acceleration, movement, contact) and additional telemetric parameters (fuel level and consumption, vehicle’s hydraulics operation, engine temperature, cargo area, etc.). The system also provides alerting on alarm situations and reporting. LBS components that have been used during the system development are given in Table 1. System is used as standalone system, but due to its open architecture, it is easy to integrate it with some business information system. Figure 1: Functionality of MobTrack:24 application [10] INTERNATIONAL SCIENTIFIC CONFERENCE AND XXIV MEETING OF SERBIAN SURVEYORS PROFESSIONAL PRACTICE AND EDUCATION IN GEODESY AND RELATED FIELDS24-26, June 2011, Kladovo - ,,Djerdap“ upon Danube, Serbia.

Upload: others

Post on 23-Apr-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Development of Location Based Services for Fleet Management · 2015-12-25 · The Development of Location Based Services for Fleet Management Miloš Vojinovi ć1, Željko Cvijetinovi

1

The Development of Location Based Services for Fleet Management

Miloš Vojinovi ć1, Željko Cvijetinovi ć1, Nikola Kovačević2, Ivan Pušica2 1 Faculty of Civil Engineering, University of Belgrade, Department for Geodesy and Geoinformatics, Belgrade,

SERBIA, E-mail: [email protected], [email protected] 2 Geomatics Company MapSoft Ltd., SERBIA, E-mail: [email protected], [email protected]

Summary: MobTrack:24 is a location based service that belongs to LBS applications for the tracking and management of fleet of vehicles. The design and the development of the first system version were done in 2008 and 2009. The system has been in commercial use since august 2008. During the last few years it has been established as one of the few leading services of this type in Serbia. The development of this system is a typical example of using the latest concepts and the best practices in the software development for this type of applications. Paper contains detailed description of the system and experiences gained during its development. Major problems and solutions are identified and described. Multi-tier architecture of the system is presented, as well as all the major software components and LBS components used. Software platform used for the development is described in detail with special attention paid to the components providing GIS functionalities of the system. Web services enabling system interoperability and integration with business and other information systems are covered too. Experiences gained during the system implementation and maintenance are also given in the paper.

Keywords: Location based services, fleet management, warehouse database, .NET, web services, XML, Smart Client, Software Factory, SQL Server, spatial data, cloud computing

1. ABOUT MOBTRACK:24

MobTrack:24 is Location Based Service (LBS) [12] system from the vehicle fleet management category (Fleet Management, FM) [9]. Mobtrack:24 (Figure 1) enables position tracking, monitoring of basic (speed, acceleration, movement, contact) and additional telemetric parameters (fuel level and consumption, vehicle’s hydraulics operation, engine temperature, cargo area, etc.). The system also provides alerting on alarm situations and reporting. LBS components that have been used during the system development are given in Table 1. System is used as standalone system, but due to its open architecture, it is easy to integrate it with some business information system.

Figure 1: Functionality of MobTrack:24 application [10]

INTERNATIONAL SCIENTIFIC CONFERENCE AND XXIV MEETING OF SERBIAN SURVEYORS ″″″″PROFESSIONAL PRACTICE AND EDUCATION

IN GEODESY AND RELATED FIELDS ″″″″ 24-26, June 2011, Kladovo - ,,Djerdap“ upon Danube, Serbia.

Page 2: The Development of Location Based Services for Fleet Management · 2015-12-25 · The Development of Location Based Services for Fleet Management Miloš Vojinovi ć1, Željko Cvijetinovi

2

Table 1: LBS components used for the development of MobTrack:24 system

LBS component MobTrack:24 implementation of LBS component

Communication Network

GSM network of Telenor and Telekom Serbia; Internet connection for communication between GSM provider and control center

Positioning GPS

Mobile device Teltonika GPS/GPRS devices with 2-4 digital inputs, 2-4 digital outputs, 1-4 analog inputs, 1 Wire port, CAN interface, etc.

Content Provider Maps – MapSoft’s MapsOfSerbia and Open street map (there is possibility of using Google maps or Bing maps), POI – MapSoft; address system – MapSoft’s data

Service Provider MapSoft and Mobile Solutions MobTrack:24 services

System has been in commercial exploitation since the end of 2008 and it has become one of the leading FM systems in Serbia [9].

2. THE DEVELOPMENT OF MOBTRACK:24

Development of the system started in 2007 and it has been going on continuously since. The largest portion of current software architecture was built in the beginning of 2009 when system was designed and version 2.0 of software application released. The architecture will be described in the following sections. Technical approach to the development of MobTrack:24 software application is based on the latest theoretical foundations for the development and implementation of IT projects, but it is also based on best practices.

2.1. Methodology for project management and organization of the development team

Some of the principles of agile software development were used and applied for the MobTrack:24 software development [2][3]:

• Working software over comprehensive documentation – working software will be more useful and welcome than just presenting documents to clients in meetings.

• Customer collaboration over contract negotiation – requirements cannot be fully collected at the beginning of the software development cycle, therefore continuous customer or stakeholder involvement is very important.

• Responding to change over following a plan – agile development is focused on quick responses to change and continuous development.

MobTrack:24 development team is comprised of the following professionals and their roles:

• Software development (4-5 software engineers / geomatic engineer); • Software testing (user, functional testing, 2-3 people); • System administration (2 people); • Hardware servicing of GPS/GPRS devices and development of telemetric equipment (2 people); • Marketing and customer relationship (2 stakeholder persons responsible for making user stories based on

market analysis); • Management and coordination of the development (1-2 persons that transform user stories into

specification of requests and specific development tasks including development control).

The development team implements solution using programming guidelines. Software source code made by any team member is checked periodically by other team members. This provides verification of used style of coding and also software functionality. Focus of the development is on avoiding defects when some critical demands have to be fulfilled.

Estimates on completeness of the development tasks are being done constantly. Data on invested work for every specific component, module or subsystem that are monitored by the development coordinator are being collected. This gives opportunity to the development coordinator to detect bottlenecks in the development process and to recognize and to address problems caused by inadequate design or inadequate qualifications in early stages of the process. The following periodical routines facilitate this concept of the development:

• Meeting of the development team is held once a week and current status of assigned tasks is reviewed and new tasks are assigned; completed tasks are crossed out on the white board and changes in project documentation are made in a form of user stories; following the implementation of user stories within the

Page 3: The Development of Location Based Services for Fleet Management · 2015-12-25 · The Development of Location Based Services for Fleet Management Miloš Vojinovi ć1, Željko Cvijetinovi

3

project design work plan is updated with new resource schedule; estimations of complexity of certain tasks, i.e. estimations on resources required for completion of these tasks is done jointly by the team members; development coordinator decides on priorities of tasks having in mind monthly agreements with stakeholders; having in mind tasks that are already assigned, coordinator also creates and assign new tasks;

• Development coordinator have dialogs with every member of the development team on a daily basis in order to assess progress of the development and status of the tasks; table of tasks is updated and optimal ways of the development and solving actual problems are considered; after source code is written and checked it is stored within SVN database (software versioning and a revision control system);

• Before weekly meeting is held, stakeholders are informed on current development status and re-examination is done in order to see if there are some changes in priorities; this can be done on demand, without predetermined time period;

• Monthly report to stakeholders on projects status, involvement of employees in projects, working hours spent on projects and total hours of employees is prepared at the beginning of each month; Gantt charts and Burn down charts are used to track projects progress.

General design is used to describe the development concept and to introduce guidelines for further development of the MobTrack:24 system. Therefore, all project participants (team members) are informed about project status and its extent. Detailed design contains details of implementation. However, agility of development, problem of mastering new technologies and difficulties of getting detailed insight into all problems that might occur till the end of the development in the design stage, result in detailed design being the most rarely updated document during iterations. The reason for this is that business processes are independent from up-to-dateness of this document and therefore its update is done after project is finished and it is done mostly for documentation purposes.

2.2. Methodology of the development

Common challenges that one is facing during the development and utilization of software applications are given in Figure 2.

Figure 2: Smart Client Software Factory [5]

Page 4: The Development of Location Based Services for Fleet Management · 2015-12-25 · The Development of Location Based Services for Fleet Management Miloš Vojinovi ć1, Željko Cvijetinovi

4

Characteristics of Smart Client Software Factory methodology of development are the following:

• Modularity • Development of user interface is based on integration of large number of background systems • Applications are realized through development, testing and shipment of separated modules (parts) • Integration of application configuration (list and rule for module loading) from central location

• User experience • Separation of responsibilities of visual display from business logic of the system • Application is comprised of multiple layers • Components are linked loosely by event based communication

• Delivery and update • „ClickOnce“ • Versioning support modules (separation of module implementation from module interface) • Modules are delivered independently of each other

• Web service communication • Communication using web services is used to provide interoperability of the solution

• Security • Application of standard security protocols and special binary protocols in combination with devices • Availability of modules depends on the selected package • User interface is based on rights and roles of specific user

• Manageability • Exception handling • Exception recording

2.2.1. Software templates

Software template is a general solution in software engineering for the problem that repeats itself during the design and development of the software. Template is not a final design that can be transformed into source code. It is a description or outline specifying how to solve a problem and it can be used in various situations.

2.2.2. Design templates

Design templates form cohesive language that can be used to describe standard solutions for common problems in object oriented design. These templates enable consideration of system of objects as quasi nested entities. By using these design templates for solving problems in programming one can properly manage design process.

2.2.3. Architectural templates

Architectural templates are software modules offering solutions for architectural problems in software engineering. Architectural templates are the basic scheme of structural organization of the software system comprised of subsystems, their interrelationships and responsibilities. In comparison with design templates, architectural templates are more extensive. Architectural templates that are in accordance with chosen Microsoft technologies are used for the development of MobTrack:24 system.

2.2.4. Service layer templates

Service layer template (Figure 3) defines boundary between applicative and service layer and establishes sets of possible and available operations. It also coordinates application response to every operation.

Page 5: The Development of Location Based Services for Fleet Management · 2015-12-25 · The Development of Location Based Services for Fleet Management Miloš Vojinovi ć1, Željko Cvijetinovi

5

Figure 3: Service Layer architecture

2.2.5. Smart Client

Smart Client methodology provides integrated set of guidelines that helps software architects and developers to create composite “Smart Client” applications. These applications have one or more of the following characteristics (Figure 4):

• Rich user interface that uses advantages of Microsoft Windows desktop computer power;

• Linking with numerous background systems and data exchange with these systems;

• Display of information coming from numerous and diverse data sources by using integrated user interface so that user has impression that data comes from a single source;

• Exploitation of local computer resources and capabilities so that system is operational even in periods when it is not possible to use network

• Intelligent software installation, version update and configuration.

Figure 4: Smart, Rich and Thin Clients architecture

Smart client is combination of „Rich” and „Thin” client, i.e. it has the best characteristics of both software architectures.

Smart clients are newer independent and they are always part of the larger distributed solution. This may mean that application is linked to a large number of Web services which provide access to data or to some other application in the process.

Page 6: The Development of Location Based Services for Fleet Management · 2015-12-25 · The Development of Location Based Services for Fleet Management Miloš Vojinovi ć1, Željko Cvijetinovi

6

Smart clients manage software installation and version update using much more intelligent approach than traditional “Rich Client” applications. .NET framework enables that parts of application can be installed by using various techniques including simple copying of files or download via HTTP. Applications can be changed while working and they can be installed on demand by clicking on URL.

2.2.6. Automatic source code generation - Code Smith and .netTiers

Code Smith [1] application is a source code template generator that can be used with C# and VB.Net to generate source code for any language and text. Automatic source code generation helps in avoiding errors caused by human factor. Code Smith templates enable creation of powerful templates by using metadata and simple definition of parameters and, the best of all, template language looks like ASP.NET language.

.netTiers [11] is a set of open-source code generation templates for Code Smith applications written in C# language. The basic purpose of templates is to help developers in eliminating repetitious coding, and also to provide complete platform that enables developers to focus mostly on presentation layer, business rules, etc. .netTiers is applicative block, specialized in model driven design and focused on providing complete solutions that help in everyday programming.

Templates efficiently generate sets of object-relational domain objects for existing databases using the principle of the Model Driven Design (MDD). MDD is basically concept where design model is used for the generation of application. UML designers are familiar with MDD. Customization of MDD by using Code Smith rich metadata is straightforward. It is the responsibility of .netTiers library to transform good database design into system of domain classes providing very good source code foundation. Since most of business applications are data centric, .netTiers is quite efficient in providing support to data management.

2.2.7. Development tools

Microsoft Visual Studio 2005/2008/2010 have been used as software development platform, specifically C# language is used for coding. For the development of reporting functionality on client side Crystal Reports have been used [9]. Specifically, Crystal Reports 2005, tool that is embedded in Visual Studio has been used. Microsoft SQL Server Reporting Services 2005/2008 have been used for the reporting on server side. SQL Server Management Studio has been used for the development and administration of database.

Tortoise SVN

Tortoise SVN [13] has been used as a tool for the application source code management. This tool is characterized by efficient source code management from remote locations. Therefore, outsourcing has been rather straightforward. By transferring only changes in source code, it is provided that data flow on Internet link within every day operations is always low. Weekly backup of SVN database is done with data archiving on remote location.

MantisBT

MantisBT [2] is open-source Web-based bug tracking system but it can be used for all other demands for software modification. It can be used as a platform for collaboration, documenting, task assignments and process development tracking as well. All projects and issues registered within the MantisBT system (bug corrections, new functionalities, demands for application modification, etc.) are provided with unique ID within the system and initially they are classified according to project/issue type and priority. Each issue is assigned to a certain user of the system. Users have their accounts and roles. Status of issue and all the changes within certain project can be tracked via email notifications send to relevant users (users that are involved in certain project).

MantisBT is used for quality control during the process of documenting and tracking of reported software defects. Defects that are found during software testing are registered within MantisBT and these are available via Internet access to team members responsible for the development, testing, customer relationship and support.

2.3. System architecture

MobTrack:24 system architecture comprised of Map Server, Application Server, Database Server, TCP/IP .NET Server and other software and hardware components (VPN, firewall, router, etc.) providing efficient, safe and stable functioning of the system is illustrated in Figure 5.

Page 7: The Development of Location Based Services for Fleet Management · 2015-12-25 · The Development of Location Based Services for Fleet Management Miloš Vojinovi ć1, Željko Cvijetinovi

7

Figure 5: MobTrack:24 system architecture

2.3.1. System software platform

MobTrack:24 is based on the following system architecture:

• Windows operating system Microsoft Windows Server 2003 and .NET framework 2.0;

• Microsoft SQL Server 2008 R2;

• Internet Information Server 6 is used as an Internet server for Web applications and Web services of the system.

2.3.2. Database manager – Microsoft SQL Server 2008 R2 (2010)

SQL Server [6] is comprehensive, integrated solution for data management providing secure, reliable and productive platform for data applications and business intelligence (BI) applications. Since version 2005, SQL Server provides powerful and familiar tools, that reducing complexity of creating, application, management and use of data and analytical applications. System supports platforms ranging from mobile devices to database systems of large enterprises. Figure 6 illustrate tools of SQL Server.

Figure 6: SQL Server tools

Page 8: The Development of Location Based Services for Fleet Management · 2015-12-25 · The Development of Location Based Services for Fleet Management Miloš Vojinovi ć1, Željko Cvijetinovi

8

Microsoft SQL Server 2008 R2 provides support for structured and semi-structured data including digital media formats for images, audio and other content. Other data types that are supported include specialized date and time data types and spatial data types for location based information. For non-structured data there are the following specialized data types: File and Filestream. Filestream can reference any file in file system managed by SQL Server. Therefore, SQL Server 2008 R2 can be storage backend for different types of data: XML, email, time/calendar, file, document, spatial, etc. Search, queries, analysis, sharing and synchronization are also supported for all these types of data.

Spatial data are stored using two different data types:

• Geometry or planar data type for representing spatial data that are projected from earth ellipsoid to projection plane;

• Geography data type use ellipsoid model where Earth is represented as unique, continuous entity that have no problems with singularities such as international time zone boundaries, earth poles or zone boundaries of cartographic projections.

There are approximately 70 methods for spatial operations providing functionalities specified by Open Geospatial Consortium Simple Features for SQL, Version 1.1.

On the management side, Microsoft SQL Server 2008 R2 provides Declarative Management Framework for declarative configuration of rights and limitations, on a database level or for specific tables. For data warehousing compression is provided, thus increasing scalability of the system. Resource Governor enables resource reservation for certain users or procedures. Transparent data encryption is being introduced as well as backup compression.

2.4. Project realization

Project realization itself is a combination of utilization of different domain technologies. In order to have optimal system, each of its domain parts should be developed using the best practices, but these should be used having in mind the purpose of the whole system. Sometimes, development prototypes of certain modules were used because the latest technologies in software development were used during the development process. The goal was to evaluate possible limitations of the technology/platform and of the project design as well. This process provided important experiences related to the use of selected Microsoft technologies for solving domain problems of the project. These experiences will be briefly presented in this paper at places where certain parts of the MobTrack:24 system are presented.

2.4.1. Client application

MobTrack:24 client application (Figure 7) is a smart client desktop application. The goal of the development was to produce application that would primarily provide intuitive and interactive visualization of vehicle movement (routes) on the map. Result of the development is application that has rich and configurable interface that is organized similarly to Microsoft Office applications. Application is modular in terms of its functionality. New functionalities are being developed and implemented within the application constantly.

Due to the diversity of users and applications of this system it is necessary to provide a large number of configuration parameters and a large number of menus, i.e. different functionalities. Careful design of user interface, obtained from several revisions, provided stable version that enables straightforward modifications and further extensions.

Application has been developed using ClickOnce technology. This technology provides easy distribution and installation of new software versions towards large number of customers. It should be mentioned that user’s settings are preserved after new version is installed over the old one. Some problems still might occur because user computer might not be updated at the time of installation of service packs, so these situations have to be resolved by using administrator’s support. On the other hand, application itself does not require high level of user rights for installation, so no administrator’s rights are required for its installation.

Reports on client side are generated using Crystal Reports platform and they provide robustness and great performances of the solution, but also out-of-the-box possibilities for export of tabular reports into various file formats (xls, pdf, doc, rtf, etc.).

Graphical reports of MobTrack:24 client application that are implemented in a form of interactive graphics are especially attractive. These reports are linked with maps and tabular data and all of these data and reports provide detailed insight into telemetric data that are characteristic for each single device that collects and send data to MobTrack:24 server.

Page 9: The Development of Location Based Services for Fleet Management · 2015-12-25 · The Development of Location Based Services for Fleet Management Miloš Vojinovi ć1, Željko Cvijetinovi

9

Performances of MobTrack:24 desktop application are certainly mach better than they would be if application had been developed as a web solution. Main reason for this is that desktop application use hardware resources to the full extent instead of being dependant on limitations imposed by web browser. Functionalities that depend on large number of calls of web services are critical for application performances (large number of calls for reverse geocoding of newly arrived positions is typical example), so the results of these calls are cached on client side and they have to be downloaded from server only once.

Figure 7: User interface of MobTrack:24 client application

2.4.2. Client application for system administration

For everyday maintenance and supervision of the system a special client application is developed. It is a classical ASP.NET 2.0 web application that relies on .netTiers templates. ASP.NET membership out-of-the-box solves problems of authorization and authentication. Application itself is relying on enterprise libraries for logging and exception handling. System of messages and email notifications provide information on system status to administrators. This application is significantly dependent on database model, so when database model is changed, the application itself has to be changed too. However, this change is done automatically by automatic source code generation.This was priovided by using partial classes. Business logic is placed into separated parts of classes stored within special files that are never to be changed. In time, system was becoming more and more mature and changes of database model were happening less and less often, so these situations are now quite rare.

2.4.3. Communication server - protocol

This .NET application represents link between GPS/GPRS device and the data server. Application supports a large number of different devices and protocols that are being used for the communication. TCP and UTP protocols, binary or string, are used. This application is a vital part of the system, because it is under constant load. Devices send data, they wait for the data decoding, data are stored in database and some reply is expected. All of these activities are happening constantly, all the time. Therefore, it is obvious that communication server has to be very efficient, robust and reliable. It was necessary to develop several prototypes of this application, including special client applications for stress testing of the application, in order to obtain optimal results.

Problem of performances is especially significant for memory management because of the very nature of .NET platform. Initial design of application had assumed use of the threading, but this approach was abandoned because each connection occupied at least 1MB. The problem has been solved by using asynchronous socket listeners instead of using threads. Socket listeners have up to 100 times less memory footprint per connection. Memory allocation by .NET platform and sluggishness of Garbage Collector results, after longer period of

Page 10: The Development of Location Based Services for Fleet Management · 2015-12-25 · The Development of Location Based Services for Fleet Management Miloš Vojinovi ć1, Željko Cvijetinovi

10

operation, in allocation and fragmentation of much of the memory. It has been concluded that efficient solution to this problem is automatic restart of the communication server when specified threshold is reached.

Load balancing using different server machines and public IP addresses provided that it is possible to separate larger number of devices in case that some server would be overloaded otherwise. All the data are merged into centralized database in these cases as well.

2.4.4. Reverse geocoding

Reverse geocoding has been developed as web services (Figure 8). It is based on platform capabilities of SQL Server spatial extensions, on spatial data owned by Mapsoft company and on large POI database that has been defined by MobTrack:24 customers. Fine tuning of spatial indexes and logic of stored procedures which respects the use of primary and secondary filters for spatial queries within SQL Server are very important for implemented service performances.

An example of using SQL Server with spatial extensions is a function that has been designed and implemented to facilitate queries on object, time and space, whereas space can be POI, street or house number. This functionality is also an example of using various GIS data types within the MobTrack:24 application.

Figure 8: Calling web service for reverse geocoding

2.4.5. Server reports with automatic e-mail delivery

The development and implementation of server reports have been done by using SQL Reporting Services and specially designed tables containing parameters for the rendering of reports in PDF file format. Schedule for the delivery of reports to specified email addresses is also used as an input that can be configured. SQL Server agents are started frequently and these agents check content stored within configuration tables. These tables contain instructions for agents instructing them how to perform certain actions.

It is possible for a client to apply for automatic delivery of certain reports to his e-mail and to specify parameters for reporting. This mechanism provides top management of a certain company with selected fleet reports of KPI type. Reports are being sent to email address specified by user. The user can open email containing report even by using mobile phone, so there is no need to use MobTrack:24 client application.

2.4.6. Map server

Map server is implemented as a tile server (Figure 9). It uses balanced tree of folders created on Internet Information Server (IIS). Alternative system setup on server platform that has better performance of file system is also possible. SQL Server can be used as a Map server also, by combining new possibilities of storing files and hierarchyID depth first indexes on map tiles. The largest number of files per folder on Microsoft operating systems is limited to 5000. Number of tiles is usually much higher. In order to provide fairly functional operation of the system it was necessary to develop a software application for intelligent distribution and management with files stored within a tree of folders. Tree depth, its overall structure and number of files per folder had to be optimized to provide efficient processing of these files map server.

Page 11: The Development of Location Based Services for Fleet Management · 2015-12-25 · The Development of Location Based Services for Fleet Management Miloš Vojinovi ć1, Željko Cvijetinovi

11

Figure 9: Three data layers - map, photo and hybrid

2.4.7. Database

Database is divided into two redundant parts:

• Transactional database optimized for insert operation and

• Warehouse [7] database optimized for select queries.

Database also contains a large number of stored procedures which extend functionality towards applicative software and it also contains agents and packages responsible for automatic maintenance of the data. Database is vital for the system performances. In addition to predefined queries working on collected data that are stored in warehouse database, there are also queries having variable parameters, so these queries can be applied on tables with derived data. For these queries it is important to maintain indexes on key table fields. This is a demanding task for a database containing more than 500GB of data, so it is necessary to have agents who will check these queries and execute reindexing of problematic indexes. Also, table partitioning on time component should be used to alleviate the problem of having massive amount of data. It is desirable that these automatic maintenance procedures are executed in time when server is not under heavy load.

Wrong execution plans based on query samples that are not representative enough, so therefore providing bad indexing use, can result in great problems. In those cases, use of certain indexes should be forced or execution plan should be turned off.

2.4.8. Hardware-communication architecture of commercial service

Commercial service assumes security, reliability and performance above all. In addition to using optimal software, it is also very important to use suitable hardware resources. Scalability of the software solution enables incorporation of new server machines into the system in order to provide proper load balancing.

Failover cluster of SQL Servers and redundant Internet links contribute to the reliability of the system, together with UPS devices and RAID setup of hard discs. In addition to suitable administration procedures, strategy of backup is also very important. For example, in case of SQL Server it should be: 1 hour - transaction log backup, 1 day - differential backup, 1 week - full backup.

Hardware routers, firewalls, VPN, IPSec and reliable communication protocols contribute to the security of the system.

Performances are improved by using warehouse solution that is optimized for the most frequent queries and with utilization of already prepared aggregated data (daily totals). Synchronization of the transactional database with the warehouse database is executed in scheduled by using SSIS packages which are used to process only differences that occurred between the two calls.

Selected software architecture, .NET platform and SQL Server database are preconditions that provide possibilities of using advanced Private Cloud [8] concept for hardware-communication architecture of the system.

Page 12: The Development of Location Based Services for Fleet Management · 2015-12-25 · The Development of Location Based Services for Fleet Management Miloš Vojinovi ć1, Željko Cvijetinovi

12

3. CONCLUSION

After severals years of the development and exploatation of the MobTrack:24 system valuable experiences have been acquired. Choice of Smart Client Software Factory model enabled agility of the development, contributing to overall efficiency in establishing the service. It also provided possibilities for fast responses to users’ requests. SQL Server Spatial Data model has met all the requirements set for to the spatial component of FM service and it also facilitated creation of the system with high performances.

Front-end application of the system has rich user interface and excellent performances. There have been 15 software revisions since November 2008 (10 in version 1.x and 5 in version 2.x). Software installation on computer that does not have .NET and Crystal Report components installed (first installation) lasts 2-3 minutes. After that each installation lasts about 1 minute (if ADSL connection to Internet is used). ClickOnce technology enables quite easy installation. New functionalities are being embraced by users and team for the technical support does not have difficult job in providing support during software update. Prospective users are not a general population, but a predictable number of users of particular profile of FM customer [9]. Therefore, at the beginning of the development is seemed that Smart Client application could be the right thing. Experiences from practice confirmed this assumption and justified the choice.

Number of users is being increased on a monthly basis and applied methodology enables easy maintenance and extensions of the system. Some requests for from users (advanced capabilities of grid control for sorting and browsing data, intuitive and efficient tools for POI’s creation, map navigation, etc.) that were very important for them, were met by the development of new functionalities and the development and implementation process was rather straightforward. Return of investment in service architecture was not manifested until this year when new users that directly use this possibility have emerged.

Methodology of development and project management for the MobTrack:24 system has proved to be productive and efficient. Technologies and tools (Microsoft ones above all) that are available on the market facilitate the development of robust FM system with high performances. Smart Client Software Factory model has demonstrated in this use case its comparative advantages and it can be stated that this model might be the optimal solution for the development and implementation of this type of services.

REFERENCES

[1] CodeSmith Tools LLC, CodeSmith Tools, http://www.codesmithtools.com/ [2] Beck, K.; et al.; Manifesto for Agile Software Development, Agile Alliance, 2001. [3] Highsmith, J.: Agile software development ecosystems, Addison-Wesley Longman Publishing Co., Inc.

Boston, MA, USA, 2002, pp. 1-404. [4] MantisBT, http://www.mantisbt.org/ [5] Microsoft corporation, MSDN Library, Smart Client Software Factory - http://msdn.microsoft.com/en-

us/library/ff648753.aspx [6] Microsoft corporation, SQL Server 2008 R2, http://www.microsoft.com/sqlserver/2008/en/us/r2.aspx [7] Microsoft, SQL Server Data Warehousing, http://www.microsoft.com/sqlserver/2008/en/us/data-

warehousing.aspx [8] Microsoft | Virtualization, Private Cloud Solutions, http://www.microsoft.com/virtualization/en/us/private-

cloud.aspx [9] Vojinović, M.; Cvijetinović, Ž.; Mihajlović, D.; Kovačević, N.; LBS for Fleet Management - Status and

Prospects in Serbia, International Scientific Conference and XXIV Meeting Of Serbian Surveyors Professional Practice and Education and Geodesy and Related Fields, 24-26, June 2011, Kladovo - ,,Djerdap“ upon Danube, Serbia

[10] MobTrack:24 www.mobilesolutions.rs [11] .netTiers Team, .netTiers Application Framework, http://www.nettiers.com/ [12] Open Geospatial Consortium, Glossary of Terms - Location Based Services (LBS),

http://www.opengeospatial.org/ogc/glossary/l [13] SAP AG, SAP Crystal Reports, http://www.crystalreports.com/ [14] The TortoiseSVN team, TortoiseSVN, http://tortoisesvn.net/

Note: all web pages have been accessed on May, 10th, 2011