Ofbiz Guy Gershoni 20060621

1,300 views
1,239 views

Published on

Published in: Business, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,300
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
43
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Theme created by Sakari Koivunen and Henrik Omma Released under the LGPL license.
  • 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>

    ×