Your SlideShare is downloading. ×
0
OSDC 2008 Talk Implementing a Custom B2B System Using Apache Ofbiz:  Stories from the front line Guy Gershoni [email_addre...
Outline <ul><ul><li>Our situation </li></ul></ul><ul><ul><li>What is Ofbiz </li></ul></ul><ul><ul><li>Our Development Jour...
Our Situation <ul><li>Client required B2B E-commerce solution </li></ul><ul><ul><li>Small number of users (around 4000) </...
Our Situation (cont) <ul><li>Constrains </li></ul><ul><ul><li>Small budget </li></ul></ul><ul><ul><li>Small development te...
Our Situation (cont) <ul><li>We decided to give Ofbiz a go because: </li></ul><ul><ul><li>Cost </li></ul></ul><ul><ul><ul>...
What is Ofbiz - Overview <ul><li>Ofbiz = Open For Business </li></ul><ul><ul><li>Enterprise Automation Software </li></ul>...
What is Ofbiz – The Inspiration (Code)
What is Ofbiz – The Inspiration (Data Model)
What is Ofbiz - Technologies <ul><li>Written in Java BUT logic can be written in  </li></ul><ul><ul><li>Beanshell, Groovy ...
What is Ofbiz – Framework AND Applications +
What is Ofbiz - Framework <ul><li>Framework Elements (some) </li></ul><ul><ul><li>Entity Engine (so good!!!) </li></ul></u...
What is Ofbiz – Framework (cont)  <ul><li>Framework Integration </li></ul><ul><ul><li>Integration of third party tools for...
What is Ofbiz – Framework: Entity Engine <ul><li>Ofbiz does not do ORM but keeps data relational </li></ul><ul><li>Works f...
What is Ofbiz – Framework: Entity Engine - Entity Model <ul><li><entity entity-name=&quot;Party&quot; </li></ul><ul><li>pa...
What is Ofbiz – Framework: Entity Engine - Seed Data <ul><li><entity-engine-xml> </li></ul><ul><li><AgreementItemType agre...
What is Ofbiz – Framework: Entity Engine – Data Model <ul><li>Implementation of “The Data Model Resource Book” by Len Silv...
What is Ofbiz – Framework: Entity Reference Tool
What is Ofbiz – Framework: Service Engine <ul><li>Can be written in: </li></ul><ul><ul><li>Java, Jython, Beanshell/Groovy ...
What is Ofbiz – Framework: Service Reference Tool
What is Ofbiz – Framework: Integration <ul><li>All the parts of the framework work well with each other i.e. </li></ul><ul...
What is Ofbiz – Applications (Marketing Speak) <ul><li>Open source enterprise automation software project i.e. </li></ul><...
What is Ofbiz – Applications (What You See) <ul><li>Applications </li></ul><ul><ul><li>E-commerce </li></ul></ul><ul><ul><...
What is Ofbiz – Applications: Accounting App
What is Ofbiz – Applications: Ecommerce App
Our Development Journey <ul><li>Requirements Gathering </li></ul><ul><ul><li>What does the client want </li></ul></ul><ul>...
Our Development Journey (cont) <ul><li>Exporting Data </li></ul><ul><ul><li>Orders to existing ERP </li></ul></ul><ul><ul>...
Our Development Journey (cont) <ul><li>Creating own Application </li></ul><ul><ul><li>Originally created own Accounting ap...
Our Development Journey (cont) <ul><li>Recruiting Talent </li></ul><ul><ul><li>Not many Ofbiz experts around </li></ul></u...
Conclusion: Is it for me? <ul><li>Ramp up time </li></ul><ul><li>Support and training </li></ul><ul><li>Problem domain rel...
Conclusion: Is it for me? (cont) <ul><li>Alternatives </li></ul><ul><ul><li>Ofbiz based: </li></ul></ul><ul><ul><ul><li>Op...
Conclusion: Happy Hacking <ul><li>Docs </li></ul><ul><ul><li>Website </li></ul></ul><ul><ul><ul><li>http://ofbiz.apache.or...
Conclusion: Happy Hacking (cont) <ul><li>Videos </li></ul><ul><ul><li>Framework videos </li></ul></ul><ul><ul><ul><li>http...
Questions?
Upcoming SlideShare
Loading in...5
×

OSDC 2008 Apache Ofbiz Talk

2,135

Published on

Implementing a Custom B2B System Using Apache Ofbiz: Stories from the front line

Published in: Technology, Education
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,135
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
164
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide
  • Theme created by Sakari Koivunen and Henrik Omma Released under the LGPL license.
  • Transcript of "OSDC 2008 Apache Ofbiz Talk"

    1. 1. OSDC 2008 Talk Implementing a Custom B2B System Using Apache Ofbiz: Stories from the front line Guy Gershoni [email_address] http://www.conchus.com/
    2. 2. Outline <ul><ul><li>Our situation </li></ul></ul><ul><ul><li>What is Ofbiz </li></ul></ul><ul><ul><li>Our Development Journey </li></ul></ul><ul><ul><li>Conclusion </li></ul></ul>
    3. 3. Our Situation <ul><li>Client required B2B E-commerce solution </li></ul><ul><ul><li>Small number of users (around 4000) </li></ul></ul><ul><ul><li>Huge range of products (around 100,000) </li></ul></ul><ul><ul><li>Complex and large orders ($ 10,000 + not unusual) </li></ul></ul><ul><ul><li>System to be expanded to act as portal to: </li></ul></ul><ul><ul><ul><li>information stored on ERP </li></ul></ul></ul><ul><ul><ul><li>access custom business processes (which we had to implement :-) ) </li></ul></ul></ul>
    4. 4. Our Situation (cont) <ul><li>Constrains </li></ul><ul><ul><li>Small budget </li></ul></ul><ul><ul><li>Small development team </li></ul></ul><ul><ul><li>Pressure to release functioning system early </li></ul></ul><ul><ul><li>Vague and fluid requirements </li></ul></ul>
    5. 5. Our Situation (cont) <ul><li>We decided to give Ofbiz a go because: </li></ul><ul><ul><li>Cost </li></ul></ul><ul><ul><ul><li>$0 to buy and after contacting one of the authors relatively cheap support if we got into trouble. </li></ul></ul></ul><ul><ul><li>OOTB (Out of the Box) functionality provided </li></ul></ul><ul><ul><ul><li>E-commerce and Order Management was there </li></ul></ul></ul><ul><ul><li>Good quality code build from the data model up </li></ul></ul><ul><ul><ul><li>We felt confident the applications and frameworks would grow nicely as our system evolved </li></ul></ul></ul>
    6. 6. What is Ofbiz - Overview <ul><li>Ofbiz = Open For Business </li></ul><ul><ul><li>Enterprise Automation Software </li></ul></ul><ul><li>Part of Apache: http://ofbiz.apache.org/ </li></ul><ul><li>Started in 2001 </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>Apache License Version 2.0 </li></ul><ul><li>Framework AND Applications </li></ul>
    7. 7. What is Ofbiz – The Inspiration (Code)
    8. 8. What is Ofbiz – The Inspiration (Data Model)
    9. 9. What is Ofbiz - Technologies <ul><li>Written in Java BUT logic can be written in </li></ul><ul><ul><li>Beanshell, Groovy </li></ul></ul><ul><ul><li>Jython </li></ul></ul><ul><ul><li>Ofbiz XML language called Minilang </li></ul></ul><ul><li>Is a set of Java web application so sits happily in any Java Web or Application Container </li></ul><ul><li>Composed of two sections </li></ul><ul><ul><li>Framework </li></ul></ul><ul><ul><li>Applications </li></ul></ul>
    10. 10. What is Ofbiz – Framework AND Applications +
    11. 11. What is Ofbiz - Framework <ul><li>Framework Elements (some) </li></ul><ul><ul><li>Entity Engine (so good!!!) </li></ul></ul><ul><ul><ul><li>How we interact with database </li></ul></ul></ul><ul><ul><li>Service Engine </li></ul></ul><ul><ul><ul><li>How we interact with the system </li></ul></ul></ul><ul><ul><li>User Interaction </li></ul></ul><ul><ul><ul><li>Request Mapper </li></ul></ul></ul><ul><ul><ul><li>Screen Widget Thingy </li></ul></ul></ul><ul><ul><ul><li>XML form generation </li></ul></ul></ul>
    12. 12. What is Ofbiz – Framework (cont) <ul><li>Framework Integration </li></ul><ul><ul><li>Integration of third party tools for: </li></ul></ul><ul><ul><ul><li>Reporting (Jasper and FOP) </li></ul></ul></ul><ul><ul><ul><li>Workflow (Shark)... deprecated </li></ul></ul></ul><ul><ul><li>IO tools for reading and writing </li></ul></ul><ul><ul><ul><li>CSV files </li></ul></ul></ul><ul><ul><ul><li>Fixed width files (was very useful) </li></ul></ul></ul><ul><li>Framework Tools </li></ul><ul><ul><li>For traversing and managing framework elements. </li></ul></ul>
    13. 13. What is Ofbiz – Framework: Entity Engine <ul><li>Ofbiz does not do ORM but keeps data relational </li></ul><ul><li>Works for many DBs and can transparently use multiple DBs in a single system </li></ul><ul><ul><li>Also supports replication at the framework level!!! </li></ul></ul><ul><li>Gives user tools for CRUD operations </li></ul><ul><li>Entity model and seed data written in XML </li></ul>
    14. 14. What is Ofbiz – Framework: Entity Engine - 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>
    15. 15. What is Ofbiz – Framework: Entity Engine - 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>
    16. 16. What is Ofbiz – Framework: Entity Engine – Data Model <ul><li>Implementation of “The Data Model Resource Book” by Len Silverston </li></ul><ul><li>Highly flexible and comprehensive with over 700 tables and useful seed data in default install </li></ul><ul><li>What we really loved about the system </li></ul>
    17. 17. What is Ofbiz – Framework: Entity Reference Tool
    18. 18. What is Ofbiz – Framework: Service Engine <ul><li>Can be written in: </li></ul><ul><ul><li>Java, Jython, Beanshell/Groovy </li></ul></ul><ul><ul><li>Minilang (Ofbiz XML language) </li></ul></ul><ul><ul><li>Anything you want with customised handler </li></ul></ul><ul><li>Filtering of data coming in/out of service </li></ul><ul><li>Have ECA (Event Condition Action) </li></ul><ul><li>Transactional </li></ul><ul><li>Synchronous, Asynchronous and Scheduled </li></ul>
    19. 19. What is Ofbiz – Framework: Service Reference Tool
    20. 20. What is Ofbiz – Framework: 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>
    21. 21. What is Ofbiz – Applications (Marketing Speak) <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>
    22. 22. What is Ofbiz – Applications (What You See) <ul><li>Applications </li></ul><ul><ul><li>E-commerce </li></ul></ul><ul><ul><li>Product Management </li></ul></ul><ul><ul><li>Price Management </li></ul></ul><ul><ul><li>User and Party Mangement </li></ul></ul><ul><ul><li>Workeffort Application </li></ul></ul><ul><ul><li>Accounting Application </li></ul></ul><ul><ul><li>etc. </li></ul></ul>
    23. 23. What is Ofbiz – Applications: Accounting App
    24. 24. What is Ofbiz – Applications: Ecommerce App
    25. 25. Our Development Journey <ul><li>Requirements Gathering </li></ul><ul><ul><li>What does the client want </li></ul></ul><ul><ul><li>What can Ofbiz do </li></ul></ul><ul><ul><ul><li>Exploring Ofbiz processes and data model helped us clarify clients requirements (we were geeks not business analysts) </li></ul></ul></ul><ul><li>Importing Data </li></ul><ul><ul><li>From existing ERP (Fixed width tango) </li></ul></ul><ul><ul><li>From divisions (saved $$$ for client) </li></ul></ul><ul><ul><li>From customers (CSV and MS Excel magic for non-GUI bulk entry) </li></ul></ul>
    26. 26. Our Development Journey (cont) <ul><li>Exporting Data </li></ul><ul><ul><li>Orders to existing ERP </li></ul></ul><ul><ul><li>Generating customer reports, orders and invoices etc (50,000+ pages per month... yes we email most of them now) </li></ul></ul><ul><li>Customisation of Applications </li></ul><ul><ul><li>Work on e-commerce and order managements </li></ul></ul>
    27. 27. Our Development Journey (cont) <ul><li>Creating own Application </li></ul><ul><ul><li>Originally created own Accounting app </li></ul></ul><ul><ul><ul><li>Now Ofbiz has own Accounting app </li></ul></ul></ul><ul><ul><li>Web portal for existing ERP </li></ul></ul><ul><ul><li>Created marketing CMS </li></ul></ul><ul><ul><ul><li>Used Drupal (PHP) </li></ul></ul></ul><ul><ul><ul><li>integrated Ofbiz and Drupal with CAS (Central Authentication Server) </li></ul></ul></ul>
    28. 28. Our Development Journey (cont) <ul><li>Recruiting Talent </li></ul><ul><ul><li>Not many Ofbiz experts around </li></ul></ul><ul><li>Working with Ofbiz developers </li></ul><ul><ul><li>Excellent response time on mailing lists </li></ul></ul><ul><ul><li>Getting code added to trunk... </li></ul></ul>
    29. 29. Conclusion: 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>
    30. 30. Conclusion: Is it for me? (cont) <ul><li>Alternatives </li></ul><ul><ul><li>Ofbiz based: </li></ul></ul><ul><ul><ul><li>Opentaps http://www.opentaps.org/ </li></ul></ul></ul><ul><ul><ul><li>Neogia http://www.neogia.org/ </li></ul></ul></ul><ul><ul><li>Java based: </li></ul></ul><ul><ul><ul><li>Compiere http://www.compiere.com/ </li></ul></ul></ul>
    31. 31. Conclusion: Happy Hacking <ul><li>Docs </li></ul><ul><ul><li>Website </li></ul></ul><ul><ul><ul><li>http://ofbiz.apache.org </li></ul></ul></ul><ul><ul><ul><li>http://docs.ofbiz.org/display/OFBADMIN/OFBiz+Documentation+Index </li></ul></ul></ul><ul><ul><li>Related Books </li></ul></ul><ul><ul><ul><li>http://docs.ofbiz.org/display/OFBADMIN/OFBiz+Related+Books </li></ul></ul></ul><ul><ul><li>Book </li></ul></ul><ul><ul><ul><li>http://www.packtpub.com/apache-ofbiz-development-beginners-tutorial/book </li></ul></ul></ul>
    32. 32. Conclusion: Happy Hacking (cont) <ul><li>Videos </li></ul><ul><ul><li>Framework videos </li></ul></ul><ul><ul><ul><li>http://docs.ofbiz.org/display/OFBTECH/Framework+Introduction+Videos+and+Diagrams </li></ul></ul></ul><ul><ul><li>Old conference videos </li></ul></ul><ul><ul><ul><li>http://ofbiz.apache.org/VideosConf.html </li></ul></ul></ul><ul><li>Demo </li></ul><ul><ul><li>https://demo.hotwaxmedia.com/ecommerce </li></ul></ul><ul><ul><li>https://demo.hotwaxmedia.com/webtools </li></ul></ul>
    33. 33. Questions?
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×