cBaseWebComponent is an abstract class that is used as the superclass for various web component classes. It is a container class that supports DDO (DataDictionary Object) structures, web error handling, web event logging and some basic HTTP header access. This class is used to create two different types of subclasses - Primary web application components and helper web process components.
The basis for web applications are classes that are used components that are acted on by the Web Application Server. The Web Application Server takes certain HTTP requests and directs them to a DataFlex web application executable. These applications handle the requests within a private singleton COM Internet handler object. This object redirects these requests to public web component objects. These are the components that a developers create to handle a request. Examples of these components are:
cWebService - These handle a web service requests
cWebHttpHandler - These handle a lower level HTTP request (e.g., REST services)
cWebAspClassicObject - These handle ASP requests
All of these are subclasses of the cBaseWebComponent class. These classes are driven by web events. In other words, an HTTP web request is sent to your web application and based on the type of request, the web application directs the request to one of these object components as an event.
In addition, other classes are used which respond to specialized web request events:
cWebView - This handles AJAX style requests. In a browser based web application, these are the main components that defines your web application. While this class is technically not a subclass of cBaseWebComponent it should be thought of as a web component class
cWebApp - A single cWebApp object is used as the container that holds all of your other web component objects. It also contains limited event interfaces that are triggered by HTTP web requests.
These primary web application components all share the same behavior in that they respond to events sent by a web request. Their purpose is to process the request and provide a response.
Web applications often require helper process components. Unlike a primary web application component, these components are not tasked to handle a complete request, instead they help a primary web component (e.g, cWebView, cWebService) handle the request. These objects process messages sent to it by other primary web components. These objects contain code that handles custom data processing.
cWebComponent, a subclass of cBaseWebComponent, is used to create helper components. It is similar to a BusinessProcess Object (BPO) in that it is a container that supports a DDO Structure interface. It also contains interfaces to web handle errors, web events and basic HTTP header processing. cWebComponent is the class that a developer will use to create their own custom web helper components.