You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ofbiz.apache.org by Xinhuan Zheng <xi...@gmail.com> on 2020/11/27 21:38:07 UTC

Entity Engine

I started reading ofbiz documentation to be familiar with it. I look at the artifact document here: https://cwiki.apache.org/confluence/display/OFBIZ/Framework+Introduction+Videos+and+Diagrams?preview=/7045155/14286869/18ArtRefDia.pdf
I'm truly amazed by this diagram.

There is only (5) colored big boxes. Are they virtually serving as containers? For example, the Entity Engine serving as a container to produce entities, that can be created by physical SQL engine? But what is this Entity Engine implementation? Is it a Tomcat container instance?

I imagine Servlet Container to the top right of the diagram is implemented by Tomcat, is that right? The request flow is like a loop to me. The CS: Request: Event are fed into Control Servlet: Request part. What are the CS: Request: Event files and what are the control logic for this part to happen?

From this document: https://cwiki.apache.org/confluence/display/OFBIZ/Entity+Engine+Guide. The document said "The patterns used in the Entity Engine include: Business Delegate, Value Object, Composite Entity (variation), Value Object Assembler, Service Locator, and Data Access Object." The number of patterns is much less of the number of Entities to be managed? Is that all the patterns? Is there other reference that I can learn more about those Entity patterns?

Thank you,

- Xinhuan

Re: Entity Engine

Posted by Jacques Le Roux <ja...@les7arts.com>.
Hi Xinhuan,

Your message has been moderated, else it would not have reached this Mailing List.

Please subscribe to the user ML for such questions and then use your email client.
See why here http://ofbiz.apache.org/mailing-lists.html.

You will get a better support, people can answer you on the ML.
The wider the audience the better the answers you might get.

Also it's more work for moderators who have to accept your messages as long as you have not subscribed.
I'll personally no longer accept them (other moderators still could).

Thanks

This said, some preliminary answers inline...

Jacques

Le 27/11/2020 à 22:38, Xinhuan Zheng a écrit :
> I started reading ofbiz documentation to be familiar with it. I look at the artifact document here: https://cwiki.apache.org/confluence/display/OFBIZ/Framework+Introduction+Videos+and+Diagrams?preview=/7045155/14286869/18ArtRefDia.pdf
> I'm truly amazed by this diagram.
>
> There is only (5) colored big boxes. Are they virtually serving as containers?

Not sure what you mean by containers here. If you think about Docker then no.


>   For example, the Entity Engine serving as a container to produce entities, that can be created by physical SQL engine?

The Entity Engine is a mean to dialogue with a DBMS. But it's not an ORM[1] like Hibernate. Most of it is explained there:
https://cwiki.apache.org/confluence/display/OFBIZ/Entity+Engine+Guide

Just saw your link below after reading all your email, you might also be interested by:
https://github.com/apache/ofbiz-framework/blob/trunk/framework/entity/config/entityengine.xml

There is also a Service Engine. THey are the foundations of OFBiz:
https://cwiki.apache.org/confluence/display/OFBIZ/Service+Engine+Guide

[1] https://en.wikipedia.org/wiki/Object%E2%80%93relational_mapping


> But what is this Entity Engine implementation?

It's pure plain OFBiz Java code. BTW, since its creation Atlassian Jira is using it underneath...!


> Is it a Tomcat container instance?

OFBiz embeds Tomcat[2]

[2] https://www.theserverside.com/definition/embedded-Tomcat


> I imagine Servlet Container to the top right of the diagram is implemented by Tomcat, is that right?

Yep


> The request flow is like a loop to me. The CS: Request: Event are fed into Control Servlet: Request part. What are the CS: Request: Event files and what are the control logic for this part to happen?

Controllers, it's XML code "driving" the requests, see OFBiz source:
https://github.com/apache/ofbiz-framework/blob/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml


>
> >From this document: https://cwiki.apache.org/confluence/display/OFBIZ/Entity+Engine+Guide. The document said "The patterns used in the Entity Engine include: Business Delegate, Value Object, Composite Entity (variation), Value Object Assembler, Service Locator, and Data Access Object." The number of patterns is much less of the number of Entities to be managed? Is that all the patterns? Is there other reference that I can learn more about those Entity patterns?

For patterns globally there is https://cwiki.apache.org/confluence/display/OFBIZ/OFBiz+Related+Books#OFBizRelatedBooks-CoreJ2EEPatterns

But specifically to the Entity Engine there is the "Extensibility Pattern", see:
https://cwiki.apache.org/confluence/display/OFBIZ/General+Entity+Overview#GeneralEntityOverview-ExtensibilityPattern

HTH

Jacques

> Thank you,
>
> - Xinhuan