What is a Web Service?

What is GO360?

What is HTML?

What is JavaScript?

What is XML?

How is XML different from HTML?

What does SOAP mean?

What is AJAX?

What does SOA Mean?

What is a Middleware application?

What are Vector/Raster Maps?

 

Web Services Frequently Asked Questions

New to Web Services? or want to learn more about the basic Web components used in supporting a Web application using Web Services?  Then we hope the following Frequently Asked Questions will help provide some basic answers to the common Web components used in a Web Service Application.

What is a Web Service?

A Web Service enables different technologies to exchange data over the internet.  In simple terms, a Web Service turns your application into a service that can be called by any standard Web browser running on any type of OS platform.

An application can publish its function or message to the rest of the world as a Web Service.  For example, you may have developed a Web Mapping application and one of the requirements of your application is to display weather information for a selected destination.  The Weather information is provided by another company via a Web Service.  Your Web Mapping application calls this external Web service and then displays this Weather data to your users within your application.  Of course, at any time the user may want to view the weather for a different destination which would invoke another Web Service call to retrieve and update the user’s screen.

Web Service Diagram

Web Services use XML to code and decode data, and SOAP to transport this data over the internet.

The key benefit of a Web Service is the ability to communicate with any type of platform, so it doesn’t matter what OS (Operating System) or Software Application your are running.

What is GO360?

GO360 is a Web Service application developed using AGSI’s advanced technology and founded on a Service Oriented Architecture (SOA). GO360 was designed to enable corporations to access, view, edit, analyse, report and collaborate on their spatial or non spatial data. By data we really mean any data: Financial, Asset, CRM, GIS, Drawings, Documents, Photos, Video, Audio etc...

Although the mapping component within GO360 plays an important role when managing data GO360 is just not another GIS Web based application; it’s much more powerful and flexible especially when dealing with non GIS data.

One of GO360’s core design principles is to directly access a corporation’s database without the use of any middleware applications thereby providing you the ability to access any type of data from any type of system.  Middleware applications, due to their proprietary nature, can't access or easily integrate data from other systems.  GO360 "Enables Your Enterprise" by turning your standard Web browser into a powerful interactive application that can access any data on the enterprise.

What is HTML?

Hyper Text Markup Language (HTML) is not a programming language like JavaScript, but rather a set of Markup Tags and text used to describe and display a Web page within a Web Browser (Explorer, Firefox etc..).

If you were to look inside a Web page you would see the markup language that describes to the browser how to display that Web page. The example below shows a very basic HTML (Tags & Content) used to describe a simple Web page.

HTML Code Sample

The Tags are highlighted in blue and the Content that is displayed on the page is highlighted in Black.

A Web browser would interpret the above Tags and Content and display the Web page seen below:

Web Page - Basic HTML

The Web browser is smart enough to apply default formatting based on the Tags used for the Content: Header 1 (h1) and Paragraph (p).

Ok, so we are not going to win any awards for the best Web design, but you can see how a browser will interpret Tags/Content to display and format a Web page. With HTML we can add pictures, format the text, provide links and basically change the whole look and feel of the Web page.

In summary, HTML is the most basic component used in creating a Web page.

What is JavaScript?

JavaScript is a programming language and is the second most common component (HTML being the first) in building a We page. Bascially JavaScript is used for adding functionality, validating forms, reacting to user inputs, and much more. JavaScript was designed to add interactivity to HTML Web pages.

JavaScript Code Sample

A Web browser would interpret the above JavaScript language and display the Web page as follows:

Web Page - JavaScript

Of course the above Web page looks very similar to the HTML version displayed previously, but there is one big difference.  The HTML version is static; it will never change unless the Web page designer changes it and then re-posts the page on the Internet.  The JavaScript version can be dynamic, meaning the text can change based on a user input or some other parameter.  This makes the Web page more interactive than just a static HTML version.

What is XML?

EXtensible Markup Language (XML) was designed to carry data over the internet or network.


