Customization with Standardization: The Architectural Challenge for Corporate GIS applications
Emerging Technologies
Developing and following industry standards is the key to enable new applications
and COTS solutions to interact. A few of these standards are described below.
XML
XML, eXtensible Markup Language, is an enabling standard for current and
evolving EAI (Enterprise Application Integration) platforms. XML is well known as a
strategic approach for exchanging self-describing information between applications
and businesses. What XML does well is describe data content and allows us to
define processes, which makes the process of integration easier and more flexible.
Some advantages of using XML are:
- Common data exchange protocol allowing reuse in subsequent projects
- As its effective use increases, standard tools such as parsers and
transformation engines, and editors start to grow (www.xmlsoftware.com )
- Independence of hardware platform and database format
- Can be used as a data storage (XML-databases) or can be manipulated
through major database vendors
- Minimizes the costs in the areas of expandability, maintainability, scalability
and reliability [9]
- Ability to easily apply data types to elements and attributes using XMLSchema
Another important point is that XML can standardize the interoperability among
different systems of the organization. Domain specific vocabularies [3] are
emerging and the Geography Markup Language (GML) from OpenGIS Consortium
is the standard vocabulary for spatial data exchange and interoperability. GML,
according to OGC, is specifically an XML encoding for the transport and storage of
geographic information, including both the geometry and properties of geographic
features [1]. XML- DTD (Document Type Definition) and XML-Schema supports
vocabulary definitions.
Some of the spatial industry’s leading vendors are implementing EAI interfaces to
their spatial platforms that leverage the GML standard. The importance is that this
evolving standard will enable the exchange and integration of spatial data across
multiple and different platforms that support unique spatial data models.
Using XML and standard vocabularies result in a productive environment,
maintenance and enhancement tasks are shortened and reliability is increased.
These features will allow rapid software development or customization: one of the
most important factors in today’s business environments.
Web Services
Software on a common platform is being supplanted with remote invocation using
well-defined interfaces for interoperability. Web Service is a programmable
application logic accessible using standard Internet protocols. Web Services offer
capabilities such as translation, projection, generalization, analysis, and other
component services. Emerging standards define how these capabilities will
become ubiquitous within industry.
Like components, Web Services represent black-box functionality that can be
reused without worrying about how the service is implemented. Unlike current
component technologies, Web Services are not accessed via object-model specific
protocols, such as the Distributed Component Object Model (DCOM), Remote
Method Invocation (RMI), or Internet Inter-ORB Protocol (IIOP). Instead, Web
Services are accessed via ubiquitous Web protocols and formats, such as
Hypertext Transfer Protocol (HTTP) and Extensible Markup Language (XML).
Service-oriented connectivity is more complex. Instead of dealing with extracting
and publishing simple information to source or target systems, service-oriented
adapters have to abstract services or application behavior, too. They need to
expose application functions for abstraction into a composite application as a local
function that actually exists on a remote system. Even though the function appears
local to the composite application, the application processing occurs in the remote
system connected through a service-oriented connectivity subsystem (adapter).
There are some key specifications and technologies being defined or available
today that address the basic requirements for service-based development [10]:
- A standard way to represent data - XML is the obvious choice for
standardization. Most Web Service related specifications use XML for data
representation, as well as XML schemas to describe data types.
- A common, extensible, message format - The Simple Object Access
Protocol (SOAP) defines a lightweight protocol for information exchange.
Part of the SOAP specification defines a set of rules for how to use XML to
represent data. Other parts of the SOAP specification define an extensible
message format, conventions for representing remote procedure calls
(RPCs) using the SOAP message format, and bindings to the HTTP
protocol.
- A common, extensible, service description language - Given a Web Service,
it would be nice to have a standard way to document what messages the
Web Services accepts and generates. The Web Services Description
Language (WSDL) is an XML-based contract language.
- A way to discover services located on a particular website – Developers will
also need some way to discover Web Services.
- A way to discover service providers – In many cases the developer will not
know the URLs where services can be found. Universal Description,
Discovery, and Integration (UDDI) specifies a mechanism for Web Service
providers to advertise the existence of their Web Services and for Web
Service consumers to locate Web Services of interest, using a publish, find,
and bind mechanism.