Developing Server Applications
As Web/enterprise developers, we tend to be most interested in
what is happening on the server. The first thing to understand
with ESRI's Web platform is that you need to have the ArcIMS
server - and you need to have the Internet Edition of Map
Objects. ArcIMS is essentially an application server for GIS
apps, and provides a number of GIS and mapping services that can
be accessed via a Web layer. Two connectors can be used by J2EE
developers to interact with these services. The most common is
the servlet connector, which utilizes the Web Map Services 1.1-
compliant interface (this is a standard set by the Open GIS
Consortium). In addition, ArcIMS uses the Java connector, a set
of JSP custom tags and a JavaBeans Object Model Library to allow
JSP developers to interact with these services.
In addition to JSP/Servlet deployments, developers can use the
ArcIMS Java Viewer to display mapping information. This GIS
browser utilizes JavaScript to interact with its elements. Java
Viewer can be used to shorten development time when outputting
interactive mapping environments.
GIS Web Services
In addition to utilizing native Java components, ArcIMS allows
for the utilization of GIS Web Services. These are XML, SOAP-
based Web Services that can be used to send GIS information
between multiple environments, including Microsoft's .NET
programming environment.
Using Spatial Data
Like most enterprise applications, the heart is generally a
single or group of databases. This is true with GIS
applications, as well. To work with this, ESRI provides ArcSDE,
the Arc Spatial Database Engine. ArcSDE allows for the
combination of multiple data sources that contain spatial data.
The ArcSDE itself handles logic that is specific to GIS, but
still allows for the core data to stay in the original RDBMS,
such as Oracle or MS SQL Server. ArcSDE has an API that can be
used by Java developers to tie into the central repository, or
developers can use JDBC to talk to the databases directly.
Documentation and Getting Started
Fortunately, ESRI has provided a good set of documentation that
is available with the download of MapObjects - Java Edition.
This includes not only a brief introduction to understanding map
projections (a key for us Java developers that don't really
understand GIS), but also API documentation, Unified Modeling
Language documents of all the packages available in the API and
a host of other information that will be beneficial to any
developer looking to present GIS and mapping information in
their Java applications using this software.
The getting started documentation will walk you through IDE
configuration and even highlight the demo applications and how
they were built. This is a great place to start, as it not only
illustrates the API usage, but shows it in action in an actual
application that you can interact with yourself.
Licensing
You can license the basic standalone package, which includes 25
deployment licenses and 2 developer licenses for $5,000.
Additional deployment licenses can be purchased, as well. The
Java MapObjects - Internet Edition license, which includes the
JSP/Servlet connectors and Web deployment, 2 developers licenses
and 1 server CPU license can be purchased for $7,000.
Conclusion
If you noticed that throughout this review I went from
MapObjects - Java Edition to other software products offered by
ESRI, you are not alone. In being the industry standard, ESRI
tends to create environments where more and more of their
products are necessary for application deployment and licensing
is not cheap. Yes, they are good applications, but be aware from
the get-go that this is standard practice. Of course if you are
already working with GIS and ESRI this will come as no surprise
and for those developers, ArcIMS and ArcSDE may already exist on
their network. For others, I recommend researching all your
options and understanding what exactly it is you need to
provide. MapObjects - Java Edition will allow Java developers to
create fairly deep GIS applications for the desktop and for the
Web. The question--and one only you can answer is, whether you
need all that.
Overall MapObjects - Java Standard Edition is cool, and the enclosed
tutorial, documentation, API docs and source code will make it
relatively easy for a Java developer to get up and running
quickly. Happy Coding.
Drew Falkman is
the author of the JRun Web Application Construction Kit and co-
author (with Ben Forta) of Reality ColdFusion: J2EE Integration,
both published by Macromedia Press. Over the past 6 years, Drew
has developed over 150 Web applications in all sizes using
ColdFusion and Java. Currently Drew consults, speaks at events,
writes for numerous publications, and teaches courses at
Portland State University. His latest project through his
consulting company, Veraison LLC, was a real-time cattle auction
using Flash Remoting and Flash Communication Server. In
addition, Drew is a member of Team Macromedia, a certified
ColdFusion Developer and a certified Macromedia instructor.
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|