Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ofbiz Guy Gershoni 20060621

1,423 views

Published on

Published in: Business, Technology
  • Be the first to comment

Ofbiz Guy Gershoni 20060621

  1. 1. Ofbiz Guy Gershoni An introduction and reflections about the Ofbiz framework.
  2. 2. Outline <ul><ul><li>Introduction to Ofbiz </li></ul></ul><ul><ul><li>Introduction to Framework </li></ul></ul><ul><ul><li>Introduction to Data Model </li></ul></ul><ul><ul><li>Is it for me? </li></ul></ul>
  3. 3. Introduction to Ofbiz <ul><li>Overview </li></ul><ul><li>What is Ofbiz? </li></ul><ul><li>What is under the hood? </li></ul><ul><li>Overview of Framework </li></ul><ul><li>Overview of Applications </li></ul>
  4. 4. Overview <ul><li>Ofbiz = Open For Business </li></ul><ul><li>www.ofbiz.org </li></ul><ul><li>Started in 2001 (I think) </li></ul><ul><li>Founders </li></ul><ul><ul><li>David E. Jones [email_address] </li></ul></ul><ul><ul><li>Andy Zeneski [email_address] </li></ul></ul><ul><li>MIT License moving to Apache </li></ul><ul><li>Currently in Apache Incubator </li></ul><ul><ul><li>http://incubator.apache.org/projects/ofbiz.html </li></ul></ul>
  5. 5. What is Ofbiz? <ul><li>Open source enterprise automation software project i.e. </li></ul><ul><ul><li>Open Source ERP </li></ul></ul><ul><ul><li>Open Source CRM </li></ul></ul><ul><ul><li>Open Source E-Business / E-Commerce </li></ul></ul><ul><ul><li>Open Source SCM (Supply Chain Management) </li></ul></ul><ul><ul><li>etc. </li></ul></ul>
  6. 6. What is under the hood? <ul><li>All written in Java (1.4) </li></ul><ul><li>Sits happily in any Web Container i.e. Tomcat or Jetty </li></ul><ul><li>Composed of two sections </li></ul><ul><ul><li>Framework </li></ul></ul><ul><ul><li>Applications </li></ul></ul>
  7. 7. Framework - Overview <ul><li>Framework </li></ul><ul><ul><li>Service Engine </li></ul></ul><ul><ul><li>Entity Engine </li></ul></ul><ul><ul><li>Request Manager </li></ul></ul><ul><ul><li>Screen Manager </li></ul></ul><ul><ul><li>Integration of third party tools for: </li></ul></ul><ul><ul><ul><li>Reporting </li></ul></ul></ul><ul><ul><ul><li>Workflow </li></ul></ul></ul><ul><ul><ul><li>etc. </li></ul></ul></ul>
  8. 8. Applications - Overview <ul><li>Applications </li></ul><ul><ul><li>E-commerce </li></ul></ul><ul><ul><li>Product Mangement </li></ul></ul><ul><ul><li>Price Management </li></ul></ul><ul><ul><li>User and Party Mangement </li></ul></ul><ul><ul><li>etc. </li></ul></ul>
  9. 11. Introduction to Framework <ul><li>Entity Engine </li></ul><ul><ul><li>How we interact with database </li></ul></ul><ul><li>Service Engine </li></ul><ul><ul><li>How we interact with the system </li></ul></ul><ul><li>Minilang </li></ul><ul><ul><li>XML language for writing business logic </li></ul></ul><ul><li>User Interaction </li></ul><ul><ul><li>Request Mapper </li></ul></ul><ul><ul><li>Screen Widget Thingy </li></ul></ul>
  10. 12. Entity Engine <ul><li>Ofbiz does not do ORM but keeps data relational </li></ul><ul><li>Works for many DBs and can tranperantly use multiple DBs in a single system </li></ul><ul><li>Gives user tools for CRUD operations </li></ul><ul><li>Entity model and seed data written in XML </li></ul>
  11. 13. Entity Model <ul><li><entity entity-name=&quot;Party&quot; </li></ul><ul><li>package-name=&quot;org.ofbiz.party.party&quot; </li></ul><ul><li>title=&quot;Party Entity&quot;> </li></ul><ul><li><field name=&quot;partyId&quot; type=&quot;id-ne&quot;></field> </li></ul><ul><li><field name=&quot;partyTypeId&quot; type=&quot;id-ne&quot;></field> </li></ul><ul><li>... </li></ul><ul><li><prim-key field=&quot;partyId&quot;/> </li></ul><ul><li><relation type=&quot;one&quot; fk-name=&quot;PARTY_PTY_TYP&quot; rel-entity-name=&quot;PartyType&quot;> </li></ul><ul><li><key-map field-name=&quot;partyTypeId&quot;/> </li></ul><ul><li></relation> </li></ul><ul><li><relation type=&quot;one&quot; fk-name=&quot;PARTY_CUL&quot; title=&quot;CreatedBy&quot; rel-entity-name=&quot;UserLogin&quot;> </li></ul><ul><li><key-map field-name=&quot;createdByUserLogin&quot; rel-field-name=&quot;userLoginId&quot;/> </li></ul><ul><li></relation> </li></ul><ul><li>... </li></ul><ul><li><index name=&quot;PARTYEXT_ID_IDX&quot;> </li></ul><ul><li><index-field name=&quot;externalId&quot;/> </li></ul><ul><li></index> </li></ul><ul><li></entity> </li></ul>
  12. 14. Seed Data <ul><li><entity-engine-xml> </li></ul><ul><li><AgreementItemType agreementItemTypeId=&quot;SUBAGREEMENT&quot; description=&quot;Sub-Agreement&quot; hasTable=&quot;N&quot; parentTypeId=&quot;&quot;/> </li></ul><ul><li>... </li></ul><ul><li></entity-engine> </li></ul>
  13. 15. Service Engine <ul><li>Can be written in: </li></ul><ul><ul><li>Java </li></ul></ul><ul><ul><li>Beanshell </li></ul></ul><ul><ul><li>Minilang </li></ul></ul><ul><ul><li>Anything you want with customised handler </li></ul></ul><ul><li>Have ECA </li></ul><ul><li>Transactional </li></ul><ul><li>Synchronous, Asynchronous and Schedualed </li></ul>
  14. 16. Integration <ul><li>All the parts of the framework work well with each other i.e. </li></ul><ul><ul><li>Entity Created </li></ul></ul><ul><ul><li>CRUD Services created based on Entity </li></ul></ul><ul><ul><li>Form created based on Entity </li></ul></ul><ul><li>All elements can be written in XML but are extendable </li></ul>
  15. 17. Introduction to Data Model <ul><li>Based on book “The Data Model Resource Book” by Len Silverston </li></ul><ul><li>Highly flexable and comprehensive with over 700 tables in default install </li></ul><ul><li>What we really loved about the system </li></ul>
  16. 18. Is it for me? <ul><li>Ramp up time </li></ul><ul><li>Support and training </li></ul><ul><li>Problem domain relates to Ofbiz </li></ul><ul><li>Is technology sexy? </li></ul>
  17. 19. Happy Hacking <ul><li>Have a look at www.ofbiz.org for tutorials and videos </li></ul><ul><li>Search and email the mailing lists </li></ul><ul><li>Contact me guy@cyber.com.au </li></ul>

×