Users - Packaging OFBiz as EAR containing multiple WARs

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

Users - Packaging OFBiz as EAR containing multiple WARs

Joacim J-2
Hi,

I have recently found OFBiz and it seems very interesting. Since I am an experienced J2EE developer I want to package the application into an EAR containing multiple WAR files to be J2EE compliant (e.g. deploy the application on different application servers).

Is this possible or is OFBiz very much coupled to the bundled Tomcat?
How can I build this in the easiest way?
Why doesn't the OFBiz project have this approach as default, with separate web modules and EAR project?

If the OFBiz project wants to provide a "extract-and-run" package it could be a solution to have a build script that takes the modules (above) and a runtime env. (e.g. Tomcat and Derby DB) and pack them together.

Best Regards
Joacim Jarkeborn
Enterprise IT Architect


 
_______________________________________________
Users mailing list
[hidden email]
http://lists.ofbiz.org/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: Users - Packaging OFBiz as EAR containing multiple WARs

David E. Jones

Joacim,

It is certainly possible to deploy OFBiz inside other containers,  
rather than having it run using the OFBiz loader and container  
feature (which starts embedded servlet container, transaction  
manager, connection pool, JNDI server, and so on). The reason we have  
it running this way by default is for ease of use, especially for  
people just getting started with it. It is very important that OFBiz  
be able to run easily and reliably out of the box, with not potential  
configuration snafus to get in the way, there are plenty of other  
things that make enterprise apps difficult... With this method you  
can download an OFBiz build, unzip it, and as long as you have a 1.4  
service J2SDK installed just run it as-is. This is a big deal to  
lower the bar for people just getting going with it, many of whom  
wouldn't even know what an EAR or WAR is, let alone how to deploy or  
effectively use them.

Even for running in external app servers (see the README in the  
appservers component, in the framework/appservers directory) we  
prefer to run in an "exploded" directory structure rather than in an  
ear or war file. This makes development much easier, and even for  
deployment allows for one less step in deployment and maintenance. It  
may _seem_ nice to have a single file to deal with, but things aren't  
so convenient in reality and treating it this way can makes things  
more difficult instead of easier when maintaining a server.

Still, yes, it is possible to deploy OFBiz using EAR and WAR files,  
but for certain things like class loading in the proper way (to allow  
for a shared cache infrastructure and such) it generally requires  
proprietary extensions as the EAR and WAR standards are _not_ meant  
to handle deployment of these sorts of resources, simple as they may  
be... There are class loading issues and startup initialization  
issues that the EAR standard simply doesn't address.

We are actually working on moving away from using embedded J2EE tools  
and toward running inside a container. Finding a good container that  
we can distribute with OFBiz has been an issue because of licensing  
reasons (especially now that we are moving toward the ASF), but with  
Geronimo now in a stable release, that will become our default. We  
are going to try and use standard stuff to do everything we need,  
probably including the RAR and JMX "standards" in addition of course  
to deploying webapps and using the transaction manager and such  
through JNDI.

BTW, OFBiz as-is really isn't highly coupled to Tomcat. We have  
container and configuration wrappers for Jetty, and similar things  
could be written for any servlet container that supports running and  
configuration through an API (ie in an "embedded" mode). And if you  
don't want to use our startup class, then you can deploy it within  
other app servers as mentioned above.

-David


On Feb 24, 2006, at 7:49 AM, Joacim J wrote:

> Hi,
>
> I have recently found OFBiz and it seems very interesting. Since I  
> am an experienced J2EE developer I want to package the application  
> into an EAR containing multiple WAR files to be J2EE compliant  
> (e.g. deploy the application on different application servers).
>
> Is this possible or is OFBiz very much coupled to the bundled Tomcat?
> How can I build this in the easiest way?
> Why doesn't the OFBiz project have this approach as default, with  
> separate web modules and EAR project?
>
> If the OFBiz project wants to provide a "extract-and-run" package  
> it could be a solution to have a build script that takes the  
> modules (above) and a runtime env. (e.g. Tomcat and Derby DB) and  
> pack them together.
>
> Best Regards
> Joacim Jarkeborn
> Enterprise IT Architect
>
>
> _______________________________________________
> Users mailing list
> [hidden email]
> http://lists.ofbiz.org/mailman/listinfo/users

 
_______________________________________________
Users mailing list
[hidden email]
http://lists.ofbiz.org/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: Users - Packaging OFBiz as EAR containing multiple WARs

