Generic framework features implementation in
Openbiz:
| Framework feature |
Openbiz support |
Comments |
| Multi-layer |
Yes |
|
| Model-View-Controller (MVC) |
Yes |
Component-based, Event binding |
| Object Relational Mapping (ORM) |
Yes |
Flexible mapping with metadata, SQL-like language |
| Object persistence |
Yes |
Session-based |
| Security |
Yes |
user authentication, role-based view
access and attribute-based data access control |
| Authoring tool |
Yes |
Openbiz Eclipse plugin with wizards |
| Free License |
Yes |
BSD, GPL |
| PHP5 aware |
Yes |
Version 1.1 PHP4, Version 2.0 PHP5 |
| Multi-Database |
Yes |
Zend Framework DB |
| Web Template |
Yes |
Smarty |
| Configurable |
Yes |
Through metadata files |
| Extensible |
Yes |
User class derived from core library |
| Plugable |
Yes |
Plugin services |
| Multi-language |
Yes |
Work with Unicode-enabled databases |
| Internationalization |
Yes |
Translation of metadata files |
| Localization |
Yes |
Format of date/time, number, currency, phone number |
| Data Validation |
Yes |
client side and server side validation |
Multi-layer architecture. OpenBiz is designed as a multi-layer architecture
as the figure below.
Usually a business application can be modulated
to 3 layers - Data layer, Business Logic layer and Presentation layer. In
OpenBiz architecture, these 3 layers map to 3 packages.
- Presentation layer is
refined to logic which is implemented by BizView package and GUI layers which is
implemented by jbForm javascript package.
- Business data logic layer is implemented by BizDataObj package
- 3rd party package Zend_Db handles Database Access layer, support all types of
databsaes
In addition,
plug-in services can be called anytime to extend the functionalities beyond the
layers.
All objects are configurable using XML
metadata file OpenBiz
objects are bound with their metadata files which have XML
format. By configuring the XML files, developers can give
different logic and behavior of the objects.
- Configure your business data unit. Create a metadata XML file for each
BizDataObj following the schema BizDataObj.dtd. Object
Relational Mapping (ORM) can be configured with BizDataObj.
- Configure your presentation logic unit. Create a metadata XML file for each
BizForm following the schema BizForm.dtd
- Configure your presentation unit container. Create a metadata XML file for each
BizView following the schema BizView.dtd
- Support metadata file inheritance which makes a well-organized metadata
structure and easy metadata management work.
Provide basic and advanced data operation OpenBiz
includes basic and advanced data operations, by using
Openbiz you don't need spend a minutes in writing code to do
the implementation.
Basic data manipulation:
- Search - support multi-field search, wild character search and logic
operators
- Insert a new record - insert
a record before current record and automatically generate a
customer-formatted ID
- Update a record - support read-only
field and field validation
- Delete a record - popup a warning
before deleting the record
- Sort a column - support ascending and
descending sort
Advanced data manipulation:
- View linking - user can associate a hyperlink with a field so that clicking this field will change current view
to another view.
- Select field data from other BizForm -
user can associate a input field a BizForm so that select data from other
BizForm.
-
Control dependency - specify dependent relationship between BizForms
Client/Server Communication with HTTP PRC call (AJAX) OpenBiz
uses HTTP PRC call (AJAX) to send request and receive response
between browser and web server. The benefits are:
- Clear function call interface, no more messy
url like ../cgi/control.php?field1=value&field2=value2
- No page refresh, only refresh the updated
part of the whole page.
-
Support Internet explorers 5.x, Netscape 7.x and Mozilla 1.x
Separate business logic and user
interface with web templates Smarty
template engine is used in OpenBiz to render the HTML output. Openbiz
provides
some basic templates for render BizForm and BizView. For detail, please
refer to http://smarty.php.net/docs.php
Support common data type, format and validation
- Data types include Text, Number, Date, Datetime, Currency, Phone
- Localization is supported in data formatting
-
Validator can be assigned to any field
Support common HTML element controls
- HTML controls include Text, Textarea, ListBox/ComboBox, Checkbox,
RadioButton, ImageButton, Standard Button/Reset/Submit/, Password, pure
HTML block and rich html editor
- Support navigation UI components including menu, tree and tabs
- Associate UI control with field data
-
Associate UI control with function
|