Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

30
Build Business Web Applications with PHPOpenbiz framework and Cubi Platform Agus Suhartono [email protected] OpenBiz Contributor, on coding standard and code quality enhancement

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

Page 1: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

Build Business Web Applications with PHPOpenbiz framework and Cubi Platform

Agus [email protected] Contributor, on coding standard and code quality enhancement

Page 2: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

Agenda

• Openbiz Overview• Openbiz Architecture• Openbiz Metadata• Openbiz Data Object• Openbiz Form and View• Openbiz Service• Demo• Questions

Page 3: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

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

Page 4: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

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.

Page 5: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

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

Page 6: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

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

Page 7: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

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

Page 8: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

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

Page 9: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

Agenda

• Openbiz Overview• Openbiz Architecture• Openbiz Metadata• Openbiz Data Object• Openbiz Form and View• Openbiz Service• Demo• Questions

Page 10: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

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

Page 11: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

Openbiz Architecture

• Openbiz Core Objects

Page 12: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

Openbiz Architecture

• Openbiz MVC

Page 13: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

Openbiz Architecture

• Openbiz MVC

Page 14: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

Agenda

• Openbiz Overview• Openbiz Architecture• Openbiz Metadata• Openbiz Data Object• Openbiz Form and View• Openbiz Service• Extending Openbiz• Demo• Questions

Page 15: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

Openbiz Metadata

• Metadata and Object

Page 16: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

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

Page 17: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

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.

Page 18: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

Agenda

• Openbiz Overview• Openbiz Architecture• Openbiz Metadata• Openbiz Data Object• Openbiz Form and View• Openbiz Service• Extending Openbiz• Demo• Questions

Page 19: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

Openbiz Metadata

• Openbiz maps database tables to data object (DO)

Page 20: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

Openbiz Metadata

• Object Relational Mapping (ORM)

Page 21: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

Agenda

• Openbiz Overview• Openbiz Architecture• Openbiz Metadata• Openbiz Data Object• Openbiz Form and View• Openbiz Service• Extending Openbiz• Demo• Questions

Page 22: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

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.

Page 23: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

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.

Page 24: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

View and Form Navigation

Page 25: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

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.

Page 26: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

Agenda

• Openbiz Overview• Openbiz Architecture• Openbiz Metadata• Openbiz Data Object• Openbiz Form and View• Openbiz Service• Demo• Questions

Page 27: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

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)

Page 28: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

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

Page 29: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

Agenda

• Openbiz Overview• Openbiz Architecture• Openbiz Metadata• Openbiz Data Object• Openbiz Form and View• Openbiz Service• Demo• Questions

Page 30: Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform

Agenda

• Openbiz Overview• Openbiz Architecture• Openbiz Metadata• Openbiz Data Object• Openbiz Form and View• Openbiz Service• Demo• Questions