Apache OFBiz Interview Questions (2024)
What is Apache OFBiz?
What is OFBiz component?
What are the different components available in Apache OFBiz?
How to create the plugin/component in Apache OFBiz?
How to run application in Apache OFBiz?
How to create custom Entities or Tables in database using Apache OFBiz?
How to add data in Entities or Tables in Apache OFBiz?
What is Events in Apache OFBiz?
Where in OFBiz is the DataResource Entity defined?
How to set an attribute default value as null in the service definition in OFBiz?
Q: What is Apache OFBiz?
Ans:
OFBiz is a Java-based web framework that includes an entity engine, a service engine, and a widget-based UI for rapidly prototyping and developing web applications.
Q: What is OFBiz component?
Ans:
An OFBiz component is a folder that contains a special xml file called
ofbiz-component.xml
that outlines the resources that the component will load and require. OFBiz is a collection of
components.
Q: What are the different components available in Apache OFBiz?
Ans:
- Framework components: These are lower level parts that give application components the technical layer and tools they need to function (data layer, business logic layer, transaction handling, data source pools, etc.); the functionalities they offer are typically those offered by any other development framework.
- Application components have access to the services and tools offered by the framework components as well as the services published by other application components. Product, order, party, manufacturing, accounting, etc. are examples of typical business components that are needed for ERP applications and can be customized or enhanced.
- Components for plugins: These components resemble those for apps, however they are made for specific applications, such as e-commerce, Google Base integration, eBay integration, etc.
Take a look at our Suggested Posts :
Q: How to create the plugin/component in Apache OFBiz?
Ans:
Setting up a new custom component in the plugins directory of OFBiz is quite simple. Plugins are common parts of OFBiz that are located in the special purpose directory. Plugins can be downloaded from a maven repository or manually applied. We only need to perform the following command from the command line.
./gradlew createPlugin -PpluginId=ofbizExample
OR
./gradlew createPlugin -PpluginId=ofbizExample -PpluginResourceName=OfbizExample -PwebappName=ofbizExampleweb -PbasePermission=OFBIZPER`
- pluginId: Required
- pluginResourceName: This is optional, default is the Capitalized value of pluginId.
- webappName: This is optional, default is the value of pluginId.
- basePermission: This is optional, default is the UPPERCASE value of pluginId.
Q: How to run application in Apache OFBiz?
Ans:
- Reload the data in OFBiz.
- Direct your browser to your application at
https://localhost:8443/ofbiz
as OFBiz restarts. - You'll have to log in (user: admin , password: ofbiz)
./gradlew loadAll ofbiz
Q: How to create custom Entities or Tables in database using Apache OFBiz?
Ans:
We only need to supply entity definition in the
$OFBIZ_HOME/plugins/OfbizExample/entitydef/entitymodel.xml
file of our OfbizExample
application to
build custom Entities/Tables in the database. When we applied the Gradle task to setup
component, this file structure was already configured. All we have to do is enter the entity
definition, added one entity for employee as shown below
<?xml version="1.0" encoding="UTF-8"?>
<entitymodel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/entitymodel.xsd">
<title>Entity for Organization</title>
<description>None</description>
<version>1.0</version>
<entity entity-name="OfbizEmp" package-name="com.ofbiz.techgeeknext" title="Employee Entity">
<field name="empId" type="id"><description>primary Sequence Employee ID</description></field>
<field name="name" type="name"></field>
<field name="role" type="role"></field>
<prim-key field="empId"/>
</entity>
</entitymodel>
The entry of above entitymodel.xml
file would already be present in $OFBIZ_HOME/plugins/ofbizDemo/ofbiz-component.xml
file
.
<entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel.xml"/>
To verify the entities or table generated or not, just re-start OFBiz and search in
Q: How to add data in Entities or Tables in Apache OFBiz?
Ans:
We can add the data in the XML files located up in component's data directory at $OFBIZ_HOME/plugins/OfbizExample/data/OfbizEmpData.xml
.
<?xml version="1.0" encoding="UTF-8"?>
<entity-engine-xml>
<OfbizExample empId="1" name="TcehGeekNext-User" role="Admin"/>
<OfbizExample empId="2" name="User2" role="Supervisor"/>
</entity-engine-xml>
Run./gradlew loadAll in the console, or load the entity xml directly by going to https://localhost:8443/webtools/control/EntityImport
via the webtools.
Visit Entity Data Maintenance at
https://localhost:8443/webtools/control/entitymaint
when the data loading process
is finished to verify entities.
Q: What is Events in Apache OFBiz?
Ans:
The methods used to interact with the HttpServletRequest
and HttpServletResponse
objects are
events in Apache OFBiz. In contrast to services, these don't require definitions. These are
accessed directly from the controller. Events are also helpful for adding unique server-side
input parameter validations. We can still use events to call prebuilt services to conduct
database actions.
Q: Where in OFBiz is the DataResource Entity defined?
Ans:
We can get the entry of service entity-name="DataResource"
in datamodel/entitydef/content-entitymodel.xml
.
Q: How to set an attribute default value as null in the service definition in OFBiz?
Ans:
We can just specify optional="true"
without providing entry for
default-value
.
<service name="empService" engine="java" location="com.ofbiz.techgeeknext.EmployeeServices" invoke="" auth="true" transaction-timeout="10500">
<attribute name="empDeskNumber" mode="IN" type="String" optional="true"/>
</service>