20
PHPOpenbiz PHPOpenbiz - - Open Business Application Framework Open Business Application Framework 1 PHPOpenbiz – When Coding is Optional PHPOpenbiz – When Coding is Optional Build Business Web Applications with PHPOpenbiz framework Rocky Swen [email protected] Architect, phpopenbiz.org

Build Business Web Applications with PHPOpenbiz framework

  • Upload
    arama

  • View
    47

  • Download
    0

Embed Size (px)

DESCRIPTION

Build Business Web Applications with PHPOpenbiz framework. Rocky Swen [email protected] Architect, phpopenbiz.org. Agenda. What is PHPOpenbiz? PHPOpenBiz Goals PHPOpenbiz Advantages PHPOpenbiz Architecture Overview PHPOpenBiz Development Cycle Demos Questions. What is PHPOpenbiz. - PowerPoint PPT Presentation

Citation preview

Page 1: Build Business Web Applications with PHPOpenbiz framework

© 2006 IBM Corporation

New York PHP Conference & Expo 2006

®

PHPOpenbiz PHPOpenbiz - - Open Business Application FrameworkOpen Business Application Framework

1

PHPOpenbiz – When Coding is OptionalPHPOpenbiz – When Coding is Optional

Build Business Web Applications with PHPOpenbiz frameworkRocky [email protected], phpopenbiz.org

Page 2: Build Business Web Applications with PHPOpenbiz framework

PHPOpenbiz PHPOpenbiz - - Open Business Application FrameworkOpen Business Application Framework

2 PHPOpenBiz – When Coding is Optional PHPOpenBiz – When Coding is Optional

Agenda

What is PHPOpenbiz?

PHPOpenBiz Goals

PHPOpenbiz Advantages

PHPOpenbiz Architecture Overview

PHPOpenBiz Development Cycle

Demos

Questions

Page 3: Build Business Web Applications with PHPOpenbiz framework

PHPOpenbiz PHPOpenbiz - - Open Business Application FrameworkOpen Business Application Framework

3 PHPOpenBiz – When Coding is Optional PHPOpenBiz – When Coding is Optional

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 withMetadata-driven design principal. Developers declare business

logic as metadata (zero-coding)

Model-View-Controller

Object Relational Mapping

AJAX browser client

Eclipse integrated authoring tool

Page 4: Build Business Web Applications with PHPOpenbiz framework

PHPOpenbiz PHPOpenbiz - - Open Business Application FrameworkOpen Business Application Framework

4 PHPOpenBiz – When Coding is Optional PHPOpenBiz – When Coding is Optional

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

Page 5: Build Business Web Applications with PHPOpenbiz framework

PHPOpenbiz PHPOpenbiz - - Open Business Application FrameworkOpen Business Application Framework

5 PHPOpenBiz – When Coding is Optional PHPOpenBiz – When Coding is Optional

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

Page 6: Build Business Web Applications with PHPOpenbiz framework

PHPOpenbiz PHPOpenbiz - - Open Business Application FrameworkOpen Business Application Framework

6 PHPOpenBiz – When Coding is Optional PHPOpenBiz – When Coding is Optional

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 developmentFramework provides common functions/services

Customer logic is extended on core objects

Low maintenance costManaging metadata is cheaper than managing code

Page 7: Build Business Web Applications with PHPOpenbiz framework

PHPOpenbiz PHPOpenbiz - - Open Business Application FrameworkOpen Business Application Framework

7 PHPOpenBiz – When Coding is Optional PHPOpenBiz – When Coding is Optional

Architecture Overview

Metadata-driven design principalOpenbiz 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

Page 8: Build Business Web Applications with PHPOpenbiz framework

PHPOpenbiz PHPOpenbiz - - Open Business Application FrameworkOpen Business Application Framework

8 PHPOpenBiz – When Coding is Optional PHPOpenBiz – When Coding is Optional

Architecture Overview (cont)

Multi-layer Object Oriented design

Presentation – BizView / BizForm

Business logic – BizDataObj, Plugin Service

Data Integration – Zend_DB

Authoring:Openbiz Eclipse Plugin

AJAX Client – AjaxForm, jsForm

MySQL Oracle …

Openbiz stack

PHP RuntimeMS SQL Sybase

DB Vendor

Page 9: Build Business Web Applications with PHPOpenbiz framework

PHPOpenbiz PHPOpenbiz - - Open Business Application FrameworkOpen Business Application Framework

9 PHPOpenBiz – When Coding is Optional PHPOpenBiz – When Coding is Optional

