Join Gordon Luckett for an in-depth discussion in this video Understanding the components of MapGuide, part of Learning MapGuide Open Source.
- Understand the components of MapGuide will be key to guiding you through the install process. We will look at the various options when installing, configuring and using MapGuide Open Source now. First we'll do a little history of MapGuide. MapGuide was first built in 1995 at Argus Technologies, in Calgary, up in Canada. In 1996, Autodesk, Inc, makers of AutoCAD, decided to purchase it and it continued to be developed in Calgary. In 2002, MapGuide 6.5 reached its limit using ActiveX, Java, and Plug-ins.
In 2004, Autodesk started what became MapGuide Open Source. Also that year Autodesk built Feature Data Objects, or FDO, which are connectors for Oracle, SDF, ArcSDE, all for AutoCAD Map. They rolled it into MapGuide in 2006, which coincided with the MapGuide Open Source code being contributed to the OSGeo. Also that year, FDO was rolled into Open Source. The FDO connector, which enables MapGuide to connect to all sorts of data sets is also bundled in all GIS Products by Autodesk, including Map 3D, Infrastructure Map Server, InfraWorks, and Civil 3D.
They're all built on that Open Source FDO Platform. There's a Broad Platform Support for MapGuide. You can deploy it on Windows or Linux. You can develop with .NET, Java, or PHP. You can serve it up with IIS or Apache. And you can use Internet Explorer, Firefox, Safari, or Chrome. The MapGuide Web Server Extensions, as a secondary install, is part of the MapGuide Server. The types of Web Server Extensions are Java, .NET, and PHP.
The Java flavor is very versatile. It can work on Linux or Windows, but, regardless of Linux or Windows, Apache Tomcat is required. Meaning, Apache must be installed on Linux or on Windows. If you choose to use .NET, it's solely within the Microsoft Windows platform. Perhaps using MONO, you may be able to get it working on the Linux platform. And in future releases, with the new announcement from Microsoft, open sourcing the .NET platform, perhaps one day you'll be able to install it on Linux. But today, it's purely a Windows platform.
You can program in C# or VB.NET. The PHP Extension is used for the MapGuide Administrator. That means regardless of install and regardless of what web server extension flavor you use PHP is installed. PHP is Open Source, and its syntax is a blend of Java, Perl and C. It can be used on either Linux or Windows. And it can be used on either IIS or Apache. In this diagram you can see the MapGuide Server service running at the bottom of the screen and three different extensions.
Notice the PHP Web serve Extension is in the middle. It can run on IIS or Apache. The .NET Web Extension on the left will only work in Microsoft IIS on the Windows Server. The Java Web Extension works both on Windows and Linux, works on IIS or Apache, but, it also needs another layer. Tomcat must be installed in order for the Java Web Extension to be installed. So what is MapGuide Server? Well MapGuide Server has installers for both Windows and Ubuntu and CentOS.
The Windows can use 2008 or 2012, both on 32- and 64-bit. In Ubuntu and CentOS, it's 32-bit right now. If you look at this URL, it looks at the current release, which is 2.6, and the release we're using in this class. In newer releases, which aren't released at time of this class, 3.0, they're experimenting with 64-bit for Linux. So to keep up-to-date on the current releases go to this link at the bottom of the screen. Let's look at parts of the MapGuide Server. The MapGuide Server runs as a service or daemon always running in the background.
The 2nd part of MapGuide is the Web Extension. This is the layer where you choose what develop environment you're going to use. For example, PHP, Java or .NET. Finally, there's a MapGuide Administrator which is run completely using PHP. It needs both the server running and the web extensions installed in order to run. The MapGuide can use two web servers. It can use Microsoft Internet Information Server, IIS, now you need to install this before you even start the install of MapGuide, or, you can use Apache Web Server.
The nice thing about using this server is nothing needs to be installed before installing. It automatically is bundled with the install of MapGuide.
- Installing MapGuide
- Connecting to data with Maestro
- Loading data with Maestro
- Creating and labeling layers
- Building maps and basic web layouts
- Creating application definitions
- Publishing your MapGuide projects