OFBiz Advanced Framework Training Outline

Written By: David E. Jones
Email: [email protected]
Open For Business Site: http://www.ofbiz.org
SourceForge Logo
Founders and Lead Architects: David E. Jones & Andy Zeneski
Last Updated: January 4th, 2003


Day 1: The Webapp Framework & MiniLang

  1. Basic Framework Review
  2. The Webapp Framework
    1. Control Servlet
      1. Requests
      2. Events
        1. Event Context (parameters and return values)
        2. Event Handlers/Types
        3. simple-method Events
        4. Java Events
        5. Designing a new Event Handler
      3. Responses
      4. Views
        1. View Handlers/Types
        2. Designing a new View Handler
    2. Region Framework
      1. Defining Template Based Regions
      2. Defining Inheritance or Region Based Regions
      3. Using, or Not Using, Sections
    3. Taglib
      1. URL Tags
      2. Conditional Tags
      3. Flow Control Tags
      4. Data Presentation Tags
      5. Internationalization Tags
      6. Service Engine Tags
      7. Other Tags
  3. MiniLang
    1. simple-map-processor
      1. General Concept
      2. Make In String Operations
      3. Process Field Operations
    2. simple-method
      1. General Concept
      2. Call Operations
      3. Java Call Operations
      4. Control and Error Handling Operations
      5. Event Specific Operations
      6. Service Specific Operations
      7. Method Environment Operations
      8. Entity Engine Misc. Operations
      9. Entity Engine Find Operations
      10. Entity Engine Value Operations
      11. Entity Engine List Operations
      12. Entity Engine Transaction Operations
      13. Conditional (If) Operations
      14. Other Operations
    3. Some Examples

Day 2: The Entity and Service Engines

  1. The Entity Engine
    1. Architecture & Design Goals
      1. Database (or datasource) Agnostic
      2. Dynamic API Behaves According to Entity Definitions
      3. Minimal Redundancy from Data Definitions
      4. Uses JDBC and JTA J2EE Components
        1. Can operate in the same transaction with EJB and JDO code
    2. Configuration
      1. JTA Setup
      2. Delegators
      3. Datasources
    3. Advanced Entity Definitions
      1. Entities
      2. Fields
      3. Primary Keys
      4. Relationships
    4. View Entity Definitions
      1. Member Entities
      2. Field Aliases
      3. View Links
      4. Relationships
      5. Joins: Inner & Outer
      6. Grouping and Summary Data
    5. The GenericDelegator API
      1. Factory Methods (GenericDelegator, GenericPK, GenericValue)
      2. Creating, Storing & Removing
      3. Finding
        1. By Primary Key
        2. By “And”
        3. EntityConditions
          1. EntityFieldMap
          2. EntityExpr
          3. EntityConditionList
          4. EntityWhereString
        4. The EntityListIterator
      4. Caching
        1. Theory of Operation
        2. UtilCache & The Webtools Cache Page
        3. Automatic & Manual Cache Clearing
    6. The GenericEntity API
      1. GenericPK
      2. GenericValue
    7. Overview of GenericHelper Interface
  2. The Service Engine
    1. Architecture & Design Goals
      1. Agnostic Service Calls
        1. Implementation Agnostic
        2. Location Agnostic
      2. Synchronicity Support
      3. Parameter Validation
      4. Service “Engines”
        1. The GenericEngine Interface
        2. Overview of Existing Engines
        3. Designing a New Engine
    2. Service Engine Configuration
      1. core/docs/serviceconfig.html
      2. core/docs/xmldefs/ofbiz/service-config.dtd
      3. commonapp/etc/serviceengine.xml
      4. JNDI Servers & Resource Loaders
      5. Global Service Definition Files
      6. Service Group and ECA Rule Files
      7. JMS Servers
    3. Advanced Service Definitions
      1. Parameters and Validation
      2. Interface Services
      3. Service Authentication
      4. Transaction Control
    4. Remote Services
      1. JMS Services
      2. HTTP Services
    5. Implementing Services
      1. Service Context (parameters and return values)
      2. Java Services
      3. Bean Shell Services
      4. simple-method Services
    6. Calling Services
      1. Synch & Asynch
      2. Scheduled Services
      3. Calling From:
        1. Java
        2. simple-method
        3. Control Servlet
    7. Service Groups
      1. core/docs/xmldefs/ofbiz/service-group.dtd
      2. Defining Groups
        1. Groups
        2. Services Per Group
    8. Event-Condition-Action (ECA) Rules
      1. core/docs/xmldefs/ofbiz/service-eca.dtd
      2. Defining ECA Rules
        1. Events
        2. Conditions Per Event
        3. Actions Per Event

Day 3: The Workflow & Rule Engines, Data Files, Review, Q&A

  1. The Worklfow Engine
    1. Based on XPDL and Other Standards from WfMC and OMG
    2. Workflow Concepts
      1. Processes
      2. Activities
        1. Manual
        2. Automatic
      3. Transitions
      4. Splitting and Merging
      5. Workflow Data Context
      6. Asynchronous Execution
    3. For the future: Message Flow Style Business Process Management
    4. Workflow Engine Architecture
      1. Service Engine Based
        1. Calling Workflows Through Service Engine
        2. Calling Other Services in a Workflow
      2. Uses Entity Engine for Workflow Definition and Run-Time Data Persistence
    5. Defining Workflows
      1. Basic XPDL
      2. Working With Parties, Groups, and Roles
      3. OFBiz Extensions
    6. Importing and Managing Workflow Definitions
    7. Running Workflows
    8. Interacting With Running Workflows
    9. Client API (UI development)
  2. The Rule Engine
    1. A Declarative Logic Language
    2. Based on Building Parsers In Java by Steven Metsker
    3. Constraint Based Problem Solving
    4. Deductive Problem Solving
    5. Interaction With a Database (ie as a fact-base)
    6. Needs Some Work
    7. Applying Concepts with Custom Rule Engines
  3. The Data File Tool
    1. The Wonderful World of Flat Files
    2. Generic Data Structures for Flat File Data (very similar to the Entity Engine structures)
    3. Defining Data Files
    4. The Data File API
  4. Review
  5. Q&A