Integrate AribaWeb and Ofbiz

40 views
Skip to first unread message

xudong

unread,
Feb 24, 2009, 5:27:42 AM2/24/09
to AribaWeb (aribaweb.org), qingfen...@wizitsoft.com, guoqi...@wizitsoft.com, xiangq...@wizitsoft.com
hi all,

Is it feasible to combine AribaWeb and ofbiz together? If yes, then it
would be wonderful. Because AribaWeb is very great as a component
based UI framework and ofbiz as a mature open source ERP system but
lack of professional UI like Ariba.

If anyone happens to have any experience or advice, please let me
know.

thanks,
xudong

farouk.

unread,
Feb 24, 2009, 4:34:05 PM2/24/09
to AribaWeb (aribaweb.org)
Hi Xudong,
This is exactly the question I have been pondering and analysing the
whole of today. Ofbiz is good for a project am working on with
a lot of common services handled out of the box. However I can see how
Ofbiz controller pattern will fit with aribaweb programming model
since so far, i have not touched any controller definitions. Also,
Ofbiz's minilang will have to be extended to include more
attributes..cant c that happening now. Plus The xml based entitydef
models in ofbiz against annotated pojos in aribaweb...If you come up
with a way this can be done, i can offer some help with coding

Craig Federighi

unread,
Feb 24, 2009, 5:03:00 PM2/24/09
to arib...@googlegroups.com
Farouk and Xudong,

I have not looked deeply into Ofbiz. That said, I have a couple of
observations:

- AW is a component-based UI framework (as opposed to page level MVC
like Struts) -- if you use AW to create a UI you are unlikely to get
any reuse out of page-level request handlers (controllers) written for
Ofbiz (although you certainly could call the underlying http-
independent business logic)

- AW's metaui layer is open to metadata from a variety of sources --
annotations are *not* core to how metaui operates (they are just
scanned at class reference time to create metaui rules). If you have
a different source of meta data (e.g. Ofbiz xml entitydefs) you can
easily write metaui listeners that register rules based on that
metadata.

- AW/MetaUI does expect that business objects in the UI have extended
session lifetime (like Seam, I believe). So, you'd need to make sure
that whatever session/entity context management you were getting with
Ofbiz could support those "extended transactions".

In any case, this sounds like a very exciting potential use for
AribaWeb!

- craig

farouk.

unread,
Feb 24, 2009, 6:15:38 PM2/24/09
to AribaWeb (aribaweb.org)

>         - AW is a component-based UI framework (as opposed to page level MVC  
> like Struts) -- if you use AW to create a UI you are unlikely to get  
> any reuse out of page-level request handlers (controllers) written for  
> Ofbiz (although you certainly could call the underlying http-
> independent business logic)

The solution would be to get the navigation past the ofbiz
controller.xml which is just a request
receiver and forwards on to the corresponding view. If we can avoid
the controller, ..since the
controller is central to ofbiz navigation.

>
>         - AW's metaui layer is open to metadata from a variety of sources --  
> annotations are *not* core to how metaui operates (they are just  
> scanned at class reference time to create metaui rules).  If you have  
> a different source of meta data (e.g. Ofbiz xml entitydefs) you can  
> easily write metaui listeners that register rules based on that  
> metadata.

Ohh ok. that could be very neat if there is a way to do that. In
ofbiz, database schema is defined in XML
and ofbiz creates the SQL schema at startup. that same schema can then
be used to define a metaui
for the view. Is there an example of how this type of listener can be
written??

>
>         - AW/MetaUI does expect that business objects in the UI have extended  
> session lifetime (like Seam, I believe).  So, you'd need to make sure  
> that whatever session/entity context management you were getting with  
> Ofbiz could support those "extended transactions".

Ofbiz allows different datasources and different persistence
mechanisms including hibernate so am sure
extended persistence context will not be a problem. What I am not sure
about is a conversation session context like seam..will have to find
out

xudong

unread,
Feb 24, 2009, 11:51:27 PM2/24/09
to AribaWeb (aribaweb.org)


