ofbiz nutshell
DESCRIPTION
oTRANSCRIPT
-
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