Apache OFBiz: Real-World Open Source Java Platform ERP

25
2007 JavaOne SM Conference | Session XXXX | TS-7900 Apache OFBiz: Real-World Open Source Java Platform ERP Ean Schuessler Open for Business Project, Apache Foundation http://ofbiz.apache.org

Transcript of Apache OFBiz: Real-World Open Source Java Platform ERP

Page 1: Apache OFBiz: Real-World Open Source Java Platform ERP

2007 JavaOneSM Conference | Session XXXX |

TS-7900

Apache OFBiz: Real-World Open Source Java Platform ERP

–Ean Schuessler

–Open for Business Project, Apache Foundationhttp://ofbiz.apache.org

Page 2: Apache OFBiz: Real-World Open Source Java Platform ERP

2007 JavaOneSM Conference | Session XXXX | 2

Apache OFBiz

A quick tour of OFBiz and its features so that you can try it in your own business.

Manage your business with Free Software

Page 3: Apache OFBiz: Real-World Open Source Java Platform ERP

2007 JavaOneSM Conference | Session XXXX | 3

Agenda

What is OFBiz?Getting started.Using the software.Technical overview.Its about Community.

Page 4: Apache OFBiz: Real-World Open Source Java Platform ERP

2007 JavaOneSM Conference | Session XXXX | 4

Agenda

What is OFBiz?Getting started.Using the software.Technical overview.Its about Community.

Page 5: Apache OFBiz: Real-World Open Source Java Platform ERP

2007 JavaOneSM Conference | Session XXXX | 5

What is OFBiz?● OFBiz provides turn-key software for managing

the operation of a business.● OFBiz is also a library of pre-made processes

and data structures that can be used as a kit for building customer business software without starting from scratch.

● OFBiz is Free Software written for the Java VM.

Page 6: Apache OFBiz: Real-World Open Source Java Platform ERP

2007 JavaOneSM Conference | Session XXXX | 6

OFBiz Features● Advanced e-commerce (integrated catalog, smart

pricing, order and sales management)● Warehouse management and fulfillment (auto stock

moves, batched pick, pack & ship)● Manufacturing (manufacturing, events, tasks, etc.)● Accounting (invoice, payment & billing accounts, fixed

assets)● Customer relationship management (Sales force

automation)● Content management (product content and reviews,

documents, blogging, forums, etc)

Page 7: Apache OFBiz: Real-World Open Source Java Platform ERP

2007 JavaOneSM Conference | Session XXXX | 7

A Short History of OFBiz

● Conceived May 13th, 2001● First 6 Months: identified universal data model

and basic platform objectives● Next 3 Years: community building, iterative

development and refinement of framework● Apache Top Level Project in December 2006● Recent Years: extensive improvement and

refactoring and improvement of base enterprise application.

Page 8: Apache OFBiz: Real-World Open Source Java Platform ERP

2007 JavaOneSM Conference | Session XXXX | 8

Agenda

What is OFBiz?Getting started.Using the software.Technical overview.Its about Community.

Page 9: Apache OFBiz: Real-World Open Source Java Platform ERP

2007 JavaOneSM Conference | Session XXXX | 9

A Quick Start

● Pull down the latest from SVN, build and run$ svn co http://svn.apache.org/repos/asf/ofbiz/trunk ofbiz... checkout messages ...

$ ./ant run-install... build messages ...

$ ./start-ofbiz.sh... startup messages ...

● This will give a base install running on an embedded Derby database and web services listening on port 8080.

Page 10: Apache OFBiz: Real-World Open Source Java Platform ERP

2007 JavaOneSM Conference | Session XXXX | 10

Agenda

What is OFBiz?Getting started.Using the software.Technical overview.Its about Community.

Page 11: Apache OFBiz: Real-World Open Source Java Platform ERP

2007 JavaOneSM Conference | Session XXXX | 11

http://localhost:8080/ecommerce

OFBiz provides all the functionality you expect in a shopping cart.

Customers can ship orders to multiple destinations in one shopping session, create or use gift cards.

Products and prices can be configured to appear on specific dates.

Many, many other features.

Page 12: Apache OFBiz: Real-World Open Source Java Platform ERP

2007 JavaOneSM Conference | Session XXXX | 12

Configurable products

This sample product is a configurable PC. The user can specify a variety of options on the product.

Configuration of the options impacts the final sale price based on the components included.

Configurable products can drive complex pricing schemes that even include labor costs.

Page 13: Apache OFBiz: Real-World Open Source Java Platform ERP

2007 JavaOneSM Conference | Session XXXX | 13

Demo

Page 14: Apache OFBiz: Real-World Open Source Java Platform ERP

2007 JavaOneSM Conference | Session XXXX | 14

Agenda

