際際滷

際際滷Share a Scribd company logo
速

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
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
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
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
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
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
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
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
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
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
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
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
PHPOpenbiz - Open Business Application Framework

Development Cycle

13

PHPOpenBiz  When Coding is Optional
PHPOpenbiz - Open Business Application Framework

Development Cycle (cont)

14

PHPOpenBiz  When Coding is Optional
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
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
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
PHPOpenbiz - Open Business Application Framework

Demos
 PHPOpenbiz demoapp
 UniqueAid Home Health Care
 Camp management (mycamp.net)

18

PHPOpenBiz  When Coding is Optional
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
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

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.