Ofbiz Nutshell

Embed Size (px)

DESCRIPTION

o

Citation preview

  • 5/20/2018 Ofbiz Nutshell

    1/35

    Open For Business in a NutshellOpen Source Foundations for Enterprise Applications

    Si Chen

    Open Source Strategies, Inc.

  • 5/20/2018 Ofbiz Nutshell

    2/35

    Open Source Project for Enterprise

    Applications (ERP/CRM/MRP)

    Applications Development Framework

    Data Model

    Applications

    What is OFBiz?

    2005 Open Source Strategies, Inc.

  • 5/20/2018 Ofbiz Nutshell

    3/35

    www.ofbiz.org

    Began in 2001

    International Developer Community C

    Enterprise-Class Features

    More about OFBiz

    2005 Open Source Strategies, Inc.

  • 5/20/2018 Ofbiz Nutshell

    4/35

    Is OFBiz for me?

    Applications & Capabilities

    Underlying Technologies

    Developing and Deploying OFBiz

    Presentation Outline

    2005 Open Source Strategies, Inc.

  • 5/20/2018 Ofbiz Nutshell

    5/35

    Accounting Inventory &

    Warehouse

    Customer

    Service

    Product

    Catalogs

    eCommerce

    Content

    Mgmt

    Manufacturing Marketing Order Entry Point Of

    Sales

    OFBiz Applications

    2005 Open Source Strategies, Inc.

  • 5/20/2018 Ofbiz Nutshell

    6/35

    Products and Stores

    Product Store WebsitePOS

    Catalogs

    Categories

    Products

    Product Variants

    Product Features

    2005 Open Source Strategies, Inc.

  • 5/20/2018 Ofbiz Nutshell

    7/35

    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.

  • 5/20/2018 Ofbiz Nutshell

    8/35

    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.

  • 5/20/2018 Ofbiz Nutshell

    9/35

    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.

  • 5/20/2018 Ofbiz Nutshell

    10/35

    Point Of Sales (POS)

    Based on JavaPOS

    Independent POS station

    Web-enabled synchronization with store and

    corporate servers

    2005 Open Source Strategies, Inc.

  • 5/20/2018 Ofbiz Nutshell

    11/35

    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.

  • 5/20/2018 Ofbiz Nutshell

    12/35

    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.

  • 5/20/2018 Ofbiz Nutshell

    13/35

    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.

  • 5/20/2018 Ofbiz Nutshell

    14/35

    In the Beginning...

    OFBiz (~ 2002)

    JSP

    Decorator

    Pattern

    ControllerEvents

    Servlet

    Helper

    Class

    Delegator/

    Entity

    Engine

    DB

    2005 Open Source Strategies, Inc.

    Followed Core J2EE Patternsbook

    Lots of repetitive code in Events and Helpers

  • 5/20/2018 Ofbiz Nutshell

    15/35

    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

  • 5/20/2018 Ofbiz Nutshell

    16/35

    Architectural Comparison: PHP/Perl

    DatabaseUser

    $x = $_POST[X];

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

    person[firstName] = ...;

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

    echo ...;

    2005 Open Source Strategies, Inc.

  • 5/20/2018 Ofbiz Nutshell

    17/35

    Architectural Comparison: Java

    User Database

    Business TierObjects

    Servlet Class Persistence

    Class

    2005 Open Source Strategies, Inc.

  • 5/20/2018 Ofbiz Nutshell

    18/35

    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

    Workflow

    SECA

    XPDL

    User

    Database

    2005 Open Source Strategies, Inc.

  • 5/20/2018 Ofbiz Nutshell

    19/35

    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.

  • 5/20/2018 Ofbiz Nutshell

    20/35

    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.

  • 5/20/2018 Ofbiz Nutshell

    21/35

    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.

  • 5/20/2018 Ofbiz Nutshell

    22/35

    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.

  • 5/20/2018 Ofbiz Nutshell

    23/35

    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.

  • 5/20/2018 Ofbiz Nutshell

    24/35

    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.

  • 5/20/2018 Ofbiz Nutshell

    25/35

    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.

  • 5/20/2018 Ofbiz Nutshell

    26/35

    Developing with OFBiz

    Data Model Entities

    Business Logic Services

    SECAs

    Workflow

    User Interface FTL

    Form Widget

    Screen Widget

    Controller

    2005 Open Source Strategies, Inc.

  • 5/20/2018 Ofbiz Nutshell

    27/35

    Developing Efficiently with OFBiz

    2005 Open Source Strategies, Inc.

    Use existing data model, business logic

    Use services

    Prototype with beanshell

  • 5/20/2018 Ofbiz Nutshell

    28/35

    Deployment Possibilities

    Single Instance

    Tomcat Jetty Apache

    OFBiz

    DB

    OS

    2005 Open Source Strategies, Inc.

  • 5/20/2018 Ofbiz Nutshell

    29/35

    Deployment Possibilities

    Failover

    synch

    2005 Open Source Strategies, Inc.

  • 5/20/2018 Ofbiz Nutshell

    30/35

    Deployment Possibilities

    Load Balancing

    OFBiz

    ApacheApache

    DB DB

    2005 Open Source Strategies, Inc.

  • 5/20/2018 Ofbiz Nutshell

    31/35

    Deployment Possibilities

    Multi-Store

    corporatePOS

    POSPOS web

    web

    2005 Open Source Strategies, Inc.

    Built-in synch allows scaling out or up

  • 5/20/2018 Ofbiz Nutshell

    32/35

    Flexible

    Scalable

    Strong development model

    Growing community

    Why We Chose OFBiz

    2005 Open Source Strategies, Inc.

  • 5/20/2018 Ofbiz Nutshell

    33/35

    Try it out

    Developers' InstallFests

    Read the tutorials

    Next Step

    2005 Open Source Strategies, Inc.

    www.opensourcestrategies.com/ofbiz

  • 5/20/2018 Ofbiz Nutshell

    34/35

    OFBiz SoCal

    Developers

    Service ProvidersUsers

    2005 Open Source Strategies, Inc.

  • 5/20/2018 Ofbiz Nutshell

    35/35

    Logos properties of their respective owners freeimages.co.uk

    2005 Open Source Strategies, Inc.

    Bringing Open Source to the Enterprise