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/ |
Free forum by Nabble | Edit this page |