收藏订阅
The eXpressApp Framework by Developer Express is a powerful instrument for creating business applications quickly and easily. A strong modular architecture allows for platform independent domain specific extensions. Examples of typical applications include business/sales/CRM systems, projects, documentation, HR and training class management, and many others. The currently supported target platforms are Windows Forms and ASP.NET 2, and our open architecture allows extensions of either of these platforms as well as the introduction of completely new targets (WPF support is part of our plans for the future).
Feature Details
Architecture
XPO is our Object/Relation Mapping product, which has been available as a separate product for a long time. Business objects in an eXpressApp Framework application use the proven storage capabilities of XPO.
The eXpressApp Framework comes with a base class library that contains a number of common business objects and controllers implementing common operations. So the developer of an eXpressApp Framework based application can either use these classes directly, modify our implementation or create his own replacements.
These are the business objects and controllers that are written specifically for a given application. They can reuse the base library functionality or be implemented stand-alone.
Views are the user interface representations of (potentially editable) data, while reports are representations for the purpose of reporting to screen, paper, web or export formats. Views can be created automatically by eXpressApp Framework at runtime (there's no code generation in eXpressApp Framework!) while reports are typically created manually, though also at runtime.
The application model is a collection of information from various sources, on which the automatic mechanisms in eXpressApp Framework are based. Sources of model data include metadata queried from business objects and controllers, default information from standard or custom modules included in a given application, and configuration files on various levels.
Windows Forms and ASP.NET are the two user interface platforms that are currently supported.
XPO
This mature system forms the basis of the data storage functionality in the eXpressApp Framework. It provides compatibility with (currently) 13 different database backends, an advanced criteria system for data selection and much more.
The UI Model
The eXpressApp Framework comes with a variety of mechanisms that enable non UI dependent code to be written. One of those mechanisms is the application model, which lets you (and also the administrator of your deployed application, or even the end user) customize existing framework functionality and details of automatic processes. The model is extensible from your own eXpressApp Framework modules, and it provides centralized functionality .
Modularized Architecture
Every piece of functionality that comes with the eXpressApp Framework is encapsulated in a module. A module in the eXpressApp Framework is a special kind of assembly that contains a class derived from a certain base class. This structure provides a common hook for the eXpressApp Framework to recognize an assembly as a module, to provide management information to that module and in turn to request details about what's contained in the module. It is very easy to create your own modules for the eXpressApp Framework and thereby to create and distribute your own reusable functionality.
Base Class Library
Every application written with the eXpressApp Framework is based on business objects, or at least on persistent objects of some type. There are many common kinds of objects that tend to be used in many applications, and some of them are so basic that we decided to include them in the standard distribution of the eXpressApp Framework. We have also chosen a structure for the implementation of these objects that allows you to supply your own implementation for any or all of them and derive your own objects from ours, so you can choose yourself what part of our library you find useful for your projects while the part you don't use isn't in the way.
Role-based Security
Security is very important to every multi-user application, but at the same time it can be complex to implement, as it influences so many design decisions across an application. The eXpressApp Framework has been built from the ground up with security considerations in mind, and we support role-based security out of the box.
Data Validation
Validity of data is not a clearly defined status, so the eXpressApp Framework uses a system of context based checks. Validity checking can either be triggered by the user manually or it will be performed by the framework automatically at specific points. Once more this is extensible, so you can implement your own business logic in validator classes and your own (business) processes can leverage the checking functionality at any point.
Like the rest of the eXpressApp Framework, data validation works independently from the user interface. Once defined, your business rules will be adhered to, whether you're targetting the Windows Forms or the ASP.NET frontend, or whether you are checking them in a totally UI independent data import process.
Localization
Localization is one of the centralized features the eXpressApp Framework can offer as a result of having the model at the core of the configuration subsystem. Every application based on the eXpressApp Framework is easily localizable using the Model Editor.
The Model Editor can be used to configure and edit any number of different cultures.
Reporting
The reporting functionality in the eXpressApp Framework is based on our separate XtraReports product. XtraReports has the ability to create reports in many different formats, including HTML and PDF. As a result, a report can as easily be viewed in Windows Forms as it can in ASP.NET applications.
Visual Studio IDE Integration
The eXpressApp Framework has been designed to leverage the functionality of Visual Studio as much as possible. For example, to edit the templates that are used by the Windows Forms and ASP.NET projects for forms and pages, the built-in standard designers can be used. This is important for developers, because they don't have to get used to a new tool or new designer paradigms to do their work - changing a template is as easy as designing a form or a web page in Visual Studio.
With the eXpressApp Framework, a developer never needs to leave Visual Studio!