Ofbiz Guy Gershoni 20060621

19
Ofbiz Guy Gershoni An introduction and reflections about the Ofbiz framework.

description

 

Transcript of Ofbiz Guy Gershoni 20060621

Page 1: Ofbiz Guy Gershoni 20060621

Ofbiz

Guy Gershoni

An introduction and reflections about the Ofbiz framework.

Page 2: Ofbiz Guy Gershoni 20060621

Outline

● Introduction to Ofbiz

● Introduction to Framework

● Introduction to Data Model

● Is it for me?

Page 3: Ofbiz Guy Gershoni 20060621

Introduction to Ofbiz

● Overview● What is Ofbiz?● What is under the hood?● Overview of Framework● Overview of Applications

Page 4: Ofbiz Guy Gershoni 20060621

Overview

● Ofbiz = Open For Business● www.ofbiz.org● Started in 2001 (I think)● Founders

David E. Jones [email protected] Andy Zeneski [email protected]

● MIT License moving to Apache● Currently in Apache Incubator

http://incubator.apache.org/projects/ofbiz.html

Page 5: Ofbiz Guy Gershoni 20060621

What is Ofbiz?

● Open source enterprise automation software project i.e. Open Source ERP Open Source CRM Open Source E-Business / E-Commerce Open Source SCM (Supply Chain

Management) etc.

Page 6: Ofbiz Guy Gershoni 20060621

What is under the hood?

● All written in Java (1.4)● Sits happily in any Web Container i.e.

Tomcat or Jetty● Composed of two sections

Framework Applications

Page 7: Ofbiz Guy Gershoni 20060621

Framework - Overview

● Framework Service Engine Entity Engine Request Manager Screen Manager Integration of third party tools for:

● Reporting● Workflow● etc.

Page 8: Ofbiz Guy Gershoni 20060621

Applications - Overview

● Applications E-commerce Product Mangement Price Management User and Party Mangement etc.

Page 9: Ofbiz Guy Gershoni 20060621
Page 10: Ofbiz Guy Gershoni 20060621
Page 11: Ofbiz Guy Gershoni 20060621

Introduction to Framework

● Entity Engine How we interact with database

● Service Engine How we interact with the system

● Minilang XML language for writing business logic

● User Interaction Request Mapper Screen Widget Thingy

Page 12: Ofbiz Guy Gershoni 20060621

Entity Engine

● Ofbiz does not do ORM but keeps data relational

● Works for many DBs and can tranperantly use multiple DBs in a single system

● Gives user tools for CRUD operations● Entity model and seed data written in

XML

Page 13: Ofbiz Guy Gershoni 20060621

Entity Model<entity entity-name="Party"

package-name="org.ofbiz.party.party"

title="Party Entity">

<field name="partyId" type="id-ne"></field>

<field name="partyTypeId" type="id-ne"></field>

...

<prim-key field="partyId"/>

<relation type="one" fk-name="PARTY_PTY_TYP" rel-entity-name="PartyType">

<key-map field-name="partyTypeId"/>

</relation>

<relation type="one" fk-name="PARTY_CUL" title="CreatedBy" rel-entity-name="UserLogin">

<key-map field-name="createdByUserLogin" rel-field-name="userLoginId"/>

</relation>

...

<index name="PARTYEXT_ID_IDX">

<index-field name="externalId"/>

</index>

</entity>

Page 14: Ofbiz Guy Gershoni 20060621

Seed Data

<entity-engine-xml>

<AgreementItemType agreementItemTypeId="SUBAGREEMENT" description="Sub-Agreement" hasTable="N" parentTypeId=""/>

...

</entity-engine>

Page 15: Ofbiz Guy Gershoni 20060621

Service Engine

● Can be written in: Java Beanshell Minilang Anything you want with customised handler

● Have ECA● Transactional● Synchronous, Asynchronous and

Schedualed

Page 16: Ofbiz Guy Gershoni 20060621

Integration

● All the parts of the framework work well with each other i.e. Entity Created CRUD Services created based on Entity Form created based on Entity

● All elements can be written in XML but are extendable

Page 17: Ofbiz Guy Gershoni 20060621

Introduction to Data Model

● Based on book “The Data Model Resource Book” by Len Silverston

● Highly flexable and comprehensive with over 700 tables in default install

● What we really loved about the system

Page 18: Ofbiz Guy Gershoni 20060621

Is it for me?

● Ramp up time● Support and training● Problem domain relates to Ofbiz● Is technology sexy?

Page 19: Ofbiz Guy Gershoni 20060621

Happy Hacking

● Have a look at www.ofbiz.org for tutorials and videos

● Search and email the mailing lists● Contact me [email protected]