Gis Software Architecture