Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

Post on 12-May-2015

1.284 views 0 download

Tags:

description

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).

Transcript of Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

Build Business Web Applications with PHPOpenbiz framework and Cubi Platform

Agus Suhartonoagus@openbiz.web.idOpenBiz 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 ApplicationsOpenbiz 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