Architecture Overview (cont)Architecture stack

Windows Linux Others

PHP 5.x + Extensions

XML Metadata

Data ValidationObject Factory

Session Context

MVC

ORM

DataObjTrigger

Security

Smarty

Zend_DB

Report Service I/O Service Email Service Customer Service

BizView BizForm BizDataObj Extended object

Platforms

Runtime

CommonApplication

Infrastructure

CommonServices

MetadataObjects

Page 10: Build Business Web Applications with PHPOpenbiz framework

PHPOpenbiz PHPOpenbiz - - Open Business Application FrameworkOpen Business Application Framework

10 PHPOpenBiz – When Coding is Optional PHPOpenBiz – When Coding is Optional

Architecture Overview (cont)

Model-View-ControllerOpenbiz MVC is more like JSF because both are component

based architecture

Event/Action handling on BizForm methods

BizController BizView+BizFormBizDataObj +PluginServiceClients Data

Web Server running PHP

Controller View Model

Page 11: Build Business Web Applications with PHPOpenbiz framework

PHPOpenbiz PHPOpenbiz - - Open Business Application FrameworkOpen Business Application Framework

11 PHPOpenBiz – When Coding is Optional PHPOpenBiz – When Coding is Optional

Architecture Overview (cont)

Object Relational MappingSupport 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

Page 12: Build Business Web Applications with PHPOpenbiz framework

PHPOpenbiz PHPOpenbiz - - Open Business Application FrameworkOpen Business Application Framework

12 PHPOpenBiz – When Coding is Optional PHPOpenBiz – When Coding is Optional

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…

Architecture Overview (cont)

Page 13: Build Business Web Applications with PHPOpenbiz framework

PHPOpenbiz PHPOpenbiz - - Open Business Application FrameworkOpen Business Application Framework

13 PHPOpenBiz – When Coding is Optional PHPOpenBiz – When Coding is Optional

Development Cycle

Page 14: Build Business Web Applications with PHPOpenbiz framework

PHPOpenbiz PHPOpenbiz - - Open Business Application FrameworkOpen Business Application Framework

14 PHPOpenBiz – When Coding is Optional PHPOpenBiz – When Coding is Optional

Development Cycle (cont)

Page 15: Build Business Web Applications with PHPOpenbiz framework

PHPOpenbiz PHPOpenbiz - - Open Business Application FrameworkOpen Business Application Framework

15 PHPOpenBiz – When Coding is Optional PHPOpenBiz – When Coding is Optional

Development Cycle (cont)

Development steps with PHPOpenbiz

Requirements

Data model Create BizDataObj

Create BizFormUser Interface

Create BizView

Create Templates

OpenbizEclipsePlug-in

Page 16: Build Business Web Applications with PHPOpenbiz framework

PHPOpenbiz PHPOpenbiz - - Open Business Application FrameworkOpen Business Application Framework

16 PHPOpenBiz – When Coding is Optional PHPOpenBiz – When Coding is Optional

Development Cycle (cont)

Publish a single table – build a page that manages event attendeesFlash url of the demo is at

http://www.phpopenbiz.org/document/openbiz_flash.htm

Work on table relationship tutorial can be found at project’s site

Page 17: Build Business Web Applications with PHPOpenbiz framework

PHPOpenbiz PHPOpenbiz - - Open Business Application FrameworkOpen Business Application Framework

17 PHPOpenBiz – When Coding is Optional PHPOpenBiz – When Coding is Optional

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.

Page 18: Build Business Web Applications with PHPOpenbiz framework

PHPOpenbiz PHPOpenbiz - - Open Business Application FrameworkOpen Business Application Framework

18 PHPOpenBiz – When Coding is Optional PHPOpenBiz – When Coding is Optional

Demos

PHPOpenbiz demoapp

UniqueAid Home Health Care

Camp management (mycamp.net)

Page 19: Build Business Web Applications with PHPOpenbiz framework

PHPOpenbiz PHPOpenbiz - - Open Business Application FrameworkOpen Business Application Framework

19 PHPOpenBiz – When Coding is Optional PHPOpenBiz – When Coding is Optional

Your Comments

If you have any comments, advice, questions or testimonials we’re 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

Page 20: Build Business Web Applications with PHPOpenbiz framework

PHPOpenbiz PHPOpenbiz - - Open Business Application FrameworkOpen Business Application Framework

20 PHPOpenBiz – When Coding is Optional PHPOpenBiz – When Coding is Optional

Contacts

Project website

http://www.phpopenbiz.org

Emails

[email protected]

[email protected]