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

OpenBiz Framework

Embed Size (px)

Citation preview

Page 1: OpenBiz Framework

Build Business Web Applications with PHPOpenbiz framework and Cubi Platform

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

Page 2: OpenBiz Framework

Agenda

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

Page 3: OpenBiz Framework

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: OpenBiz Framework

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: OpenBiz Framework

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: OpenBiz Framework

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: OpenBiz Framework

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: OpenBiz Framework

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: OpenBiz Framework

Agenda

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

Page 10: OpenBiz Framework

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: OpenBiz Framework

Openbiz Architecture

• Openbiz Core Objects

Page 12: OpenBiz Framework

Openbiz Architecture

• Openbiz MVC

Page 13: OpenBiz Framework

Openbiz Architecture

• Openbiz MVC

Page 14: OpenBiz Framework

Agenda

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

Page 15: OpenBiz Framework

Openbiz Metadata

• Metadata and Object

Page 16: OpenBiz Framework

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: OpenBiz Framework

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: OpenBiz Framework

Agenda

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

Page 19: OpenBiz Framework

Openbiz Metadata

• Openbiz maps database tables to data object (DO)

Page 20: OpenBiz Framework

Openbiz Metadata

• Object Relational Mapping (ORM)

Page 21: OpenBiz Framework

Agenda

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

Page 22: OpenBiz Framework

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: OpenBiz Framework

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: OpenBiz Framework

View and Form Navigation

Page 25: OpenBiz Framework

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: OpenBiz Framework

Agenda

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

Page 27: OpenBiz Framework

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: OpenBiz Framework

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: OpenBiz Framework

Agenda

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

Page 30: OpenBiz Framework

Agenda

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