Enabling Technologies


The original conceptual design of "Enduro Tracks" site introduced certain fundamental needs seeking viable solutions. They are:


Web pages are coded in XHTML, which was developed to make HTML more extensible and increase interoperability with other data formats. XHTML (Extensible Hypertext Markup Language) is a family of XML markup languages that mirror or extend versions of the widely used Hypertext Markup Language (HTML), the language in which web pages are traditionally written. This site is using "XHTML 1.0 Transitional", which is the XML equivalent of HTML 4.01 Transitional, and includes the presentational elements. CSS adds design flair to the XHTML content, making it more beautiful and easier to read. Last but not least, JavaScript comes to the picture to add intelligence and automation behavior. Thus page structure, style and behavior are three distinct and separate entities. Together they make up a highly readable, interactive page with inherent maintainability. This strategy known as "Unobtrusive JavaScript" is the key concept of jQuery™.

jQuery™ is a relative latecomer to the world of JavaScript libraries. Since its introduction has taken the web development community by storm, winning the support of major companies for use in mission-critical applications. At its core, jQuery™ focuses on retrieving elements from HTML pages and performing operations upon them. Code works consistently across all major browsers. End result is a highly interactive web page behavior.

On top of the aforementioned layers, comes a genuine presentation layer, responsible to render thematic maps. This is Google Maps™ via its JavaScript API. With Google Maps, a programmer may render a map, overlay waypoints, line segments, post additional information, enabling any kind of user interaction.

The data retrieval, from the centralized spatial data repository (web server host systems) to the user client station, is optimally implemented via Ajax (Async JavaScript and XML). Thus the user experience is positive by interacting in real-time with a highly responsive web page.

Last but not least we should refer to the server side elements. "Enduro Tracks" web server is using the "PHP" and "MySQL".

PHP Hypertext Preprocessor is a widely used, general-purpose scripting language that was originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document. As a general-purpose programming language, PHP code is processed by an interpreter application in command-line mode performing desired operating system operations and producing program output on its standard output channel. It may also function as a graphical application. PHP is available as a processor for most modern web servers and as a standalone interpreter on most operating systems and computing platforms

tech layers

MySQL is a relational database management system (RDBMS) that runs as a server providing multi-user access to a number of databases. It is still most commonly used in small to medium scale single-server deployments, either as a component in a LAMP/WAMP based web application or as a standalone database server. Much of MySQL’s appeal originates in its relative simplicity and ease of use, which is enabled by an ecosystem of open source tools such as phpMyAdmin offering remote database administration capabilities. In the medium range, MySQL can be scaled by deploying it on more powerful hardware, such as a multi-processor server with gigabytes of memory. There are however limits to how far performance can scale on a single server, so on larger scales, multi-server MySQL deployments are required to provide improved performance and reliability. A typical high-end configuration can include a powerful master database which handles data write operations and is replicated to multiple slaves that handle all read operations. The master server synchronizes continuously with its slaves, so in the event of failure a slave can be promoted to become the new master, minimizing downtime.