ofbiz nutshell

35
Open For Business in a Nutshell Open Source Foundations for Enterprise Applications Si Chen Open Source Strategies, Inc.

Upload: shatanand-pandit

Post on 11-Mar-2015

99 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: Ofbiz Nutshell

Open For Business in a NutshellOpen Source Foundations for Enterprise Applications

Si ChenOpen Source Strategies, Inc.

Page 2: Ofbiz Nutshell

● Open Source Project for Enterprise Applications (ERP/CRM/MRP)

– Applications Development Framework

– Data Model

– Applications

What is OFBiz?

© 2005 Open Source Strategies, Inc.

Page 3: Ofbiz Nutshell

● www.ofbiz.org

● Began in 2001

● International Developer Community C  

● Enterprise­Class Features

More about OFBiz

© 2005 Open Source Strategies, Inc.

Page 4: Ofbiz Nutshell

Is OFBiz for me?

● Applications & Capabilities

● Underlying Technologies

● Developing and Deploying OFBiz

Presentation Outline

© 2005 Open Source Strategies, Inc.

Page 5: Ofbiz Nutshell

Accounting Inventory &

Warehouse

Customer

Service

Product

Catalogs

eCommerce

Content

Mgmt

Manufacturing Marketing Order Entry Point Of

Sales

OFBiz Applications

© 2005 Open Source Strategies, Inc.

Page 6: Ofbiz Nutshell

Products and Stores

Product Store WebsitePOS

Catalogs

Categories

Products

Product Variants

Product Features

© 2005 Open Source Strategies, Inc.

Page 7: Ofbiz Nutshell

eCommerce Highlights

● Multiple stores

● Custom catalogs and pricing

● Price and Promotion Rules

● Associations: upsell/cross­sell/substitution

● Site search and product reviews

© 2005 Open Source Strategies, Inc.

Page 8: Ofbiz Nutshell

Order Manager

● Create and manage orders● Quotes: create quotes, get bids, convert to 

orders● Returns: create, approve, receive returns● Purchasing: multi­vendor, multi­currency

© 2005 Open Source Strategies, Inc.

Page 9: Ofbiz Nutshell

Inventory and Warehouse

● Multiple facilities● Receive inventory

● Track locations

● Serialized vs. non­serialized inventory

● Shipments● Create shipments

● Pick & Pack

● Carrier Integration© 2005 Open Source Strategies, Inc.

Page 10: Ofbiz Nutshell

Point Of Sales (POS)

● Based on JavaPOS

● Independent POS station

● Web­enabled synchronization with store and corporate servers

© 2005 Open Source Strategies, Inc.

Page 11: Ofbiz Nutshell

Other Applications

● Blogs, wikis, surveys in Content

● Billing accounts, payment gateways in Accounting

● Material resource planning in Manufacturing

● Affiliate, PPC campaigns in Marketing

● People and Security in Party Manager

© 2005 Open Source Strategies, Inc.

Page 12: Ofbiz Nutshell

Presentation Business Logic Data

Model­View­Controller

Decorator pattern

Templates vs actions 

Meta­programming

Tomcat, Jetty

Freemarker, FOP

JasperReports

JavaPOS, XUI

beanshell

Service Oriented Architecture

Web Services (SOAP/XML)

Scripting languages

Meta­programming

XML Data Modeling

Persistence

Database Independence

Meta­programming

Axis

BSF

beanshell

JOTM

XAPool

Minerva

Derby

JDBC

FrameworkXerces

Lucene

Log4j

Jakarta Commons

Xalan

ORO

Javolution

POI

The OFBiz Framework

© 2005 Open Source Strategies, Inc.

Page 13: Ofbiz Nutshell

Framework Highlights

● Platform and DB Independent 

● Highly Versatile Development Style

● Plug­In Architecture: add new apps easily

● Mutually Aware Tiers

© 2005 Open Source Strategies, Inc.

Page 14: Ofbiz Nutshell

In the Beginning...

OFBiz (~ 2002)

JSP Decorator 

Pattern

ControllerEvents Servlet

Helper Class

Delegator/Entity Engine

DB

© 2005 Open Source Strategies, Inc.

● Followed Core J2EE Patterns book

● Lots of repetitive code in Events and Helpers

Page 15: Ofbiz Nutshell

OFBiz Architecture Today

JSP Decorator 

Pattern

OFBiz Today (2005)

Screen Widgets Controller

Entity Engine

Service Engine

Services Entity Engine

© 2005 Open Source Strategies, Inc.

Entity Engine

● Much better code re­use with Service Oriented Architecture

Page 16: Ofbiz Nutshell

Architectural Comparison: PHP/Perl

DatabaseUser

$x = $_POST[“X”];

SELECT ... FROM ... WHERE ...;

