OFBiz on two physically different servers (separation business logic / presentation layer)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

OFBiz on two physically different servers (separation business logic / presentation layer)

Christian Schuhegger
Hello,

I am new to OFBiz and I started my learning experience with the very
well done framework intro videos:
http://incubator.apache.org/ofbiz/VideosFrameworkIntro.html

As second step I was looking at the OFBiz tutorials at:
http://www.opensourcestrategies.com/ofbiz/tutorials.php
These are also very good quality.

Thanks to the creators of both.

I appreciate very much your point of view expressed at:
http://ofbizwiki.go-integral.com/Wiki.jsp?page=FAQ1
> But I'll leave it as this: for business modeling of information and processes pure OO oriented things are a real pain and for the most part are great for infrastructure and such, but just plain awful for business logic. I know a lot of people thing that what I just said is on nothing short of blasphemy or total ignorance and foolishness, but look at large enterprise software: how much of it is really object oriented?
This reflects also my experience that I've collected over the past years.

But now I am having a few general questions that perhaps somebody on the
list could help me to answer?

OFBiz up to now looks very monolithic to me. It is an all in one package
of the OR-mapping, the SOA service engine and the user interface layer
coming even with its own bundled tomcat. Even that I can see now how to
write applications in the OFBiz framework after having worked through
the tutorials I still cannot see how to use OFBiz in a set-up that I
would imagine.

I would like to have:
- A physically separate front end machine where the web-app is running.
I would prefer here to have the free choice of which servlet container
to use.
- A business logic layer like the OFBiz service and entity engines which
also contains the DB configuration settings.
- A transfer mechanism to transfer the data in a disconnected way to the
webapp (I would prefer here something like Service Data Objects
http://incubator.apache.org/tuscany/

I think for security reasons it is a good idea to separate the front-end
from the business back-end and to have a firewall in front of the web
layer and between the web layer and the back-end, so that no direct DB
access could be gained even if the web layer is compromised.

As far as my understanding goes at the moment OFBiz is accessing the
database directly (over a chaine of events) every time an
CS:Request:Event is coming in and the service/entity engine is invoked.
Then a second time when the view is built and the actions are executed
(I refer to the terminology of:
http://bigfiles.ofbiz.org/FrameworkIntro/18ArtRefDia.pdf). Or is there
some cache on the webapp session side that is not shown in 18ArtRefDia.pdf?

Besides that the communication between the webapp and the service/entity
backend looks quite fine grained to me. There are invokations of the
back-end for every update of the fine grained "business objects".

Are there mechanisms in OFBiz that would allow to work on something like
SDOs for some time in a disconnected way on the webapp side (also the
views would have to take the data from here and not call the service
back-end) and only eventually call functionality on the back-end with an
optimistic style of locking?

At the moment I would find most interesting to take from OFBiz the
business back-end down from the service engine, to wrap the
communication into SDOs (to write a Data Mediator Service that talks to
the entity engine) and to plug in this piece of software into an ESB
like ServiceMix.

I would appreciate very much more insights from the people who are using
OFBiz for a long time now. Perhaps I am only too much used to the
WebApp/EJB/DB architecture and I only need to change my perspective?

Thanks a lot,
--
Christian Schuhegger
http://www.el-chef.de/