GIS: OpenGeo Simplified!

Maps...seem simple enough right? Well, not exactly. My previous exposure to maps was more or less restricted to the user side of things. Google Maps and Bing Maps were the only things I knew of in terms of online visualizations of spatial data.
     Google Maps and Bing Maps are web mapping services that allows for a simple base map to be available to the average      user of spatial services so that simple one-layer data can be seen.
But then I took a class about Geographic Information Systems (GIS) and suddenly a completely new platform for spatial visualization was opened up.
     For those who don't know what GIS is, it is in its most basic terms a collection of data that has in built geographic      identifiers (i.e. x,y coordinates, etc.) that can be layered to spatially analyze large amounts of data. Think of it as being able      to look at say the UC Berkeley campus and being able to see types of soils, faultlines, hydrography, buildings, etc. all at      once helping you visually synthesize information that otherwise seemed independent of each other.

There are different ways that GIS can be carried out. I learned with ArcGIS which is a very useful but somewhat clunky software. However, after reading up on the OpenGeo Architecture, it seems to be a very versatile and adaptable platform to carry out GIS related work. OpenGeo can be simply thought of as a open source toolset for storing, processing, and retrieving geospatial data. For those who are intimidated by seemingly complicated technologies and how they work, I’m going to try to break the OpenGeo architecture up into a very simplified form.

           1. A interacts with B using language 1
           2. B interacts with C using language 2

SO, the pathway for OpenGeo in simplest terms goes from A1B2C.

Now substitute the following in for each of the variables:

     A = User Interface: Open Geo uses OpenLayers to understand spatial features and map layers and it uses GeoExt as its           platform.

     1 = HTTP: the protocol to exchange or transfer hypertext.

     B = Application Server: OpenGeo uses GeoServer to make maps essentially and the GeoWebCache is used to store           intermediate results.

     2 = SQL: Standard Query Language is used to manage relational databases

     C = Database: OpenGeo uses PostGIS to store raw data in a spatial database

With such a simple work flow, it seems easy enough for those of us that are easily intimidated by technologies to learn OpenGeo and utilize it to its potential!

Now the first question for me after seeing this was well then why did I even learn ArcGIS if OpenGeo seems so versatile!? Well, there are things that ArcGIS is better for and things that OpenGeo is better for. Here is a blog by Mike Pumphrey who answers this question quite well ---

The main point is that a hybrid approach is necessary to optimize efficiency. In terms of OpenGeo, it is arguably the most efficient and flexible option on the server side which supports more standards than any of its counterparts. So use it when dealing with the larger network of servers out there as it can connect to a number of proprietary databases.

     For those like me who are like what are proprietary databases, here's a quick overview: a database can be best described      as a collection of information that is organized into records that can be searched. Proprietary databases are those      databases that are produced, maintained, etc. by having exclusive rights. These are usually done by large companies. A      couple of recognizable ones include Oracle, IBM's DB2, and Microsoft's SQL Server.

However, when it comes to simple desktop uses and the cartographic end of things, use ArcGIS. It is a much more flexible option from the user end.