jsr339-experts@jax-rs-spec.java.net

[jsr339-experts] Re: MVC

From: Sergey Beryozkin <sberyozkin_at_talend.com>
Date: Mon, 30 Jun 2014 10:38:17 +0100

On 30/06/14 10:36, Sergey Beryozkin wrote:
> Hi Markus
> On 29/06/14 17:39, Markus KARG wrote:
>> I gave the topic another thought from the aspect of Java EE as a platform
>> (ignoring REST), and like to add that I see the technical merits of
>> combining the two technologies JAX-RS and JSF into one. In coarse,
>> redefining JSF to become an implementation of the JAX-RS 'Feature'
>> interface
>> providing Filters, Entity Providers and Exceptions Mappers, and
>> dropping all
>> its internal plumbing in favour of JAX-RS, is actually appealing. This
>> won't
>> change anything w.r.t. existing JAX-RS, but it would spare JSF
>> implementations some duplicate code, obviously, as the JAX-RS-Servlet and
>> the JSF-Servlet mostly do the similar things internally (path matching,
>> parsing, rendering, exception handling, CDI, ...). The "simple"
>> difference
>> between JAX-RS and JSF is that the first is for machine users, the latter
>> for human users.
>
> This is simply not correct. JAX-RS is primarily about streamlining the
> development of server-side REST or simple HTTP applications. People do
> write Web UI applications today, including those depending on MVC.
I meant that they do it on top of JAX-RS as opposed to stating the
obvious fact...
> The
> goal of the MVC effort has to be about providing a light-weight
> standardized link between JAX-RS Responses and existing view processors.
>
> The addition of client API to JAX-RS 2.0 just fills the gap to do with
> the need of developers be able to write a standardized code for
> consuming external HTTP applications but it does not turn JAX-RS as a
> tool for machine users as such.
>
>> So an existing JAX-RS application could become human-usable
>> simply by adding JSF.jar (or enabling a "Use JSF" config property) and
>> providing some nice facelets in theory.
>>
>> So my proposal would be, go with separated PDFs provided by a joint EG,
>> keeping JAX-RS clean of MVC, but allow frameworks like JSF to use the
>> technical core of JAX-RS if that is beneficial for them.
>>
>> As this topic mostly is driven by the frameworks needs, less by
>> RESTafarians, I'd like to propose to invite at least Ed Burns to become a
>> JAX-RS 2.1 Expert Group member so he can take care that we understood the
>> JSF needs and he sees what he can drop once accepting JAX-RS as new
>> foundation.
>
> I don't have problems about JSF experts contributing to the effort for
> JSF benefit from it, but I'd have major issues with it all becoming
> about JSF.
>
> Cheers, Sergey
>>
>> Regards
>> Markus
>>
>> -----Original Message-----
>> From: Markus KARG [mailto:markus_at_headcrashing.eu]
>> Sent: Freitag, 30. Mai 2014 23:02
>> To: 'jsr339-experts_at_jax-rs-spec.java.net'
>> Subject: RE: [jsr339-experts] Re: MVC
>>
>> Frankly spoken, I am not clear about the intention of adding MVC support
>> particularly to JAX-RS. What do users expect to get in the end,
>> keeping in
>> mind that JAX-RS's very own target is to provide a framework for RESTful
>> applications -- which by definition are stateless, while MVC is stateful,
>> just like JSF is. Could it be the case that MVC, just as with SSE (see my
>> other posting), is a candidate for a separate API built ONTOP of
>> JAX-RS (an
>> OPTIONAL extension to JAX-RS in a technical sense)? I think so, so if
>> Bill
>> Shannon likes to get that, and the JAX-RS EG group denies this to be
>> RESTful, it might be an indicator that my proposal of splitting JAX-RS
>> into
>> "Java API for http" and "Things built ontop of that, like REST, SSE, and
>> MVC" is valid and should be implemented. If JSF wants to get an MVC layer
>> implemented by JAX-RS technology, the way to go then would be that "we"
>> (JAX-RS) provide "Java API for http" (= the technology defined by JAX-RS
>> currently), while the JSF guys *use* that to build their MVC stuff ontop.
>> But frankly spoken, I do not see why "we" (JAX-RS) should provide MVC, is
>> that is not REST.
>>
>> Regards
>> -Markus
>>
>>
>> -----Original Message-----
>> From: Bill Burke [mailto:bburke_at_redhat.com]
>> Sent: Freitag, 30. Mai 2014 21:12
>> To: jsr339-experts_at_jax-rs-spec.java.net
>> Subject: [jsr339-experts] Re: MVC
>>
>>
>>
>> On 5/23/2014 4:36 AM, Sergey Beryozkin wrote:
>>> Hi
>>> On 22/05/14 22:05, Santiago Pericas-Geertsen wrote:
>>>> Dear Experts,
>>>>
>>>> As you may have seen in the Java EE 8 survey, there was significant
>>>> interest in adding an MVC framework to the platform in EE 8. After
>>>> some analysis, we are convinced that the best place for this work is
>>>> in JAX-RS.next. In fact, as many of you may recall, this was on our
>>>> list for JAX-RS 2.0 but we've never got a chance to discuss it in any
>>>> detail.
>>>>
>>>> I'm aware of some discussion in the JSF alias in relation to MVC in
>>>> general, and its support as part of JAX-RS in particular. I plan to
>>>> send an e-mail to the JSF alias as a way to establish a liaison
>>>> between the two groups. I believe their expertise would be of great
>>>> value for us and will help us design a framework that addresses the
>>>> requirements of the EE community.
>>>>
>>> Look forward to JAX-RS supporting MVC and SSE. As far as the future
>>> JAX-RS MVC is concerned, I hope it will not only target EE users
>>> though :-). i.e, it would work even if no JSF is available, but of
>>> course the input from JSF experts will be of great interest.
>>> Using Jersey MVC as a template would be a nice start IMHO, we have a
>>> less involved support for it, but I think it is close enough to the
>>> way Jersey does it in some cases.
>>>
>>
>> I am 100% against MVC in JAX-RS. Are we really going to introduce a
>> legacy
>> and now defunct pattern to JAX-RS? The trend and future is Angular JS or
>> GWT apps with simple RESTful back ends.
>>
>> This is wrong guys. You will regret adding and it will end up on the
>> long
>> list of Java EE features that nobody uses and bloat we'll have to
>> support.
>>
>> SSE and now MVC, I'm really disappointed in the direction of JAX-RS.
>>
>> --
>> Bill Burke
>> JBoss, a division of Red Hat
>> http://bill.burkecentral.com
>>
>
>