Using BML, developers can focus on the functional side of the enterprise application because it provides domain-specific constructs in a platform-independent fashion. From the functional perspective, the semantic of BML is equivalent to a set of different highly-sophisticated, platform-specific APIs or to a very-mature, again platform-specific framework. Actually, they are both just host environments for a platform-independent, enterprise-specific BML application.
| Feature |
Description |
| Persistence definition |
The design of the persistence layer of the enterprise solution is supported by advanced definition of business objects, their relationships and navigability. |
| Vertical
services definition |
Simple transient business objects provide the creation of application-specific services based on the data available at the persistence layer.
|
| Transactional scopes definition |
Logical Units of Work are simply demarcated with platform-independent constructs. |
| User experience design |
A technology-independent Document Object Model (DOM) and portable language statements are available to efficiently define front-end logic of enterprise applications.
|
| Integration declaration |
Specific constructs are available to specify integration points with external systems. From the language perspective, this specific, middleware-independent support for Enterprise Application Integration is formalized as portable delegation of business logic to external systems.
|
| Workflow steps declaration |
Front-end, business logic, connectivity and storage are packaged within configurable steps through a simple language statement, allowing business people to reassemble those steps into highly personalized business processes.
|
| Role-based security definition |
According to RBAC (Role-Based Access Control), the language supports definition of roles and their application to modify the behavior the business logic according to the user’s rights.
|
| Data constraint design |
Field, cross-field and cross-object constraints make data consistent with the business rules. Dedicated constructs and syntax make them available to core objects as well as front-end objects.
|
| Configuration design |
Flexibility is achieved through run-time configuration. The language provides a standard way of declaring application level, user-level and profile-level configuration parameters that a business administration console updates. BML-compliant solutions will not be affected by hard-coded values.
|
| Business components declaration |
Business functionality is selected at deployment-time. The language provides support for the granularity of the deployed business functions through definition of business components with their dependencies.
|