Joacim J-2
David,

Thanks for your reply and I have put some comments inline.

2006/2/25, David E. Jones <[hidden email]>:

Joacim,

It is certainly possible to deploy OFBiz inside other containers,
rather than having it run using the OFBiz loader and container
feature (which starts embedded servlet container, transaction
manager, connection pool, JNDI server, and so on). The reason we have
it running this way by default is for ease of use, especially for
people just getting started with it. It is very important that OFBiz
be able to run easily and reliably out of the box, with not potential
configuration snafus to get in the way, there are plenty of other
things that make enterprise apps difficult... With this method you
can download an OFBiz build, unzip it, and as long as you have a 1.4
service J2SDK installed just run it as-is. This is a big deal to
lower the bar for people just getting going with it, many of whom
wouldn't even know what an EAR or WAR is, let alone how to deploy or
effectively use them.

I agree that it's important to let fresh people try OFBiz ASAP without need to mess around with setup of an container, datasources etc. BUT I also it is a bit sad that you only have that approach. Instead I think it would have been much better to have the J2EE modules setup in a standardized way after a SVN checkout (without a container) and beside of that have a  pre-configured runtime environment also in subversion. The advanced users could use the modules in their container and fresh starters runs a ant script that builds a deployed runtime environment (as it is today) and that could start that.

This would add, in my opinion, more flexibility.
At my work, we have problems with vendors that bundles application and infrastructure together, since we are using IBM WebSphere at the enterprise level and can not setup small Tomcat instances. We must have as strict enterprise environment as possible due to support, monitoring, scalability,...etc

Even for running in external app servers (see the README in the
appservers component, in the framework/appservers directory) we
prefer to run in an "exploded" directory structure rather than in an
ear or war file. This makes development much easier, and even for
deployment allows for one less step in deployment and maintenance. It
may _seem_ nice to have a single file to deal with, but things aren't
so convenient in reality and treating it this way can makes things
more difficult instead of easier when maintaining a server.

Well, I can not really understand that. I assume that you are using Eclipse and in that environment you can have servers configured with start/stop/restart/debug/deployment/... and it would add the same "exploded" behaviour as in your case.
Nowdays when Geronimo and it's Eclipse plugin have been released it makes it even more complete ;-)

Still, yes, it is possible to deploy OFBiz using EAR and WAR files,
but for certain things like class loading in the proper way (to allow
for a shared cache infrastructure and such) it generally requires
proprietary extensions as the EAR and WAR standards are _not_ meant
to handle deployment of these sorts of resources, simple as they may
be... There are class loading issues and startup initialization
issues that the EAR standard simply doesn't address.

