UNDERSTANDING
TECHNOLOGY
Java:
Why GIS People Should Care
Chris Andrews
In
the past 10 years, geographic information systems (GIS)
exploded from a highly specialized, esoteric discipline
into a broad horizontal technology that encompasses
hardware development, map making, data generation, and
complex software integration. Along the way, GIS
technology changed as GIS grew to interact with a variety
of hardware interfaces, data storage tools, and
programming languages. Despite this diversity in GIS
implementation, many GIS professionals fail to educate
themselves about the importance of standard tools that are
taking hold in the GIS industry. Thus, I am never
surprised when I am asked to defend or even identify the
relationship between GIS and a key element of modern
technology integration, the Java programming language.
Sun
Microsystems, Inc., announced the release of Java to a
wide audience in 1995. Most of the hype around this new
programming language focused on the interoperability of
Java on multiple operating system (OS) platforms. Notably,
many Web developers began developing Java
"applets" to perform complex Web page graphics
operations that were previously not possible. These
programmers encountered many early Java problems
transporting their applets across Web browsers and across
OS graphical user interfaces (GUI). While the Java
Community Process (JCP) dramatically improved the GUI
capabilities of the language, since the early days of
Java's release many public and private organizations have
quietly embraced Java to implement platform independent
server functionality that is not dependent on a GUI. Java
is now one of the most widely used programming languages
for technology integration.
As
an established standard for server-side Internet
development, Java-capable servers dominate the Internet.
According to the Netcraft, Ltd. website, approximately 72%
of Internet servers use Java-compatible Web server
software, including Apache, Sun One, and Zeus. This
percentage reaches approximately 94% when considering that
Microsoft's IIS can also be configured to run Java server
software with third party software. The remaining 6%
includes many Java-compatible Web servers, the exact types
of which are not counted by Netcraft. As the GIS world
moves toward providing better Web-based mapping
functionality and distributed spatial computing over the
Internet, Java arises as a viable, perhaps preferable,
option for integrating GIS into the Web.
The
open standards community naturally embraces community
maintained programming languages as the most appropriate
implementation tools for open projects. Sun developed the
JCP as a forum for changing the Java language to meet the
evolving requirements of the information technology (IT)
industry. The JCP includes companies, individuals, and
agencies that desire to have input on the growth and
change of the definition of Java. While there are other
truly open standards programming languages that can be
used to customize GIS, Java carries the robustness and
power to support integration tasks and primary functional
development tasks. For example, Vivid Solutions, Inc.,
implemented a robust topology toolkit called the JTS
Topology Suite (JTS). JTS, an open source Java project,
allows Java programmers to perform 2D spatial operations
such as identifying donut polygons and intersecting
shapes. With the help of tools such as the geospatial
specifications provided by the Open GIS Consortium, Inc. (OGC),
open source tools like JTS can be integrated with other
standards-based Java tools to provide complete,
standardized Java geospatial solutions.
Community
support for GIS and Java integration grows every year. The
establishment of a suite of standards by the OGC has
helped developers to build applications with a set of
predefined rules for constructing geospatial applications.
Numerous open and proprietary Java GIS packages already
exist. MapInfo Corporation led the field with an
IT-standard Java mapping package called MapXtreme Java.
Environmental Systems Research Institute, Inc. (ESRI),
also jumped on the Java bandwagon early with a Java GUI
for ArcView IMS. More recently ESRI ported its MapObjects
platform to the MapObjects Java version. The market's
Java-based GIS offerings are rapidly evolving from awkward
GUI-focused toolkits to fully functional geospatial
advanced programming interfaces.
Java
technology has quietly infiltrated the GIS world and forms
a key component of GIS integration projects. Many
government agencies adopted Java as an enterprise standard
in the last several years and preferentially select
Java-capable vendors and products. Populous countries such
as Brazil and China promote open source technology as a
cheaper development alternative and Java is a major
facilitator for open source implementation. Numerous new
tools such as JTS and the Oracle Spatial Java API allow
non-GIS Java programmers access to complex GIS storage and
manipulation functionality. Java technology has helped to
open GIS to the broader IT industry. Traditional GIS
professionals ignore the proliferation of Java at their
own risk.
About
the Author
Chris Andrews has been a GIS and Java advocate for
the past eight years, programming and listening to
customers in a variety of environments from private
industry to the Kennedy Space Center. Chris is currently
employed as a GIS Solution Architect at Idea Integration
in Denver, Colorado, and may be contacted at chris.andrews@
idea.com.
Back
|