on a webserv there can be multiple portal,offbiz is an web application that contains other applications.since offbiz binds to port its portal.
simple pluggable ftl to display a dialog on web page
simple beanshell script to make and transfer a we between two wq
simple groovy script to print the contents of wq's
ftl and bsh example
http://www.opensourcestrategies.com/ofbiz/hello_world2.php
General working of offbiz
when starting it looks for file X
if it finds, parses file X
file X contains many paths
It checks for the UI component path
In the UI component path it looks for file A
It loads A and executes
It checks for business logic part
It checks for data base part
Basic idea is, most functionalities are prescribed in configuration files and implemented in std
libraries.A user can reuse the configuration files and hence the libraries to get most of the
work done.If extensions are required, framework allows to add more configuration files and
associate it with libraries and thus to achieve more functions
Http requests are captured by http server,converted to system events,mapped by (remote ip,incoming url,session).
webserver forwards to it client(index page).Any events on the index page is forwarded to handler java libraries.
This can be chained.A webserver has a url parser,a directory serach logic and html transfer logic.After the
html transfer the event handler java classes get loaded.http requests come for events with data,its routed to
a process/thread having the incoming session id.when it reaches the thread it already contains the loaded java
lib hence delegates the call to handler.
or each time a http request comes ws spawn thread loads libs and calls a handler with context.May be ws will
store only store the context mapped to session id,threads are not kept alive.
look and feel of offbiz freemarker, screen widgets and form widgets can be changed by using style sheets
offbiz used work flow engine shark before but now does it using EDA/SOA/SOAP/SECA/EECA
offbiz can export a components functions directly over web.This feature is used
to test,measure,debug.A special service needs to be created.It uses axis2.refer to
http://www.mail-archive.com/user@ofbiz.apache.org/msg16286.html.
In offbiz lang loading seed data means filling the data base with worable data.
adding new names,orders,accounts etc.complex database tables are created based
on the seed data.
ftl,screen widg,form widg
-------------------------------
| |
entity engine<==============service engine (BL)
| |
bsh script bsh script
--------------------------
groovy
db interface
The service engine will use the entity engines functions to do the business logic
ftl,screen widg,form widg
---------------------------------------------
| |q1 |q2 |q3 |q4
entity engine<==============service engine (BL)
| |
bsh script bsh script
--------------------------
groovy
db interface
|frm1 |frm2 |frm3 |frm4
|null |wq2 |wq3 |wq4
|dbt1 |dbt2 |dbt3 |dbt4
seed data will be single category dbt.More coloumns will be added in seed if and
only if has atomic relation between prim key.
there are dynamic dbts and static dbts.seed data always is static
wq comprises dynamic dbt.its size can vary from 0 to N.
at data model,relational dbt's will come into picture.items will be picked from
seed dbt's and grouped here.
For a SOAP example,ExampleServices.xml
Offbiz services tutorial
http://www.packtpub.com/article/ofbiz-services-apache
Offbiz tut
http://www.hotwaxmedia.com/ofbiz-tutorials.html
Buy Apache offbiz cook book
http://docs.google.com/viewer?a=v&q=cache:sqMDVClJIW8J:docs.huihoo.com/apache/ofbiz/The-Hitchhiker-Guide-to-OFBiz.pdf+download+offbiz.pdf&hl=en&gl=in&pid=bl&srcid=ADGEESjrpP2nZyqmuFanSz_GEvUF52XIZyiG4wSVqXY0-mcQugEsUdX5qPHBIiBXxaJgMBZSGFP0tWQHRCEXJ3A2fpQfS6UOGqokVgVfwmYOaToUg2uYTCoOqzznmJ1_bbnZIU2cOtgB&sig=AHIEtbTnzDMl3Fuc4BGj-s60qyVyg--G4Q
Buy Apache offbiz development beginners tutorial
Offbiz architecture view
http://webcache.googleusercontent.com/search?q=cache:YuejplShHfIJ:docs.huihoo.com/apache/ofbiz/OFBiz-An-Insider-View.pdf+ofbiz+widgets,database&cd=21&hl=en&ct=clnk&gl=in&client=firefox-a
No comments:
Post a Comment