farouk. wrote:
> >         - AW is a component-based UI framework (as opposed to page level MVC  
> > like Struts) -- if you use AW to create a UI you are unlikely to get  
> > any reuse out of page-level request handlers (controllers) written for  
> > Ofbiz (although you certainly could call the underlying http-
> > independent business logic)
>
> The solution would be to get the navigation past the ofbiz
> controller.xml which is just a request
> receiver and forwards on to the corresponding view. If we can avoid
> the controller, ..since the
> controller is central to ofbiz navigation.
>
> >
> >         - AW's metaui layer is open to metadata from a variety of sources --  
> > annotations are *not* core to how metaui operates (they are just  
> > scanned at class reference time to create metaui rules).  If you have  
> > a different source of meta data (e.g. Ofbiz xml entitydefs) you can  
> > easily write metaui listeners that register rules based on that  
> > metadata.
>
> Ohh ok. that could be very neat if there is a way to do that. In
> ofbiz, database schema is defined in XML
> and ofbiz creates the SQL schema at startup. that same schema can then
> be used to define a metaui
> for the view. Is there an example of how this type of listener can be
> written??
>

I know Ariba uses xml (AML) to define metedata. Such mechanism allows
developers to be able to change system behavior without touching java
code. Ofbiz has the same idea. But now it seems we have to develop a
listener for ofbiz just like what Ariba did for AML. But does that
mean we have to modify core schema of ofbiz? Any more elegant way to
achieve this?

BTW: Ariba should open source AML part as well :-)

Craig Federighi

unread,
Feb 25, 2009, 12:04:43 AM2/25/09
to arib...@googlegroups.com
Hi Xudong,

> I know Ariba uses xml (AML) to define metedata. Such mechanism allows
> developers to be able to change system behavior without touching java
> code. Ofbiz has the same idea. But now it seems we have to develop a
> listener for ofbiz just like what Ariba did for AML. But does that
> mean we have to modify core schema of ofbiz? Any more elegant way to
> achieve this?


You definitely do *not* have to modify the core schema of ofbiz. I
promise that you will find this to be about as "elegant" and you can
hope for: you just write an teeny bit of code that gets notified when
a class is first referenced in metaui and responds by looking in the
runtime metadata of Ofbiz for that class (i.e. whatever is declared
via their xml) and register rules back to metaui for each of the
properties of the class. The code to do this for java introspection
(which is a another source is maybe 100 lines or so (see
ObjectMeta.IntrospectionMetaProvider:notify(Meta meta, String key,
Object value) and imagine getting field info from ofbiz instead of
from introspection...)

- craig

Craig Federighi

unread,
Feb 25, 2009, 12:19:35 AM2/25/09
to arib...@googlegroups.com
For kicks I've posted a 73 slide presentation on metaui:
http://aribaweb.org/papers/MetaUI-InDepth.pdf

It was used as part of a six hour internal presentation, so I don't
expect it to stand on its own very well (i.e. without the six hours of
voice over) but it may offer the curious and persistent some greater
insights into the (rather novel) nature of metaui. (Don't go there
yet unless you're prepared to be overwhelmed and frustrated ;-).

This is best read after viewing the screencast "Understanding MetaUI" (http://www.vimeo.com/1840925
) and then inspecting and playing with the "Form" examples in the Demo
app (see examples/Demo/gallery/metaui/Meta*.awl and examples/Demo/
busobj/rules.oss).

After digesting all of this you'll also ultimately want to browse src/
metaui/ariba/ui/meta/layouts/WidgetRules.oss -- nearly all of the
behavior you see in metaui apps is defined in the 500 lines of rules
declared there.

- craig

Message has been deleted
Message has been deleted

Ramesh Mandaleeka

unread,
Feb 25, 2009, 6:28:30 AM2/25/09
to arib...@googlegroups.com
Really nice presentation to get a fair understanding on the UI. We should have good amount of unit testcases so that users can execute and see the various usecases.

Ramesh

Paul Dorman

unread,
Feb 26, 2009, 2:55:40 AM2/26/09
to arib...@googlegroups.com
Thank you for publishing this Craig. You have been very helpful during the open source launch of AribaWeb. Posting this is really constructive.

Cheers,
Paul
Reply all
Reply to author
Forward
0 new messages