Yes, I know that the J2EE standard are not that good in every case ( e.g. limitations in sharing of session objects between web modules, class loading hiearchys). But I feel that it is not good to modify the standardized runtime environment (and break the compliance). We have built classloader helpers (in my company's J2EE framework) that makes the classloading working in our framework.

We are actually working on moving away from using embedded J2EE tools
and toward running inside a container. Finding a good container that
we can distribute with OFBiz has been an issue because of licensing
reasons (especially now that we are moving toward the ASF), but with
Geronimo now in a stable release, that will become our default. We
are going to try and use standard stuff to do everything we need,
probably including the RAR and JMX "standards" in addition of course
to deploying webapps and using the transaction manager and such
through JNDI.

Sounds very good!!
 

BTW, OFBiz as-is really isn't highly coupled to Tomcat. We have
container and configuration wrappers for Jetty, and similar things
could be written for any servlet container that supports running and
configuration through an API (ie in an "embedded" mode). And if you
don't want to use our startup class, then you can deploy it within
other app servers as mentioned above.

I will take a closer look at OFBiz.

Best Regards
Joacim Jarkeborn
 

-David


On Feb 24, 2006, at 7:49 AM, Joacim J wrote:

> Hi,
>
> I have recently found OFBiz and it seems very interesting. Since I
> am an experienced J2EE developer I want to package the application
> into an EAR containing multiple WAR files to be J2EE compliant
> (e.g. deploy the application on different application servers).
>
> Is this possible or is OFBiz very much coupled to the bundled Tomcat?
> How can I build this in the easiest way?
> Why doesn't the OFBiz project have this approach as default, with
> separate web modules and EAR project?
>
> If the OFBiz project wants to provide a "extract-and-run" package
> it could be a solution to have a build script that takes the
> modules (above) and a runtime env. (e.g. Tomcat and Derby DB) and
> pack them together.
>
> Best Regards
> Joacim Jarkeborn
> Enterprise IT Architect
>
>
> _______________________________________________
> Users mailing list
> [hidden email]
> http://lists.ofbiz.org/mailman/listinfo/users


_______________________________________________
Users mailing list
[hidden email]
http://lists.ofbiz.org/mailman/listinfo/users


 
_______________________________________________
Users mailing list
[hidden email]
http://lists.ofbiz.org/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: Users - Packaging OFBiz as EAR containing multiple WARs

David E. Jones

On Feb 26, 2006, at 3:31 PM, Joacim J wrote:

> I agree that it's important to let fresh people try OFBiz ASAP  
> without need to mess around with setup of an container, datasources  
> etc. BUT I also it is a bit sad that you only have that approach.  
> Instead I think it would have been much better to have the J2EE  
> modules setup in a standardized way after a SVN checkout (without a  
> container) and beside of that have a  pre-configured runtime  
> environment also in subversion. The advanced users could use the  
> modules in their container and fresh starters runs a ant script  
> that builds a deployed runtime environment (as it is today) and  
> that could start that.

> This would add, in my opinion, more flexibility.

In a community-driven project like OFBiz this sort of thing happens  
when someone cares enough about it to create it and contribute it, or  
to sponsor the development of it... That hasn't happened yet, but if  
it is a big deal to you then the door is wide open... ;)

> At my work, we have problems with vendors that bundles application  
> and infrastructure together, since we are using IBM WebSphere at  
> the enterprise level and can not setup small Tomcat instances. We  
> must have as strict enterprise environment as possible due to  
> support, monitoring, scalability,...etc

This is a common need, ie to run in an existing infrastructure. I  
haven't worked with any WebSphere deployments, but some WebLogic and  
Orion deployments (which is why we have "getting started" configs for  
those). This is certainly possible, and if you are very familiar with  
your app server then deploying OFBiz in it based on the stuff in the  
appservers component and the general documentation on config files it  
is really pretty easy.

-David


 
_______________________________________________
Users mailing list
[hidden email]
http://lists.ofbiz.org/mailman/listinfo/users

smime.p7s (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Users - Packaging OFBiz as EAR containing multiple WARs

Joacim J-2


2006/2/26, David E. Jones <[hidden email]>:

On Feb 26, 2006, at 3:31 PM, Joacim J wrote:

> I agree that it's important to let fresh people try OFBiz ASAP
> without need to mess around with setup of an container, datasources
> etc. BUT I also it is a bit sad that you only have that approach.
> Instead I think it would have been much better to have the J2EE
> modules setup in a standardized way after a SVN checkout (without a
> container) and beside of that have a  pre-configured runtime
> environment also in subversion. The advanced users could use the
> modules in their container and fresh starters runs a ant script
> that builds a deployed runtime environment (as it is today) and
> that could start that.

> This would add, in my opinion, more flexibility.

In a community-driven project like OFBiz this sort of thing happens
when someone cares enough about it to create it and contribute it, or
to sponsor the development of it... That hasn't happened yet, but if
it is a big deal to you then the door is wide open... ;)

Yes, I can see your point ;-)
Right now I am quite full-booked but will get to know OFBiz more and see if I can come up with something.

BR
Joacim

 
_______________________________________________
Users mailing list
[hidden email]
http://lists.ofbiz.org/mailman/listinfo/users