OFBiz Advanced Framework Training Outline
Written By: David E. Jones
Founders and Lead Architects: David E. Jones & Andy Zeneski
Last Updated: January 4th, 2003
- Length: 3 Days
- Cost: $1600
- Also available in a package with the OFBiz Basic Technical Course as a 5
Day Course for $2400.
Day 1: The Webapp Framework & MiniLang
Basic Framework Review
The Webapp Framework
Control Servlet
Requests
Events
Event Context (parameters and
return values)
Event Handlers/Types
simple-method Events
Java Events
Designing a new Event Handler
Responses
Views
View Handlers/Types
Designing a new View Handler
Region Framework
Defining Template Based Regions
Defining Inheritance or Region
Based Regions
Using, or Not Using, Sections
Taglib
URL Tags
Conditional Tags
Flow Control Tags
Data Presentation Tags
Internationalization Tags
Service Engine Tags
Other Tags
MiniLang
simple-map-processor
General Concept
Make In String Operations
Process Field Operations
simple-method
General Concept
Call Operations
Java Call Operations
Control and Error Handling
Operations
Event Specific Operations
Service Specific Operations
Method Environment Operations
Entity Engine Misc. Operations
Entity Engine Find Operations
Entity Engine Value Operations
Entity Engine List Operations
Entity Engine Transaction
Operations
Conditional (If) Operations
Other Operations
Some Examples
Day 2: The Entity and Service Engines
The Entity Engine
Architecture & Design Goals
Database (or datasource)
Agnostic
Dynamic API Behaves According to
Entity Definitions
Minimal Redundancy from Data
Definitions
Uses JDBC and JTA J2EE
Components
Can operate in the same
transaction with EJB and JDO code
Configuration
JTA Setup
Delegators
Datasources
Advanced Entity Definitions
Entities
Fields
Primary Keys
Relationships
View Entity Definitions
Member Entities
Field Aliases
View Links
Relationships
Joins: Inner & Outer
Grouping and Summary Data
The GenericDelegator API
Factory Methods
(GenericDelegator, GenericPK, GenericValue)
Creating, Storing & Removing
Finding
By Primary Key
By “And”
EntityConditions
EntityFieldMap
EntityExpr
EntityConditionList
EntityWhereString
The EntityListIterator
Caching
Theory of Operation
UtilCache & The Webtools
Cache Page
Automatic & Manual Cache
Clearing
The GenericEntity API
GenericPK
GenericValue
Overview of GenericHelper
Interface
The Service Engine
Architecture & Design Goals
Agnostic Service Calls
Implementation Agnostic
Location Agnostic
Synchronicity Support
Parameter Validation
Service “Engines”
The GenericEngine Interface
Overview of Existing Engines
Designing a New Engine
Service Engine Configuration
core/docs/serviceconfig.html
core/docs/xmldefs/ofbiz/service-config.dtd
commonapp/etc/serviceengine.xml
JNDI Servers & Resource Loaders
Global Service Definition Files
Service Group and ECA Rule Files
JMS Servers
Advanced Service Definitions
Parameters and Validation
Interface Services
Service Authentication
Transaction Control
Remote Services
JMS Services
HTTP Services
Implementing Services
Service Context (parameters and
return values)
Java Services
Bean Shell Services
simple-method Services
Calling Services
Synch & Asynch
Scheduled Services
Calling From:
Java
simple-method
Control Servlet
Service Groups
core/docs/xmldefs/ofbiz/service-group.dtd
Defining Groups
Groups
Services Per Group
Event-Condition-Action (ECA)
Rules
core/docs/xmldefs/ofbiz/service-eca.dtd
Defining ECA Rules
Events
Conditions Per Event
Actions Per Event
Day 3: The Workflow & Rule Engines,
Data Files, Review, Q&A
The Worklfow Engine
Based on XPDL and Other Standards
from WfMC and OMG
Workflow Concepts
Processes
Activities
Manual
Automatic
Transitions
Splitting and Merging
Workflow Data Context
Asynchronous Execution
For the future: Message Flow
Style Business Process Management
Workflow Engine Architecture
Service Engine Based
Calling Workflows Through
Service Engine
Calling Other Services in a
Workflow
Uses Entity Engine for Workflow
Definition and Run-Time Data Persistence
Defining Workflows
Basic XPDL
Working With Parties, Groups,
and Roles
OFBiz Extensions
Importing and Managing Workflow
Definitions
Running Workflows
Interacting With Running
Workflows
Client API (UI development)
The Rule Engine
A Declarative Logic Language
Based on Building Parsers In Java
by Steven Metsker
Constraint Based Problem Solving
Deductive Problem Solving
Interaction With a Database (ie
as a fact-base)
Needs Some Work
Applying Concepts with Custom
Rule Engines
The Data File Tool
The Wonderful World of Flat Files
Generic Data Structures for Flat
File Data (very similar to the Entity Engine structures)
Defining Data Files
The Data File API
Review
Q&A