Our minimalistic concept of "business entities" means data entities ("records"),
which are associated with a certain datatype (like "customer") and have a unique
key. In other words: business entities add sufficient semantics to data to allow
generic code at least for simple operations like delete or update of entities.
Business entities are especially suitable for XML-driven "single-page applications".
The (semantically) same data record may be visible at various panels. If one of them
is updated or deleted, in most cases an AJAX-request is posted to update the server-side
database. The asynchroniously received server-response can be evaluated by the success-handler
of the AJAX-call.
If the response contains one or more "entity events" with the datatype and
the unique keys of affected entities, Javascript-events can be triggered to be
evaluated by affected panel- or control-instances (which are "tagged" with the datatype).
Business entities are supported by our control xw-browse, if a datatype-name is provided in property "datatype" at initialization and if the
meta-property is provided with the unique key-description for the rows.
The datatype's name will be added then automatically as CSS-class with prefix "xw-datatype-"
(e.g. "xw-datatype-customer", if datatype is named "customer") to the xw-browse.
So, the controls with datatype "customer" can be easily notified directly with
$(".xw-datatype-customer").trigger(...);
XML-Events
As our web-apps communicate with XML-messages between client (browser) and server, we
defined special XML-structures for the important events "entities-deleted" and "entity-updated",
which are sent to the client after successful server transactions.