Tech trends: The objects of our desire
- Article 3 of 3
- GIS Europe, January 1999
GeoEurope investigates the benefits that objects bring to our mapping systems.
Page 1 | Page 2 | All 2 Pages
Object-oriented programming: everyone’s talking about it, but how many people know what it is? With most computing fashions, there are normally obvious benefits for users, but what exactly do we stand to gain from this most esoteric of disciplines? The answer is far more than we could expect: interoperability between different pieces of software, the ability to customise and add to existing software with ease, and even the addition of “intelligence” to gis programs.
So what is in an object? Loosely, it is a portion of computer code combined with data. For example, a piece of code designed to draw a line-feature six centimetres long on a map could be an object. Indeed, the line itself could be an object. An object has “methods” associated with it. These are really just things it can do, such as draw a line. Objects can exchange messages asking each other to perform methods. An object for creating buffer zones could ask the line-drawing object to make a line as part of the buffer zone. Lastly, objects have “behaviours”. Change the scale on your map to a tenth of its size and object-oriented features will redraw themselves as appropriate or even exhibit more complicated behaviour: imagine a name label that shrunk only slightly but moved so that it didn’t cover any other features (Laser-Scan has a system that does something similar).
Big deal. On the face of it, none of this is much to get excited about. So what’s the fuss?
The main appeal of objects is that you don’t need to know how they work to use them. You don’t need to know how the line-drawing object draws the line, only that it can. Provided you know what an object can do and how to send messages to it, you can use it. The result is that once you’ve created an object, it’s very easy to combine it with other objects to create whole programs or to manipulate and store multi-dimensional data such as feature geometry. It’s even possible to combine objects on different computers using a network. So, if your gis program were to contain an object for accessing features in certain file formats, another program on another computer networked to yours, perhaps via the Internet, could access and possibly change the features in these files, even if it didn’t understand the same file formats. At the far end of the scale is the possibility of creating “intelligent agents” – applications that can try to understand your data or you! Tests and even some practical applications are in progress at various sites throughout Europe.
The problem is getting objects to talk to one another: they need to have a common language. This is where the gis heaven starts to fall apart. There are a variety of ways for objects to communicate with one another, all incompatible with each other. JavaBeans, dcom (aka ActiveX aka ole/com) and corba are the main object standards and each has virtues that appeal to developers.
Microsoft’s com (Component Object Model) is built into Windows 98 and nt (now called Windows 2000) and is becoming the de facto standard for the desktop. Microsoft Office is a collection of com objects, as are Intergraph’s GeoMedia, Alsoft’s Geo Concept, and innogistic’s Cartology among others. A basic example of the advantages offered by object-oriented technology is the ability to embed a gis map in an Office document and still be able to edit it within the gis.
At the moment, com only exists under Windows, although Microsoft is developing a unix version of the technology. This means that if you want to develop for any other platforms, you’ll be unable to take advantage of com. The advantages offered by object-oriented programming, together with Windows’ dominance of the desktop market and the in-roads Windows 2000 is making into the gis market, are making this prospect attractive to even unix developers such as esri.
According to David Macguire, product manager at esri, “If the development environments, consistent interface, and compilers were available for Java, we’d develop using that as well. com is now a mature object-oriented technology and Java might well be in three years’ time. At the moment, it doesn’t have the capabilities we need.” That said, the company has been working on a Java version of its MapObjects collection of com objects.
This preference for com is echoed by David Swinburne, European product manager for MapInfo. “com on the desktop, Java on the server. We’re only developing for Windows on the desktop so we don’t need Java’s cross-platform capabilities there.”
Java’s main advantage over com is that it will run on any computer, provided that system has a “virtual machine” – a program that can run Java applications or “applets”. This virtual machine can be part of the computer’s operating system, included within a Web browser such as Netscape Communicator or Internet Explorer, or included within another program such as a gis or cad system. In this regard, within the gis industry, the main exponents of Java are the cad companies, Bentley Systems and Autodesk. Both bundle Java virtual machines with their own packages, MicroStation (now re-titled MicroStation/J in acknowledgement of the development) and Autocad respectively.
Page 1 | Page 2 | All 2 Pages
