OpenBiz Framework
-
Upload
eko-triyanto -
Category
Documents
-
view
87 -
download
4
Transcript of OpenBiz Framework
![Page 1: OpenBiz Framework](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/1.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/2.jpg)
Agenda
• Openbiz Overview• Openbiz Architecture• Openbiz Metadata• Openbiz Data Object• Openbiz Form and View• Openbiz Service• Demo• Questions
![Page 3: OpenBiz Framework](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/3.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/4.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/5.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/6.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/7.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/8.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/9.jpg)
Agenda
• Openbiz Overview• Openbiz Architecture• Openbiz Metadata• Openbiz Data Object• Openbiz Form and View• Openbiz Service• Demo• Questions
![Page 10: OpenBiz Framework](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/10.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/11.jpg)
Openbiz Architecture
• Openbiz Core Objects
![Page 12: OpenBiz Framework](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/12.jpg)
Openbiz Architecture
• Openbiz MVC
![Page 13: OpenBiz Framework](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/13.jpg)
Openbiz Architecture
• Openbiz MVC
![Page 14: OpenBiz Framework](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/14.jpg)
Agenda
• Openbiz Overview• Openbiz Architecture• Openbiz Metadata• Openbiz Data Object• Openbiz Form and View• Openbiz Service• Extending Openbiz• Demo• Questions
![Page 15: OpenBiz Framework](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/15.jpg)
Openbiz Metadata
• Metadata and Object
![Page 16: OpenBiz Framework](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/16.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/17.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/18.jpg)
Agenda
• Openbiz Overview• Openbiz Architecture• Openbiz Metadata• Openbiz Data Object• Openbiz Form and View• Openbiz Service• Extending Openbiz• Demo• Questions
![Page 19: OpenBiz Framework](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/19.jpg)
Openbiz Metadata
• Openbiz maps database tables to data object (DO)
![Page 20: OpenBiz Framework](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/20.jpg)
Openbiz Metadata
• Object Relational Mapping (ORM)
![Page 21: OpenBiz Framework](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/21.jpg)
Agenda
• Openbiz Overview• Openbiz Architecture• Openbiz Metadata• Openbiz Data Object• Openbiz Form and View• Openbiz Service• Extending Openbiz• Demo• Questions
![Page 22: OpenBiz Framework](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/22.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/23.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/24.jpg)
View and Form Navigation
![Page 25: OpenBiz Framework](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/25.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/26.jpg)
Agenda
• Openbiz Overview• Openbiz Architecture• Openbiz Metadata• Openbiz Data Object• Openbiz Form and View• Openbiz Service• Demo• Questions
![Page 27: OpenBiz Framework](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/27.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/28.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/29.jpg)
Agenda
• Openbiz Overview• Openbiz Architecture• Openbiz Metadata• Openbiz Data Object• Openbiz Form and View• Openbiz Service• Demo• Questions
![Page 30: OpenBiz Framework](https://reader036.fdocuments.net/reader036/viewer/2022062404/55151f05497959071e8b4a39/html5/thumbnails/30.jpg)
Agenda
• Openbiz Overview• Openbiz Architecture• Openbiz Metadata• Openbiz Data Object• Openbiz Form and View• Openbiz Service• Demo• Questions