Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

Framework Introduction Course

Target Audience

  1. Web Designers/Developers
  2. Junior Developers
  3. Senior Developers (should also take the OFBiz Advanced Framework course)
  4. Architects
  5. Project Managers
  6. Program Managers
  7. Quality Assurance Personnel

Topics Covered

  1. Architecture Overview
    1. Model-Controller-View Pattern (an old story with a new name)
    2. Lots of Controllers
      1. Applying the Controller Pattern
      2. Data Level Controller (Entity Engine)
      3. Logic Level Controller (Service Engine)
      4. Web User Interface Level Controller (Control Servlet, Screen Widget, etc)
    3. The Model goes in the Database
    4. The View is what the user interacts with
    5. Everything else follows from those, and the only trick is to do it efficiently for initial implementation and maintenance.
    6. Data Flow Between Components
      1. Request from Browser
      2. Control Servlet Called
      3. Request Looked Up
      4. Security Checked (encryption, authentication)
      5. Event Called (if defined)
        1. Service Definition Looked Up
        2. Simple Method Called As a Service
          1. Handle Data Coming In
          2. Look Up Information From Database
          3. Save Information to Database
      6. Response Chosen and Called
        1. View Looked Up
        2. Screen (or Region or JPublish page) definition Looked Up
        3. Template Called, Sections Filled In
        4. Data Looked Up (directly through the Entity Engine or through a service)
  2. Configuration & Deployment Overview
    1. Choosing and Setting Up a Database
    2. Choosing and Setting Up an Application Server
    3. OFBiz Configuration
      1. ofbiz/base/config/debug.properties
      2. ofbiz/base/config/component-load.xml
      3. ofbiz/framework/*/ofbiz-component.xml
      4. ofbiz/applications/*/ofbiz-component.xml
      5. ofbiz/framework/entity/config/entityengine.xml
        1. Transaction Manager Setup
        2. Database Setup
      6. ofbiz/framework/service/config/serviceengine.xml
      7. Other Configuration Files
        1. ofbiz/base/config/*
        2. ofbiz/framework/*/config/*
        3. ofbiz/applications/*/config/*
  3. Beginning With the End in Mind
    1. What to build?
  4. Data (Entity) Layer
    1. Define Entities (configure data level controller)
  5. Logic (Service) Layer
    1. Define Services (configure logic level controller)
    2. Implement Services
      1. Java Services
      2. simple-method Services
    3. Using Service ECAs
  6. User Interface Layer
    1. Configure Web User Interface Level Controllers
      1. Define Web Requests (controller.xml)
        1. Simple Request
        2. Requests with an Event implemented as a Service
      2. Define Web Views (controller.xml)
    2. Create Web User Interfaces
      1. Choose a Decoration Screen
      2. Create a Screen Definition (widgets/**/*Screens.xml)
      3. Add Screen Actions for Data Preparation
      4. Create an XML Form Widget Definition for Editing (widgets/**/*Forms.xml)
      5. Create an XML Form Widget Definition for Listing (widgets/**/*Forms.xml)
    3. Internationalization and Localization in the UI
    4. Security & Permissions Checking
  7. Throwing a Wrench in the Works
    1. Adding a New Field
    2. Change the Entity Definition
    3. Change the Service Definition
    4. Add to the Listing Form (if needed)
    5. Add to the Editing Form
  8. Questions and Feedback