Logo GISdevelopment.net

GISdevelopment > Proceedings > GITA > 1999


GITA 2002 | GITA 2001 | GITA 2000 | GITA 1999 | GITA 1998 | GITA 1997 |  
Sessions

Business Applications

Data Development and Evolution

Data Distribution and Access

Engineering and Design Applications

Enterprise Integration

Enterprise Resource Planning

Exploiting Field and Mobile Technologies

Invited Track

Operations Support

People Issues

System Architecture

User Perspectives

Work Management


GITA 1999


System Architecture


Bridging GIS: Developing system independent applications


Third party relationships
The open concept must be considered from the first phase of the project cycle. How will this openness be achived? Do current developers know the accepted standards or is additional training required? Perhaps, most important, what tools and third-party resources will be used to complete the task?

Developer knowledge is becoming increasing more and more diverse. Once upon a time, the better a person knew syntax, the better a developer that person was. Where a developer once focused most of his/her time learning the syntax of a language and understanding the data model, the developer of today must know much more than these. Language protocols, APIs, network basics, system security and system architecture are just some of the things today's developer must understand and apply. Because finding this complete skillset in any one individual is unlikely, corporations and individuals have developed formal and informal partnerships. It is only through these "virtual teams" that success can be achieved in creating open applications.

By utilizing third party resources, the developer can concentrate on core and custom functionality, while still achieving openness. For example, rather than developing code specifically to read an Oracle database, it can be developed to be SQL compliant and use ODBC drivers. The developer concentrates on writing standard SQL statements and does not worry about whether the user's database will be Oracle, SQL Server, Sybase or anything else. As a fhrther step to openness the developer can allow for customization by performing queries that are stored in the database, not in the code. This allows the user to change the query without need of code changes and recompiles.

Another example of working in a virtual team is by use of development tools that conform to open standards. Take, for example, a developer who would like to give the user the ability to view and manipulate engineering drawings. It would take far too much time to develop interface and translation routines for each engineering or graphics package on the market today. Instead the developer will rely on a company that specializes in engineering and image processing to provide him/her with a tool to use. This tool maybe a dynamic link library (DLL), an Active-X control, binary library, etc. In either case it will provide the developer with a single standard interface to access any of the recognized formats.

In his/her code, the developer does not have to worry about how to translate the individual image or engineering formats. All s/he has to know is how to communicate with the third party tool.

To the developer it is completly unknown as to what type of object the user may have. It is also completely unknown how to read and translate that type of object. What the developer needs to know is how to speak with the tool; how to have the image utilize a standard metadata format that describes itself, how to ask it to read or load the image and how to have the changed image saved. In each of these cases, the developer does not need to know or care how each happens. All s/he cares about is how to make the requests.

Information sharing throughout the virtual team is essential to success. This means the developer, too, must expect to share her/his time and knowledge if sdhe expects to receive information and cooperation in return. Or as Zig Ziglar, a well-known motivational speaker says, "You can have anything in life you want, if you just help enough other people get what they want."

Open ended thinking
One could dare say that yesterday's best developer, in terms of syntax and data model understanding, would be a failure in today's world without adequately understanding partnerships and virtual teams. Conversely, the foremost partnerships and information sharing in the world will not guarantee the best, or even good, developer. In addition to partnerships and information, good development practices and standards are imperative to producing open, independent applications.

Several good development practices include logically handling diverse functionality of operating systems, coherent layering and use of building blocks, dynamically loading data, intelligent use of metadata for database tables and fields, and custom creation of objects for cross-functional applications.

Page 2 of 5
| Previous | Next |

Applications | Technology | Policy | History | News | Tenders | Events | Interviews | Career | Companies | Country Pages | Books | Publications | Education | Glossary | Tutorials | Downloads | Site Map | Subscribe | GIS@development Magazine | Updates | Guest Book