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