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,surpport DST |
| Data Validation |
Yes |
client side and server side validation |
| Web Services |
Yes |
WSDL1.0/1.1,SOAP,XML_RPC,REST |
| Lite Server |
Yes |
Can run small USB disk |
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