What is OFBiz?Getting started.Using the software.Technical overview.Its about Community.

Page 15: Apache OFBiz: Real-World Open Source Java Platform ERP

2007 JavaOneSM Conference | Session XXXX | 15

Technical Overview● The Entity Engine

● OFBiz apps work with relational data.● The Entity Engine interface is similar to JDBC result

sets but is more powerful.● Entity Engine queries are database independent. The

application is completely portable.● A caching infrastructure accelerates lookups. Caching

behavior can be tuned for each individual data structure.

Page 16: Apache OFBiz: Real-World Open Source Java Platform ERP

2007 JavaOneSM Conference | Session XXXX | 16

Entity EngineOrderHeader

In Java:

GenericValue order = delegator.findByPrimaryKey(“OrderHeader”,UtilMisc.toMap(“orderId”, myOrderId));

List billingCustomers =order.getRelatedByAnd(“OrderRole”,UtilMisc.toMap(“roleTypeId”, “SHIP_TO_CUSTOMER”));

orderId

orderTypeId

orderDate

entryDate

statusId

etc...

OrderRole

orderId

roleTypeId

partyId

etc...

Page 17: Apache OFBiz: Real-World Open Source Java Platform ERP

2007 JavaOneSM Conference | Session XXXX | 17

Technical Overview● The Service Engine

● All OFBiz functions are accessed through a single library of named services, as opposed to classes.

● Services can be written in any BSF (Bean Scripting Framework) language, even procedural languages.

● Services can be delegated to other machines via SOAP or even message passing (ie. JMS).

Page 18: Apache OFBiz: Real-World Open Source Java Platform ERP

2007 JavaOneSM Conference | Session XXXX | 18

Service Engine: An Example Service

<service name="quickShipEntireOrder" engine="simple" auth="true" location="org/ofbiz/shipment/shipment/ShipmentServices.xml"

invoke="quickShipEntireOrder"> <description>Quick Ships An Entire Order Creating One Shipment Per

Facility and Ship Group. All approved order items are automatically issued in full and put into one package. The shipment is created in the INPUT status and then updated to PACKED and SHIPPED.

</description> <attribute name="orderId" type="String" mode="IN" optional="false"/> <attribute name="originFacilityId" type="String" mode="IN"

optional="true"/> <attribute name="setPackedOnly" type="String" mode="IN"

optional="true"/> <attribute name="shipmentShipGroupFacilityList" type="List" mode="OUT"

optional="false"/></service>

Page 19: Apache OFBiz: Real-World Open Source Java Platform ERP

2007 JavaOneSM Conference | Session XXXX | 19

Service Entity Condition Actions

● Service entity condition actions allow “AOP like” triggering of other orthogonal services when some system service is called.

<!-- if new statusId of a SALES_SHIPMENT is SHIPMENT_PACKED, create invoice -->

<eca service="updateShipment" event="commit"> <condition-field field-name="statusId" operator="not-equals" to-field-

name="oldStatusId"/> <condition field-name="statusId" operator="equals"

value="SHIPMENT_PACKED"/> <condition field-name="shipmentTypeId" operator="equals"

value="SALES_SHIPMENT"/> <action service="createInvoicesFromShipment" mode="sync"/></eca>

Page 20: Apache OFBiz: Real-World Open Source Java Platform ERP

2007 JavaOneSM Conference | Session XXXX | 20

Agenda

What is OFBiz?A quick start.Technical overview.Community is critical.

Page 21: Apache OFBiz: Real-World Open Source Java Platform ERP

2007 JavaOneSM Conference | Session XXXX | 21

Agenda

What is OFBiz?A quick start.Technical overview.Customized applications.Community is critical.

Page 22: Apache OFBiz: Real-World Open Source Java Platform ERP

2007 JavaOneSM Conference | Session XXXX | 22

Community is Critical

● Software is a unique way to share successful business practices.

● Management through the Apache Foundation ensures that there are not conflicting business interests.

● Apache is a stable and proven organization that businesses can safely trust in the long term.

Page 23: Apache OFBiz: Real-World Open Source Java Platform ERP

2007 JavaOneSM Conference | Session XXXX | 23

Community is Critical

● Most programmers work for companies that do not produce commercial software.

● If business programmers share common infrastructures (ie. accounting) then more energy can be devoted to writing code that improves their specific business.

● By sharing code, small to medium size businesses can afford the kinds of custom software that is usually for large companies.

Page 24: Apache OFBiz: Real-World Open Source Java Platform ERP

2007 JavaOneSM Conference | Session XXXX | 24

Q&A

Page 25: Apache OFBiz: Real-World Open Source Java Platform ERP

2007 JavaOneSM Conference | Session XXXX | 25

For More Information

● http://ofbiz.apache.org● [email protected]