The wwBusiness object provides the core business object class. This class is a single level business object class that implements both the business and data tier in a single object to provide ease of use and maximum performance. The base object provides core data access functionality (Load, Save, Query, New etc.) through its base class methods. Query based data access is also supported through native Fox syntax or using the class methods which can route to the appropriate backend. Fox or SQL Server are natively supported. SQL Server is supported with SQL Passthrough commands. The object contained in wwBusiness.vcx

The wwBusiness object provides the core business object class. This class is a single level business object class that implements both the business and data tier in a single object to provide ease of use and maximum performance. The base object provides core data access functionality (Load, Save, Query, New etc.) through its base class methods. Query based data access is also supported through native Fox syntax or using the class methods which can route to the appropriate backend. Fox or SQL Server are natively supported. SQL Server is supported with SQL Passthrough commands. The object also supports remote data access over the Web against a SQL Server backend (with some limitations a Fox backend can be used as well).

Data representation of the class is handled through an oData member which contains the class 'data'. Each object is individually loaded except for queries which can return data in variety of formats such as cursors, XML or ADO. The oData member deals with class instance data (record level operations) and is completely disconnected from the database while in the class. Load() and Save() are the two transfer methods that handle moving data to and from the database.

This object framework is uniquely geared towards offline operation which is ideal for Web operations and passing data around the Web. In HTML based Web applications the object's oData member is extremely useful for databinding to HTML templates and reading data back in bulk using Request.FormVarsToObject(). The object's disconnected data model also makes it uniquely qualified for object aggregation by combining multiple objects into an object hierarchy.For example an oInvoice object contains oCustomer and oLineItems which are accessible through the single oInvoice object reference. Because of the self-contained nature of objects, it's easy to persist data to and from XML and pass them around the Web as well as making it very easy to use the business objects in HTML templates where data is bound to the object properties (<<code>><%= oInvoice.oCustomer.oData.LastName %><</code>>). Web Connection's object centric approach also allows you to pull in data back into the object from forms using Request.FormVarsToObject resulting in very little code written to transfer data to and from HTML pages.

Beause the framework consists only of a minimal set of methods on this object it's easy to get started with it. Because of the single level implementation the framework is also very efficient. In addition a Wizard is provided to help you create business objects by mapping to tables.

Required Support Classes
wwUtils.prg
wwSQL.vcx (only if you use nDataMode = 2)
wwEval.prg
CodeblockClass.prg
wwHTTPSQL.prg (only if you use nDataMode = 4)
wwXMLState.prg (only if you use Get/SetProperty methods)
wwCollections.prg