Re: Loading standard web application

Posted by Michael Brohl-3 on
URL: http://ofbiz.116.s1.nabble.com/Loading-standard-web-application-tp4705628p4705693.html

Hi James, hi Taher,

in general, I think it's helpful to have the possibility to load
applications the "Tomcat way". If you want to extend functionality by
dropping a third party WAR without setting up another Servlet container
it would be possible with this change. The patch seems to be lightweight
and if there are no unwanted side effects, why not add it?

It's much easier to do it this way instead of making OFBiz ready to be
deployed in any servlet container (I guess).

Best regards,

Michael


Am 07.05.17 um 09:23 schrieb Taher Alkhateeb:

> Hi James,
>
> Is it correct to assume that the purpose of this solution is to allow you
> to login to OFBiz and other systems using a unified account? If the answer
> is yes, then doesn't it seem a little strange to have that service embedded
> inside OFBiz when it is serving other accounts of other systems?
>
> Sorry for the many questions :) just trying to wrap my ahead around your
> vision on this.
>
> Cheers,
>
> Taher
>
> On Sun, May 7, 2017 at 9:44 AM, James Yong <[hidden email]> wrote:
>
>> Hi Taher,
>>
>> Thanks for the review.
>>
>> My use case is to run CAS SSO on OFBiz, to avoid another Tomcat instance.
>> But I won't commit the patch if others doesn't need it.
>>
>> Regards,
>> James Yong
>>
>> PS: I can run standard web application in earlier OFBiz versions.
>>
>> On 2017-05-07 14:09 (+0800), Taher Alkhateeb <[hidden email]>
>> wrote:
>>> Hi James,
>>>
>>> I saw the patch and it seems to be in proper order.
>>>
>>> However, the issue still remains of why and what. Your patch is
>> essentially
>>> turning OFBiz into a partial web server by calling the "addWebapp()"
>>> method. You want to do that so you can put an external web application
>>> inside the code base to run side-by-side with OFBiz.
>>>
>>> What I understand from this is that you want to have two webapps running
>>> together, and then communicating with each other over the wire. In other
>>> words, we have almost no integration between the two applications.
>>>
>>> So I will try to ask this question in reverse: Why do you want to run a
>>> standard Tomcat webapp inside OFBiz? What do you want to "share"? And
>> also,
>>> what is forcing to take the route of an independent webapp as opposed to
>> an
>>> integration solution on the API level?
>>>
>>> On Sat, May 6, 2017 at 7:17 PM, James Yong <[hidden email]> wrote:
>>>
>>>> Created a JIRA issue and upload a patch at
>>>> https://issues.apache.org/jira/browse/OFBIZ-9347
>>>>
>>>> On 2017-05-06 19:27 (+0800), "James Yong"<[hidden email]> wrote:
>>>>> Thanks Taher.
>>>>>
>>>>> Those are the big pictures. For now, need to work on the smaller
>> issues.
>>>>> So I will start with the patch for the loading of standard web
>>>> application.
>>>>> Regards,
>>>>> James Yong
>>>>>
>>>>> On 2017-05-06 18:48 (+0800), Taher Alkhateeb <
>> [hidden email]>
>>>> wrote:
>>>>>> Hi James,
>>>>>>
>>>>>> I guess we can start discussing this at a more detailed level once
>> you
>>>> have
>>>>>> a PoC or more elaborate exploration of the exact "why" and "how".
>> All
>>>> good
>>>>>> initiatives !
>>>>>>
>>>>>> Cheers,
>>>>>>
>>>>>> Taher Alkhateeb
>>>>>>
>>>>>> On Sat, May 6, 2017 at 7:41 AM, James Yong <[hidden email]>
>>>> wrote:
>>>>>>> Hi Taher,
>>>>>>>
>>>>>>> Thank you also for the thoughts shared in the 'Loading standard
>> web
>>>>>>> application' and opening the discussion.
>>>>>>>
>>>>>>> Instead of converting OFBiz fully into a single web application,
>> i
>>>> suggest
>>>>>>> we can have build functions:
>>>>>>> 1. to compile OFBiz into a WAR. This build-WAR function is
>> optional
>>>> and
>>>>>>> used only when the developer needs to deploy OFBiz WAR in a
>> separate
>>>>>>> Servlet Container. Only the necessary files will be added to the
>> WAR
>>>> file.
>>>>>>> 2. For deployment to different SIT / UAT / Production
>> environment.
>>>>>>> 3. Accessed through Screens with OFBiz standalone running. i am
>>>> thinking
>>>>>>> of a studio plugin but will discuss it another time.
>>>>>>>
>>>>>>> I haven't looked at Birt but i guess it can be embedded into an
>>>> existing
>>>>>>> web application. Some apps like CAS SSO doesn't allow embedding
>> out
>>>> of the
>>>>>>> box and has to be run as a standard web application.
>>>>>>>
>>>>>>> When using OFBiz WAR, any standard web applications dependency
>> can be
>>>>>>> deployed alongside. So should be no problem to support the
>> loading of
>>>>>>> standard web application in the plugins in OFBiz standalone.
>>>>>>>
>>>>>>> There should also be no impact if we add Tomcat SSO now. When
>>>> deployed as
>>>>>>> OFBiz WAR, Tomcat SSO will be irrelevant. Any SSO requirements
>> will
>>>> be
>>>>>>> specific to the J2EE container or via another standard web
>>>> application like
>>>>>>> CAS SSO. But adding Tomcat SSO to OFBiz standalone, we can solve
>> the
>>>>>>> problems listed in https://issues.apache.org/
>> jira/browse/OFBIZ-6963
>>>>>>> Regards,
>>>>>>> James Yong
>>>>>>>
>>>>>>> On 2017-05-06 09:37 (+0800), Taher Alkhateeb <
>>>> [hidden email]>
>>>>>>> wrote:
>>>>>>>> Hmmm, I'm not sure, but on first glance I'm not sure the best
>> way
>>>> to
>>>>>>>> integrate is by dropping in a war file? Maybe a more robust
>>>> solution is
>>>>>>> to
>>>>>>>> have an integration with the engine on the API level and
>>>> instantiate it
>>>>>>>> from within OFBiz within its own control servlet. For example,
>>>> take a
>>>>>>> look
>>>>>>>> at how BIRT is deployed.
>>>>>>>>
>>>>>>>> So yeah my proposal is more work, but a cleaner integration
>>>> solution
>>>>>>> IMHO.
>>>>>>>> On Fri, May 5, 2017 at 8:06 PM, James Yong <
>> [hidden email]>
>>>> wrote:
>>>>>>>>> Hi Taher,
>>>>>>>>>
>>>>>>>>> I am trying to develop an OFBiz plugin that consists of
>>>>>>>>> a) Camunda workflow engine (published as a WAR); and
>>>>>>>>> b) OFBiz web app that make use of the workflow engine.
>>>>>>>>>
>>>>>>>>> Allowing OFBiz to load standard web applications will allow
>> me to
>>>>>>> achieve
>>>>>>>>> the above setup using only 1 plugin, making things easy for
>>>> end-users.
>>>>>>> They
>>>>>>>>> only need to download that plugin, and not worry about
>> deploying
>>>> the
>>>>>>>>> Camunda workflow engine (published as a WAR) on his/her own,
>> as
>>>> the WAR
>>>>>>>>> file can be downloaded automatically via gradle script during
>>>> OFBiz
>>>>>>>>> starting up.
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> James Yong
>>>>>>>>>
>>>>>>>>> On 2017-05-05 18:07 (+0800), Taher Alkhateeb <
>>>>>>> [hidden email]>
>>>>>>>>> wrote:
>>>>>>>>>> This topic is very much linked to the previous thread that
>> you
>>>>>>> started
>>>>>>>>>> earleri "Tomcat SSO" so they might as well be one topic. I
>>>> think I
>>>>>>>>> answered
>>>>>>>>>> most stuff in that thread.
>>>>>>>>>>
>>>>>>>>>> However, I would add that in my opinion, maybe it would be
>>>> simpler
>>>>>>> if we
>>>>>>>>>> avoid implementing it in this fashion (ofbiz webapp +
>> standard
>>>>>>> webapp)
>>>>>>>>> but
>>>>>>>>>> instead treat all of OFBiz as a single webapp by
>> refactoring
>>>> the
>>>>>>> catalina
>>>>>>>>>> container. Having two ways of doing the same thing is
>> perhaps
>>>> an
>>>>>>> added
>>>>>>>>>> complexity and more cognitive load on people for no added
>>>> value that
>>>>>>> I
>>>>>>>>> can
>>>>>>>>>> think of. Unifying, on the other hand, would be a huge
>> added
>>>> value
>>>>>>> IMO.
>>>>>>>>>> My 2 cents .. and thank you for bringing up this discussion
>>>>>>>>>>
>>>>>>>>>> On Fri, May 5, 2017 at 11:35 AM, James Yong <
>>>> [hidden email]>
>>>>>>>>> wrote:
>>>>>>>>>>> Hi all,
>>>>>>>>>>>
>>>>>>>>>>> I am looking into allowing OFBiz to load standard web
>>>> application
>>>>>>> where
>>>>>>>>>>> there is no controller.xml and the jar files residing in
>>>>>>> web-inf/lib
>>>>>>>>> folder.
>>>>>>>>>>> Proposing to add an attribute named 'type' to the
>> 'webapp'
>>>> tag at
>>>>>>>>>>> ofbiz-component.xml, i.e.
>>>>>>>>>>>
>>>>>>>>>>> <webapp name="myapp"
>>>>>>>>>>>          type="standard"  <--------------- new proposed
>>>> attribute
>>>>>>>>>>>          title="Myapp"
>>>>>>>>>>>          server="myapp-server"
>>>>>>>>>>>          location="webapp/myapp"
>>>>>>>>>>>          mount-point="/myapp"/>
>>>>>>>>>>>
>>>>>>>>>>> This new attribute will help to differentiate standard
>> web
>>>>>>> applications
>>>>>>>>>>> from those in OFBiz, and allows Catalina Container to
>> load
>>>> them
>>>>>>>>> accordingly.
>>>>>>>>>>> When type="standard", will load as standard web
>> application.
>>>>>>>>>>> When type is empty, load according to OFBiz way.
>>>>>>>>>>>
>>>>>>>>>>> Any feedback is welcome.
>>>>>>>>>>>
>>>>>>>>>>> Regards,
>>>>>>>>>>> James Yong
>>>>>>>>>>>
>>>>>>>>>>>


smime.p7s (5K) Download Attachment