PHPOpenbiz is an open source PHP framework that aims to minimize coding efforts for business application development. It uses a metadata-driven design where developers declare business logic as metadata without coding. This allows building database-driven web applications through an Eclipse authoring tool by editing XML metadata instead of code. The framework provides features like MVC, ORM, AJAX and integrates with Zend Framework. It targets professional developers, consultants and software houses for applications like CRM, HRM and internal systems.
1 of 20
Download to read offline
More Related Content
Openbiz NYPHP group presentation
1. 速
PHPOpenbiz - Open Business Application Framework
Build Business Web Applications with
PHPOpenbiz framework
Rocky Swen
Rockyswen@phpopenbiz.org
Architect, phpopenbiz.org
PHPOpenbiz When Coding is Optional
New York PHP Conference & Expo 2006
1
息 2006 IBM Corporation
2. PHPOpenbiz - Open Business Application Framework
Agenda
What is PHPOpenbiz?
PHPOpenBiz Goals
PHPOpenbiz Advantages
PHPOpenbiz Architecture Overview
PHPOpenBiz Development Cycle
Demos
Questions
2
PHPOpenBiz When Coding is Optional
3. PHPOpenbiz - Open Business Application Framework
What is PHPOpenbiz
A little history
Project was started in 2003 with the goal to minimize the
coding efforts in business application development.
A PHP business application framework featured with
Metadata-driven design principal. Developers declare business
logic as metadata (zero-coding)
Model-View-Controller
Object Relational Mapping
AJAX browser client
Eclipse integrated authoring tool
3
PHPOpenBiz When Coding is Optional
4. PHPOpenbiz - Open Business Application Framework
What is PHPOpenbiz (cont)
Target User Community
Professional software developers
IT consultants
Software Houses
Target applications
Management/Administration System (i.e. CRM, HRM)
Company home-grown internal management systems
Migration from desktop application to rich client web application
Will satisfy the need for most of the database driven web
applications
4
PHPOpenBiz When Coding is Optional
5. PHPOpenbiz - Open Business Application Framework
PHPOpenBiz Goals
Speed up development of business applications by
providing standard development structures that allow
producing database driven web interfaces in less or no
time.
Minimize Application Supportability & Maximize
Application Upgradeability by:
providing centralized & complete application
framework.
minimizing application coding requirements.
clear separation of technology from business
5
PHPOpenBiz When Coding is Optional
6. PHPOpenbiz - Open Business Application Framework
PHPOpenbiz Advantages
Easy and powerful
Editing XML metadata instead of coding
Rich features AJAX, MVC, ORM, Security
Build upon Zend Framework, but more focus on application
logic
Quick development
Framework provides common functions/services
Customer logic is extended on core objects
Low maintenance cost
Managing metadata is cheaper than managing code
6
PHPOpenBiz When Coding is Optional
7. PHPOpenbiz - Open Business Application Framework
Architecture Overview
Metadata-driven design principal
Openbiz objects are defined with XML metadata
Metadata describes the properties and behaviors of an object
Metadata describes the relationship between objects
Objectfactory creates objects on the fly
Openbiz core objects are the base of the framework
All objects are extensible with customer classes
7
PHPOpenBiz When Coding is Optional
8. PHPOpenbiz - Open Business Application Framework
Architecture Overview (cont)
Multi-layer Object Oriented design
AJAX Client AjaxForm, jsForm
Authoring:
Openbiz
Eclipse
Plugin
Presentation BizView / BizForm
Business logic BizDataObj, Plugin Service
Data Integration Zend_DB
Openbiz stack
MySQL
Oracle
MS SQL
Sybase
PHP Runtime
DB Vendor
8
PHPOpenBiz When Coding is Optional
9. PHPOpenbiz - Open Business Application Framework
Architecture Overview (cont)
Architecture stack
Metadata
Objects
BizView
BizForm
BizDataObj
Extended object
Common
Services
Report Service
I/O Service
Email Service
Customer Service
Common
Application
Infrastructure
MVC
Object Factory
Data Validation
DataObj
Trigger
Smarty
ORM
XML Metadata Session Context
Security
Zend_DB
Runtime
Platforms
9
PHP 5.x + Extensions
Windows
Linux
Others
PHPOpenBiz When Coding is Optional
10. PHPOpenbiz - Open Business Application Framework
Architecture Overview (cont)
Model-View-Controller
Openbiz MVC is more like JSF because both are component
based architecture
Event/Action handling on BizForm methods
Controller
Clients
BizController
View
BizView+BizForm
Model
BizDataObj +
PluginService
Data
Web Server running PHP
10
PHPOpenBiz When Coding is Optional
11. PHPOpenbiz - Open Business Application Framework
Architecture Overview (cont)
Object Relational Mapping
Support 1-M, M-1, 1-1 and M-M mappings between Data
Objects (BizDataObj) and DB Tables / Views
SQL-like query expression language
Stateful objects
Objects states are stored in session context
Objects keep persistency across session
Objects can be configured as stateless
11
PHPOpenBiz When Coding is Optional
12. PHPOpenbiz - Open Business Application Framework
Architecture Overview (cont)
Eclipse integrated authoring tool
Wizards to create objects metadata xml files
GUI editor to modify elements of metadata
Leverage the power of Eclipse platform PHP Eclipse IDE, database
tools, UML designer, Web designer
Plugin services
Customer logic can added in plugable services
Service metadata allows change of implementation class
Framework provides common services email, export/import,
log, BIRT/report, excel, authentication, access control, audit
trail
12
PHPOpenBiz When Coding is Optional
13. PHPOpenbiz - Open Business Application Framework
Development Cycle
13
PHPOpenBiz When Coding is Optional
14. PHPOpenbiz - Open Business Application Framework
Development Cycle (cont)
14
PHPOpenBiz When Coding is Optional
15. PHPOpenbiz - Open Business Application Framework
Development Cycle (cont)
Development steps with PHPOpenbiz
Requirements
Data model
User Interface
Create BizDataObj
Create BizForm
Openbiz
Eclipse
Plug-in
Create BizView
Create Templates
15
PHPOpenBiz When Coding is Optional
16. PHPOpenbiz - Open Business Application Framework
Development Cycle (cont)
Publish a single table build a page that manages
event attendees
Flash url of the demo is at
http://www.phpopenbiz.org/document/openbiz_flash.htm
Work on table relationship tutorial can be found at
projects site
16
PHPOpenBiz When Coding is Optional
17. PHPOpenbiz - Open Business Application Framework
Why OpenBiz?
The ability to simplify means to eliminate the unnecessary so
that the necessary may speak.
Hans Hofmann
Technology can solve a lot if not the most of business problems, but at
the same time can create additional very complex link that can
stumble development of business applications. By providing organized
way of describing and presenting complex business structures
OpenBiz eliminates the unnecessary complexity so that the
necessary (business) may speak.
Everything should be made as simple as possible, but not
simpler.
Albert Einstein
OpenBiz is simple and straightforward but at the same time provides
clear pathway for solving complex business problems.
17
PHPOpenBiz When Coding is Optional
18. PHPOpenbiz - Open Business Application Framework
Demos
PHPOpenbiz demoapp
UniqueAid Home Health Care
Camp management (mycamp.net)
18
PHPOpenBiz When Coding is Optional
19. PHPOpenbiz - Open Business Application Framework
Your Comments
If you have any comments, advice, questions or
testimonials were looking forward to hear from you.
Please post them on our web site or send us via email.
рAction may not always bring happiness; but there is no happiness
without action.
Benjamin Disraeli
19
PHPOpenBiz When Coding is Optional
20. PHPOpenbiz - Open Business Application Framework
Contacts
Project website
http://www.phpopenbiz.org
Emails
rockswen@phpopenbiz.org
support@phpopenbiz.org
20
PHPOpenBiz When Coding is Optional
Editor's Notes
#12: SDO can do FAR more than this simplistic example shows. It can actually perform joins across database tables and build complex graphs of objects from the resulting information.
The ability to automatically extract much of this information from the database schema is a known requirement.
#17: Note that weve made the TrainingTracker class into a service as well. We could take this a step further and wrap the database access in a service as well if it were useful to do so.