© 2006 IBM CorporationNew York PHP Conference & Expo 2006®PHPOpenbiz -Open Business Application FrameworkPHPOpenbiz –When Coding is Optional1Build Business Web Applications with PHPOpenbiz frameworkRocky SwenRockyswen@phpopenbiz.orgArchitect, phpopenbiz.orgPHPOpenbiz -Open Business Application Framework2PHPOpenBiz –When Coding is Optional AgendaWhat is PHPOpenbiz?PHPOpenBiz GoalsPHPOpenbiz AdvantagesPHPOpenbiz Architecture OverviewPHPOpenBiz Development CycleDemosQuestionsPHPOpenbiz -Open Business Application Framework3PHPOpenBiz –When Coding is Optional What is PHPOpenbizA little historyProject was started in 2003 with the goal to minimize the coding efforts in business application development.A PHP business application framework featured withMetadata-driven design principal. Developers declare business logic as metadata (zero-coding)Model-View-ControllerObject Relational MappingAJAX browser clientEclipse integrated authoring toolPHPOpenbiz -Open Business Application Framework4PHPOpenBiz –When Coding is Optional What is PHPOpenbiz (cont)Target User CommunityProfessional software developers IT consultantsSoftware HousesTarget applications Management/Administration System (i.e. CRM, HRM)Company home-grown internal management systems Migration from desktop application to rich client web applicationWill satisfy the need for most of the database driven web applicationsPHPOpenbiz -Open Business Application Framework5PHPOpenBiz –When Coding is Optional PHPOpenBiz GoalsSpeed up development of business applications by providing standard development structures that allow producing database driven web interfaces in less or no time.Minimize Application Supportability & Maximize Application Upgradeability by:providing centralized & complete application framework.minimizing application coding requirements.clear separation of technology from businessPHPOpenbiz -Open Business Application Framework6PHPOpenBiz –When Coding is Optional PHPOpenbiz AdvantagesEasy and powerfulEditing XML metadata instead of codingRich features –AJAX, MVC, ORM, Security …Build upon Zend Framework, but more focus on application logicQuick developmentFramework provides common functions/servicesCustomer logic is extended on core objectsLow maintenance costManaging metadata is cheaper than managing codePHPOpenbiz -Open Business Application Framework7PHPOpenBiz –When Coding is Optional Architecture OverviewMetadata-driven design principalOpenbiz objects are defined with XML metadataMetadata describes the properties and behaviors of an objectMetadata describes the relationship between objectsObjectfactory creates objects on the flyOpenbiz core objects are the base of the frameworkAll objects are extensible with customer classesPHPOpenbiz -Open Business Application Framework8PHPOpenBiz –When Coding is Optional Architecture Overview (cont)Multi-layer Object Oriented designPresentation –BizView /BizFormBusiness logic –BizDataObj, Plugin ServiceData Integration –Zend_DBAuthoring:Openbiz Eclipse PluginAJAX Client –AjaxForm, jsFormMySQLOracle…Openbiz stackPHP RuntimeMS SQLSybaseDB VendorPHPOpenbiz -Open Business Application Framework9PHPOpenBiz –When Coding is Optional Architecture Overview (cont)Architecture stackWindowsLinuxOthersPHP 5.x + ExtensionsXML MetadataData ValidationObject FactorySession ContextMVCORMDataObjTriggerSecuritySmartyZend_DBReport ServiceI/O ServiceEmail ServiceCustomer ServiceBizViewBizFormBizDataObjExtended objectPlatformsRuntimeCommonApplicationInfrastructureCommonServicesMetadataObjectsPHPOpenbiz -Open Business Application Framework10PHPOpenBiz –When Coding is Optional Architecture Overview (cont)Model-View-ControllerOpenbiz MVC is more like JSF because both are component based architecture Event/Action handling on BizForm methodsBizControllerBizView+BizFormBizDataObj +PluginServiceClientsDataWeb Server running PHPControllerViewModelPHPOpenbiz -Open Business Application Framework11PHPOpenBiz –When Coding is Optional Architecture Overview (cont)Object Relational MappingSupport 1-M, M-1, 1-1 and M-M mappings between Data Objects (BizDataObj) and DB Tables /ViewsSQL-like query expression languageStateful objects Objects states are stored in session contextObjects keep persistency across sessionObjects can be configured as statelessPHPOpenbiz -Open Business Application Framework12PHPOpenBiz –When Coding is Optional Eclipse integrated authoring toolWizards to create objects metadata xml filesGUI editor to modify elements of metadataLeverage the power of Eclipse platform –PHP Eclipse IDE, database tools, UML designer, Web designer …Plugin services Customer logic can added in plugable servicesService metadata allows change of implementation classFramework provides common services –email, export/import, log, BIRT/report, excel, authentication, access control, audit trail…Architecture Overview (cont)PHPOpenbiz -Open Business Application Framework13PHPOpenBiz –When Coding is Optional Development CyclePHPOpenbiz -Open Business Application Framework14PHPOpenBiz –When Coding is Optional Development Cycle (cont)PHPOpenbiz -Open Business Application Framework15PHPOpenBiz –When Coding is Optional Development Cycle (cont)Development steps with PHPOpenbizRequirementsData modelCreate BizDataObjCreate BizFormUser InterfaceCreate BizViewCreate TemplatesOpenbizEclipsePlug-inPHPOpenbiz -Open Business Application Framework16PHPOpenBiz –When Coding is Optional Development Cycle (cont)Publish a single table –build a page that manages event attendeesFlash url of the demo is at http://www.phpopenbiz.org/document/openbiz_flash.htmWork on table relationship tutorial can be found at project’s sitePHPOpenbiz -Open Business Application Framework17PHPOpenBiz –When Coding is Optional Why OpenBiz?“The ability to simplify means to eliminate the unnecessary so that the necessary may speak.”Hans HofmannTechnology can solve a lot if not the most of business problems, but at the same time can create additional very complex link that can stumble development of business applications. By providing organized way of describing and presenting complex business structures OpenBiz “eliminates the unnecessary”complexity “so that the necessary”(business) “may speak.”“Everything should be made as simple as possible, but not simpler.”Albert EinsteinOpenBiz is simple and straightforward but at the same time provides clear pathway for solving complex business problems.PHPOpenbiz -Open Business Application Framework18PHPOpenBiz –When Coding is Optional DemosPHPOpenbiz demoappUniqueAid Home Health Care Camp management (mycamp.net)PHPOpenbiz -Open Business Application Framework19PHPOpenBiz –When Coding is Optional Your CommentsIf you have any comments, advice, questions or testimonials we’re looking forward to hear from you. Please post them on our web site or send us via email.“Action may not always bring happiness; but there is no happiness without action.”Benjamin DisraeliPHPOpenbiz -Open Business Application Framework20PHPOpenBiz –When Coding is Optional ContactsProject websitehttp://www.phpopenbiz.orgEmailsrockswen@phpopenbiz.orgsupport@phpopenbiz.org
tlindeman 2/23/2008 |
89 |
0 |
0 |
business
tlindeman 2/23/2008 |
141 |
2 |
0 |
business
tlindeman 2/23/2008 |
158 |
1 |
0 |
business
tlindeman 2/23/2008 |
227 |
22 |
0 |
business
tlindeman 2/23/2008 |
126 |
4 |
0 |
business
tlindeman 2/23/2008 |
14 |
1 |
0 |
business
tlindeman 2/23/2008 |
102 |
0 |
0 |
business
tlindeman 2/23/2008 |
146 |
5 |
0 |
business
tlindeman 2/23/2008 |
107 |
1 |
0 |
business
tlindeman 2/23/2008 |
143 |
0 |
0 |
business
tlindeman 2/23/2008 |
107 |
3 |
0 |
business
tlindeman 2/23/2008 |
81 |
0 |
0 |
business
tlindeman 2/23/2008 |
131 |
5 |
0 |
business
jpl7986 3/12/2008 |
509 |
106 |
0 |
creative
tlindeman 4/4/2008 |
411 |
5 |
0 |
technology
tlindeman 4/4/2008 |
252 |
6 |
0 |
technology
tlindeman 4/4/2008 |
264 |
13 |
0 |
technology
tlindeman 4/4/2008 |
273 |
16 |
0 |
technology
tlindeman 4/4/2008 |
309 |
24 |
0 |
technology
tlindeman 4/4/2008 |
238 |
2 |
0 |
technology
tlindeman 4/4/2008 |
260 |
1 |
0 |
technology
tlindeman 4/4/2008 |
592 |
5 |
0 |
technology
tlindeman 4/4/2008 |
331 |
5 |
0 |
technology
tlindeman 4/4/2008 |
215 |
0 |
0 |
technology