What is IGS?
IGS (INOVA GIS Server) is a software application that provides communication between client applications (e.g. TeleCAD-GIS ) and central GIS database (Oracle database). Complemented with a map server it forms the middle tier of INOVA GIS Platform. Map server is responsible for serving GIS data (foremost maps) from various sources to GIS clients.
What does it do?
IGS is responsible for transferring GIS objects (foremost telecommunications infrastructure objects) from the DWG drawings into the relation database and vice versa (i.e. DWG to Oracle tables and vice versa - directly!). It contains knowledge about complete data model and performs compliance checks of entered data against the model. It offers complex GIS services to all types of clients.
IGS is the base and indispensable part of service oriented INOVA GIS Platform.
IGS comprises two components:
Log in server and APP server.
Log in server (load balancing server) receives requests from the clients and then assigns clients to one or more APP servers (organized in a cluster).
APP server(s) processes requests and returns them directly to the client. APP server supports: large number of concurrent client users; object modelling using Rational Rose; defining of complex associativity and connectivity rules; versions and long transactions; object locking etc.
As already indicated, map server is responsible for serving GIS data (foremost maps) from different sources (such as GIS databases, maps in form of files, map services...) to GIS clients. The data is served in compliance with OGC WMS and WFS standards. The main choice for the map server as the component of INOVA GIS Platform is GeoServer which has proven itself throughout the years as a stable and fast product with dynamic development and excellent support from the open source community.
It enables access to thematic maps and corresponding data through Internet or intranet. Spatial data and corresponding descriptive data stored in GIS database are available for anyone to access from any place. Map server also has the ability to distribute data from GIS database to KML stream. Thanks to this, Google Earth (third party) application can be used to view the entire telecommunications infrastructure stored in GIS database.
APP servers can be deployed into a cluster configuration, thus providing scalability by adding more processors or more memory to cluster units and/or by adding more units to a cluster configuration. This way it is possible to add required number of application servers to meet the needs in case of increased demand. Scaling, as well as server update, is performed live without any interruption to the system, thus reducing the downtime to a zero.
Full time server availability is of paramount importance. IGS components can be configured to provide server redundancy in order to insure safe failover in case of failure caused by power shortage, natural disaster, fire... The downtime is reduced to a zero.
Communication between a client user and the database is conducted over a long transaction. A long transaction is a transaction that includes many database (short) transactions while avoiding locks in the database. Long transactions are a necessity in case of editing geographical data by multiple concurrent editors because locking mechanisms of short transactions (that ensure data consistency) would prevent other users from simultaneously accessing the data that is edited by another user until such user completes the task. Since editing of geographical data can take up quite some time it would significantly restrict other users from accessing the data. On the other hand, long transactions allow the access to multiple simultaneous users to a same area without locking while potential conflicts are handled by other means (see the next passage).
Since long transactions avoid locks in the database, another method has to be in place in order to detect and resolve potential conflicts between multiple concurrent client users and to insure data consistency. This is achieved by implementing versioning and optimistic concurrency control method.
Besides its main goal, versioning also enables engineers and technicians to create different design options (versions) and test them against the database before selecting the final design. Number of versions is not limited. Once the final design is chosen all others designs (versions) are dropped.
Telecommunications infrastructure objects within GIS database can be locked in order to prevent users from editing them. Furthermore, locking can be imposed from other systems. This is especially important in case of integration with other systems because those systems can prevent changes or removal of the objects that they themselves depend on, thus ensuring the data consistency across the systems.
Project work flow
Another example of versioning implementation, this time with the goal to achieve the project workflow:
An engineer or a technician (appointed with user rights to edit) creates a project, downloads required telecommunications network elements and edits them. Upon completion of the work he sends the data for audit.Data is sent to the database (version is created) but they are only visible to the person appointed with user rights to audit. He can either finally accept the project (commit) at which point the changes become visible to all other users or he can choose to return the project for further editing. This sending of project back and forth between the editor and the auditor goes on (effectively creating version of a version of a version...) until the auditor is satisfied with the results of editor's work. (Note: single user can play both roles. See: User Access rights).
Offline file project synchronization
IGS enables work in offline mode (another benefit from long transactions). This means that user can download objects from database than edit them without being connected to the database. After completion of work user once again connects to the database and sends in the changes. At this point IGS detects and resolves all conflicts, if they occur, making sure that the integrity of the database is maintained.
User Access rights
Users from various departments of a business organization can access the database. These users can be assigned with different access rights based on:
Various combinations are possible.
Middle tire application logic
All application (business) logic is positioned on IGS. This way IGS is in effect turned into a gate keeper who insures that all data that goes into the database is absolutely correct. Rollback is enabled. If there are any errors during the process of sending data to the database everything goes back to the state it was in before sending was attempted. Error massage, which helps to isolate the problem, is displayed to a user. After resolving the errors, a user can one again send data to the database..
There are other advantages too, for example: any change in the business logic (caused by APP server update) will immediately affect all client users regardless of their own update status.
WMS/WFS MAP Server
making it available to a third party applications. INOVA GIS platform can be integrated with any internet mapping server that supports OGC WMS and WFS standards.
Service-oriented architecture (SOA)
IGS is service oriented
Linq2SQL custom data model
Data model is easily extendable.
Cluster architecture has made number of concurrent client users that connect to database virtually unlimited. This is true for users that are viewing database as well as for those who are editing it. For telecommunication company this means that there are no limits in amount of workforce that can be engaged on database editing while others are viewing that same database. Limitation is only in number of purchased licenses.
INOVA GIS platform is a system specialized for managing telecommunications network infrastructure in the spatial, GIS form.
On the other hand, in modern telecommunications companies there is a set of business processes which use the same infrastructure elements in a different form and extent. Those can be different network managers, fault and trouble ticketing systems, service managers, inventory systems, CRM etc. Each of these systems manages objects from its field, but also uses objects from the others. While setting up the information system of the company, specialized software products are usually acquired from different manufacturers and it is very important to secure their good integration.
INOVA GIS platform offers many options for integration with other systems. Integrations may be done: on the database level (primary key mapping table, procedures, database links...), on the middle tire level (COM, massage queues...), on the client level (web services...) or in the combinations of all three.
The platform offers a great flexibility when it comes to integration with other systems. The main reason for this is the fact that the key component that facilitates integrations (middle tier server) is a proprietary product of INOVA, namely INOVA GIS Server (IGS).
This means that INOVA does not depend on any third party vendors and if the integration requires specific approach (and it always does) INOVA programmers have the direct access to the source code and they can make necessary adjustments or develop entirely new custom solutions needed to perform the integration.