Web Service Design Overview

The FoxCentral Web Service is meant to be a central data store for various providers to publish data to. Providers are signed up for the Web Service and once signed up each provider can post news items and other content as needed. The Web Service acts a central depository of this data that can then be retrieved in a variety of different ways.

Once providers have posted news items to the service the data can be consumed in a variety of different ways. The default HTML based home page you can see at www.foxcentral.net is one example that uses the Web Service to pull its data.

Design of the Web Service

The FoxCentral Web Service was designed using Visual FoxPro 7.0 and uses a single Web Service class that acts as a front end to the business objects that control access to the FoxCentral data.

The Web Service client examples provided also use a Web Service Proxy object (very much like .Net) and a client wrapper class that wraps the proxy to provide error handling and consistent return values of the data. So rather than returning XML the wrapper class actually. The Web Service methods themselves use very simple methods to pull data from the business objects and then converts that data into XML for sending as result values. As such this Web Services passes data around culled from VFP Cursors and Objects which are exported into XML and passed over the wire. The client Proxy then picks up the SOAP call and returns the plain result value (XML strings) to the client. The Client Wrapper class takes the XML result string and converts it back into a Fox useable construct such as a cursor or object so that the actual front end application (GUI, Web Backend, Web Service) never has to worry about doing XML conversions. Instead the front end application works only with native VFP structures. The Client wrapper also checks for any errors that occur on the proxy object and provide simple properties that can be easily checked for for error conditions.


  Last Updated: 6/3/2007 | © West Wind Technologies, 2007