|
|
|
System Architecture
|
Building dynamic network models with GIS software components
General system requirements
There are numerous general requirements of any AM/FM/GIS solution. These range from some that
would be expected of any state-of-the-art GIS to those that would typically only be necessary in a highend
AM/FM/GIS system. It is interesting to note that robust support for industry standards is one of the
key meta-requirements that arises in most if not all of the following general requirements. The list of
requirements for an AM/FM/GIS system includes but is not limited to the following:
-
Standard RDBMSS
It is no longer commercially viable for a GIS software vendor to support the persistence of data inside a
proprietary database. End-users now demand that data be persisted inside industry standard commercial
relational database management systems (RDBMS) such as Oracle, SQL Server, Informix, Sybase, and
DB2. Standard commercial RDBMSS afford end-users the safety of having their key asset (i.e., corporate
data) stored in a technology that is independent of their AM/FM/GIS software provider. By using
commercial RDBMSS, you realize benefits such as the centralization of all corporate data, robust security
models, platform independence, backup utilities, and other administrative tools. The AM/FM/GIS vendor
adds value to the RDBMS by building infrastructure (or middleware) that manages geometric types and
provides services such as optimized spatial storage and indexing mechanisms and spatial and topological
operators and query capabilities.
- Standard Customization Languages
Many legacy systems require the end user or third party developer to use proprietary scripting languages
to customize the AM/FM/GIS system. Proprietary languages suffer from several fundamental defects.
These include small pools of expensive developers expert in the proprietary language, lowered language
functionality when compared with standard languages, the inability to directly incorporate soflvvare
components, and the absence of a rich visual programming environment. Examples of industry standard
languages are C++, Visual Basic, Delphi, and Java. The end user benefits from standard programming
environments in several ways. The primary benefit is the ability to extend the component object model in
exactly the same manner as the AM/FM/GIS vendor programmer (provided the language supports the
underlying component framework, as most now do). This gives the customer the advantages of
exceptional flexibility in customization and very high performance. Other advantages include the
availability of better tools, a market filled with third party components, significantly larger pools of
qualified developers, and the security of not being beholden to odd proprietary languages.
- Standard Visual Modeling Tools
In order to craft sophisticated solutions with industry standard languages and database technology, it is
necessary for the AM/FM/GIS software provider to support some form of visual modeling tools. Such
visual modeling tools are used at the analysis and detailed design stages of the software engineering
process. As was the case with database technology and customization languages, it is also very desirable
for industry standard modeling tools to be utilized for this goal. Currently, there are numerous third party
visual modeling tools that provide direct support for developing object-oriented systems (e.g., Rational
Rose, Visio Professional, Paradigm Plus, and others). The essential requirements here are support for the
Unified Modeling Language (or UML - lingua franca of object modeling; see Rational Software, et. al.,
1997 for further details), and open modeling tool persistence mechanisms such as Microsofi's Repository.
Repository is a technology for defining and populating information (meta data) models (Bernstein,
Sanders, Harry, Schutt, and Zander, 1997). Rather than using a limited and proprietary modeling tool, the
end user should be able to select a commercial visual modeling tool and utilize it for their object modeling
as well as database schema design. Additionally, there should be mechanisms that allow the generation of
source code (again in industry standard languages such as C++, Java, Visual Basic or Delphi) that is
driven by the UML object models.
- Long Transactions and Optimistic Versioning
Given the multi-user, job-oriented nature of AM/FM database updates, support for long transactions and
optimistic versioning is a fundamental requirement. Traditional row locking is not sufficient; rich object
models with high degrees of interconnectivity increase the impact of locking a row in the database.
Automatic conflict detection and resolution are additional requirements for long transaction and
versioning support.
|
|
|
|