XML (Open Standard) was created to provide a simple method for structuring data so it can be easily read and/or stored by an XML aware application/function.  Another way to look at this is you don’t need a proprietary software application to read or store data.  For example, if you created data in a spreadsheet or document, then the other user would also need to have that same application to open or read your data.


Since XML is an Open standard then all you need to know is how the data is structured to be able to read it.  You may be surprised to learn most applications can now read and save data in the XML format.


The following is an example of raw data and how it would look when formatted to the XML standard.  In this example we are describing three basic attributes for a book: Title, Author and Date Published:


Book Title: Web Service Basics
Author: John Doe,
Date Published: Jan 12, 2009

XML Code Sample

As you can see, while similar to HTML (Uses Tags to describe the Text data) XML is really just pure data with tag descriptions.  A Web browser would not be able to display or turn this into a readable Web page as HTML would do.  So you need a write a piece of software or use an XML aware application to be able to properly read in this data.

How is XML Different from HTML?

HTML was designed to provide instructions to a Web browser to display and format a Web page while XML just contains data.  It just text/data defined by tags, and it does nothing.  A Web browser won’t do anything with XML data.

You may have heard of XHTML.  XHTML is the combination of HTML and XML.  XHTML requires the Web developer to follow very strict markup Language rules which is also the basis for XML formatting.  There is no noticeable difference to the end user when viewing a XHTML vs a HTML Web page.

The other major difference is XML tags can be called any name while HTML tags are preset.  For example, the HTML tag for Header 1 is <h1>.  In XML you can create your own unique tags.  So in the example of a book title tag it could be <title>, <booktitle>, <titleofbook> etc... Of course the application reading in the XML data needs to understand how you data is structured and what the tags mean.

So Why XHTML?

Because of the strict markup Language rules, XHTML Web pages provide:

AGSI's Web site was designed using XHTML 1.0 strict standards.

What does SOAP mean?

Simple Object Access Protocol (SOAP) is an XML based messaging protocol.

For example, a SOAP message may be sent to a Web Service with certain search parameters.  The Web Service would then respond to this request with the resulting XML formatted data.

An example may be a user fills in a Web form to search for an address.  The data (raw) entered on the form is then formatted in XML and is sent to the Web server for processing using a SOAP message.

SOAP Diagram

What is AJAX?

Asynchronous JavaScript and XML (AJAX) is a technique for creating better, faster, and more interactive web applications.  With AJAX, a JavaScript can communicate directly with the server, with the XMLHttpRequest object.  With this object, a JavaScript can trade data with a web server, without reloading the page.  AJAX turns a Web page into a powerful interactive and dynamic Web application.

What does SOA mean?

Service Oriented Architecture (SOA) is the practice of sequestering the core business functions into independent services that don’t change frequently thus providing reusable components that require little or no modification.

What is a Middleware application?

A Middleware application, in this case, is defined as a traditional GIS application used to communicate between their Web solution, Client application and the Database Server  As you can see from the picture below there is no direct access to the database server.

Middleware Software Diagram

The GO360 Web Service solution does not require the use of Middleware software and can access the database server directly.  The benefits to the customer are numerous, but three keys benefits are:

No Middleware Software Diagram

What are Vector/Raster Maps?

Scalable Vector Graphics (SVG) is currently the most popular language for displaying Vector based maps over the Web.  SVG also defines the graphics in a XML format.

I have simplified the code for this example: To draw a Red circle with a Black border you would:

SVG Code Sample

The last thing to note is you do need to download an SVG viewer to display the vector graphics.  Remember XML contains data, but does not display the data.  The SVG viewer provides the display capability for the XML data described within the SVG tags.

Once you have downloaded a SVG Viewer Plug-in, then your Web browser would display the SVG data above as:

SVG Enabled Browser

Raster maps are a series of tiled pictures displayed together usually in a GIF format.

The biggest difference between Vector & Raster maps are:

 

Empower The Enterprise Image