You are on page 1of 30

Build Business Web Applications

with PHPOpenbiz framework


and Cubi Platform

Agus Suhartono
agus@openbiz.web.id
OpenBiz Contributor,
on coding standard and code quality enhancement
Agenda
• Openbiz Overview
• Openbiz Architecture
• Openbiz Metadata
• Openbiz Data Object
• Openbiz Form and View
• Openbiz Service
• Demo
• Questions
Agenda
• Openbiz Overview
– What’s Openbiz
– What’s Cubi
– Tools
– Sample Application and ISV
• Openbiz Architecture
• Openbiz Metadata
• Openbiz Data Object
• Openbiz Form and View
• Openbiz Service
• Demo
• Questions
What is Openbiz
• Openbiz is php application framework that
provides an object-oriented metadata-driven
platform for application developers to build web
application with least possible programming
code (80% metadata, 20% programming code).

• A little history
– Project was started in 2003 with the goal to minimize
the coding efforts in business application
development. Has been continuously improved by
community developers and user feedback.
What is Openbiz

• A PHP business application framework


featured with
– Metadata-driven design principal. Developers
declare business logic as metadata
– Model-View-Controller
– Object Relational Mapping
– AJAX browser client
– Stateless and Statefull
What is Openbiz

• Target User Community


– Professional software developers
– IT consultants
– Software Houses (ISV)
• 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
What is Cubi

• Openbiz Cubi is a php application


platform.
– From demo to full-featured application
platform
• Goal
– provide commonly used modules and a set
of tools in a platform level
– boost the productivity of Openbiz-based
application development
Tools
• Metadata generator (CLI)
• From db to CRUD application
• App Design Center aka metadata editor
– Edit metadata from application
• Application Installation Wizard
– End user fully enjoy
Agenda
• Openbiz Overview
• Openbiz Architecture
• Openbiz Metadata
• Openbiz Data Object
• Openbiz Form and View
• Openbiz Service
• Demo
• Questions
Openbiz Architecture
• 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
– Object factory creates objects on the fly
– Openbiz core objects are the base of the framework
– All objects are extensible with customer classes
Openbiz Architecture
• Openbiz Core Objects
Openbiz Architecture
• Openbiz MVC
Openbiz Architecture
• Openbiz MVC
Agenda
• Openbiz Overview
• Openbiz Architecture
• Openbiz Metadata
• Openbiz Data Object
• Openbiz Form and View
• Openbiz Service
• Extending Openbiz
• Demo
• Questions
Openbiz Metadata
• Metadata and Object
Openbiz Metadata
• Steps to Build Openbiz Applications
Openbiz is a metadata centric framework, so the
application development process is some different with
the traditional one.
– Step 1: gather requirements
– Step 2: design data models, e.g. database schema
– Step 3: write business objects with DO and their metadata
– Step 4: write user interface with Form and View
– Step 5: write custom DO, Form and Service classes if necessary
– Step 6: refine the metadata and custom code
– Step 7: test and debug
Openbiz Metadata
• What can metadata do:
– Describe the properties of objects
– Describe relationship of objects
– Describe rendering behavior of objects
– Describe validation of the data
– Describe user interaction on a page

• What can't metadata do:


– Logic of function - this is implemented in real program
classes. The "Class" attribute of a metadata can bind
any custom class with the metadata.
Agenda
• Openbiz Overview
• Openbiz Architecture
• Openbiz Metadata
• Openbiz Data Object
• Openbiz Form and View
• Openbiz Service
• Extending Openbiz
• Demo
• Questions
Openbiz Metadata
• Openbiz maps database tables to data
object (DO)
Openbiz Metadata
• Object Relational Mapping (ORM)
Agenda
• Openbiz Overview
• Openbiz Architecture
• Openbiz Metadata
• Openbiz Data Object
• Openbiz Form and View
• Openbiz Service
• Extending Openbiz
• Demo
• Questions
Openbiz Form and View
• Openbiz Data Object (DO) plays a data
unit, and Openbiz Form plays as
corresponding presentation unit.
– Each Form declares a DO name and mapping
between DO Fields to Form Elements.
• Openbiz View plays as a presentation
container of Forms.
– In web technology, View is same as a web
page and Form is a logic block within a page.
View and Form Navigation
• In a data-driven web applications, data is
presented in four types of screens.
– List : screen for multi-record list or table
– Detail : screen for single-record detail
– Edit : screen for single-record editing.
– New : screen for single-record creation.
View and Form Navigation
View and Form Navigation
• In a data-driven web applications, data is
presented in four types of screens.
– List : screen for multi-record list or table
– Detail : screen for single-record detail
– Edit : screen for single-record editing.
– New : screen for single-record creation.
Agenda
• Openbiz Overview
• Openbiz Architecture
• Openbiz Metadata
• Openbiz Data Object
• Openbiz Form and View
• Openbiz Service
• Demo
• Questions
Openbiz (Plug-in) Service
• implementing special logic by Plug-in
Service.
• metadata-driven objects.
• Service metadata doesn’t have fixed
schema (different services can have very
different configuration)
Openbiz (Plug-in) Service
• Log Service
• Email Service
• DO Trigger Service
• ID Generation Service
• Cache Service
• Security Service
• Query Service
• Validation Service
• Excel Service
• Access Service
Agenda
• Openbiz Overview
• Openbiz Architecture
• Openbiz Metadata
• Openbiz Data Object
• Openbiz Form and View
• Openbiz Service
• Demo
• Questions
Agenda
• Openbiz Overview
• Openbiz Architecture
• Openbiz Metadata
• Openbiz Data Object
• Openbiz Form and View
• Openbiz Service
• Demo
• Questions

You might also like