person[“firstName”] = ...;

UPDATE ... SET ... WHERE ....;

echo “<TABLE><TR><TD>...”;

© 2005 Open Source Strategies, Inc.

Page 17: Ofbiz Nutshell

Architectural Comparison: Java

User Database

Business Tier 

Objects

Servlet Class Persistence 

Class

© 2005 Open Source Strategies, Inc.

Page 18: Ofbiz Nutshell

Architectural Comparison: OFBiz

Services

generic screens 

generic forms

HTML, XSL:FO, XUI

controller

generic business logic

define in XML

Java, scripting languages

SOAP, RMI

Dispatcher API

Screens

Entitiesdata model defined in XML

GenericDelegator API

GenericValue API

Database Independent

WorkflowSECA

XPDL

User

Database

© 2005 Open Source Strategies, Inc.

Page 19: Ofbiz Nutshell

Java Persistence Frameworks

● Model data as classes with fields and accessors

● Map fields from Java to SQL

● Auto­generate Java and SQL code

© 2005 Open Source Strategies, Inc.

Page 20: Ofbiz Nutshell

OFBiz Persistence Framework

Entity: small unit of data model

● Key/value pairs

● Related to other entities

● Declared in XML file

● Found by delegator

● Generic class with get, set, store methods

© 2005 Open Source Strategies, Inc.

Page 21: Ofbiz Nutshell

Using the Entity Engine

● Modeling the Data:● Entitymodel.xml, entitygroup.xml

● Interfacing the Database:● Entityengine.xml, fieldtype.xml, cache properties

● Accessing the Data:● Generic Delegator

● Generic Entity / Generic Value

© 2005 Open Source Strategies, Inc.

Page 22: Ofbiz Nutshell

Business Logic: The Service Engine

● Service: small unit of business logic

● Central clearinghouse of business logic. “API layer”

Service Engine

Entity Engine

Controller

Services

Workflow

Java

Scripts (Jython, BSH, JRuby, simple XML)

SOAP

RMI

Workflow

© 2005 Open Source Strategies, Inc.

Page 23: Ofbiz Nutshell

Service Engine Highlights

● Defined in services.xml

● Accessed via Generic Dispatcher

● Map in, Map out

● Built­in transactions

● Exception handling using Map fields

© 2005 Open Source Strategies, Inc.

Page 24: Ofbiz Nutshell

Services Maximize Code Reuse

● Linked together in SECA or XPDL workflow

● Directly plugs into controller: no parsing needed

● Automated form generation

© 2005 Open Source Strategies, Inc.

Page 25: Ofbiz Nutshell

Presentation Layer

View

JSP

Freemarker/ Beanshell/  JPublish

Screen/Form/Menu/Widgets

Controller

Handlers

Requests

Views     

Model

Events & Helpers

Services     

Servlets

© 2005 Open Source Strategies, Inc.

Page 26: Ofbiz Nutshell

Developing with OFBiz

Data Model Entities

Business Logic Services SECAs Workflow

User Interface FTL           Form Widget Screen Widget Controller

© 2005 Open Source Strategies, Inc.

Page 27: Ofbiz Nutshell

Developing Efficiently with OFBiz

© 2005 Open Source Strategies, Inc.

● Use existing data model, business logic

● Use services 

● Prototype with beanshell

Page 28: Ofbiz Nutshell

Deployment Possibilities

Single Instance

Tomcat Jetty Apache

OFBiz

DB

OS

© 2005 Open Source Strategies, Inc.

Page 29: Ofbiz Nutshell

Deployment Possibilities

Failover

synch

© 2005 Open Source Strategies, Inc.

Page 30: Ofbiz Nutshell

Deployment Possibilities

Load Balancing

OFBiz

ApacheApache

DB DB

© 2005 Open Source Strategies, Inc.

Page 31: Ofbiz Nutshell

Deployment Possibilities

Multi­Store

corporatePOS

POS POS web

web

© 2005 Open Source Strategies, Inc.

● Built­in synch allows scaling out or up

Page 32: Ofbiz Nutshell

● Flexible

● Scalable

● Strong development model

● Growing community

Why We Chose OFBiz

© 2005 Open Source Strategies, Inc.

Page 33: Ofbiz Nutshell

● Try it out

● Developers' InstallFests

● Read the tutorials

Next Step

© 2005 Open Source Strategies, Inc.

www.opensourcestrategies.com/ofbiz

Page 34: Ofbiz Nutshell

OFBiz SoCal

Developers

Service ProvidersUsers

© 2005 Open Source Strategies, Inc.

Page 35: Ofbiz Nutshell

 

 Logos properties of their respective owners freeimages.co.uk

© 2005 Open Source Strategies, Inc.

Bringing Open Source to the Enterprise