users@jax-rs-spec.java.net

[jax-rs-spec users] Re: [jsr339-experts] Re: MVC

From: Reza Rahman <Reza.Rahman_at_oracle.com>
Date: Mon, 30 Jun 2014 13:00:16 -0400

If I may presume to speak for our team at Oracle just for an instant,
let me assure you absolutely no one is looking at this as a "JSF
replacement". If some of the text was muddled at some point, it is
likely just an oversight or honest mistake.

I have to tell you though that I do think there are clear cases where an
action oriented framework might make perfect sense. Despite my personal
value judgements, I find it hard to say outright that those views have
no validity. I am sure a more coherent case for this new effort will be
soon forthcoming. I have to agree with you that stating the goals, use
cases and tradeoffs for this effort has to be clearly stated since this
is potentially a critical and largely unprecedented sort of thing for
Java EE. To me this would be a litmus test step for the undertaking and
the good folks leading it.

Please note that any views expressed here are my own and may not
necessarily reflect the position of Oracle as a company.

On 6/30/2014 12:41 PM, arjan tijms wrote:
> On Mon, Jun 30, 2014 at 5:26 PM, Reza Rahman <Reza.Rahman_at_oracle.com
> <mailto:Reza.Rahman_at_oracle.com>> wrote:
>
> I have to admit I personally think we could have worded the survey
> a bit better. MVC was in fact the wrong term to use in hindsight.
> An action oriented framework would have been more accurate.
>
>
> As a matter of fact, one of the very earliest wording from the EE EG
> did use the term "action-oriented web framework", see
> https://java.net/downloads/javaee-spec/JavaEE-EG-meeting-results.pdf :
>
> Java EE 8 Idea
> JAX-RS MVC
>
> * Action-oriented web framework.
> * Do we really need another standard web framework?
> * Would this be The One?
>
> Such a small amount of text, but it does say so much already. It
> clearly mentions that it's about action-oriented, and it poses the
> questions about whether a fullstack framework like Java EE really
> needs two standard web frameworks and whether this new one should be
> The One. I interpreted this last question as wondering whether it
> would ultimately replace JSF (maybe that interpretation is not
> correct, it's just an interpretation).
>
> That being said, I do think from the comments to the survey that
> the respondents actually understood exactly what we meant.
>
>
> That may be true indeed. In a way I think this is unfortunate though,
> as now Java EE too is more or less "helping" the increasingly common
> perception that MVC is strictly (or mostly) about the way Spring MVC
> has been doing MVC.
>
> In fact, there may be sound reasons to still carry forward the MVC
> term with this effort if we decide to go forward with it.
>
>
> From a marketing / PR point of view I can surely understand the
> reasoning. Both Spring MVC and ASP.NET <http://ASP.NET> MVC that use
> this specific model are well known names. Spring MVC, ASP.NET
> <http://ASP.NET> MVC, Java EE MVC... I agree it does have a certain
> ring to it ;)
>
> But from a technical point of view, especially for someone who has
> done the more classic MVC (as introduced by smalltalk and as used in
> various desktop toolkits) I'm not the biggest fan of this.
>
> An additional value to keeping JSF at arms length in this
> particular case is that the users of this new solution are likely
> to be averse to JSF in the first place, potentially needlessly
> limiting the success of the effort.
>
>
> I certainly recognize this sentiment and there absolutely is an
> element of truth to it. On the other hand there seems to be a similar
> kind of aversion among certain groups of people to the names "Java
> EE", "Oracle" and in fact "Java" in general. Case in point; read the
> comments posted for many Java/Java EE/Oracle related articles posted
> at say /r/programming at Reddit or hackers news. Naturally we would
> not want to keep any of those names at arms length. Instead, I think
> our common goal is to improve Java and Java EE in any way we can, and
> stress the point over and over again how much those technologies
> improved and how little of the old criticises still hold.
>
> For Java, Java EE and JSF I see the fruits of this everywhere. Half a
> decade ago they were all pretty much dirty words in the blogosphere.
> These days there are as mentioned above people averse to these
> technologies, but also an increasing amount of people defending it. A
> few years ago there would be a crowd of say 15 people attacking Java
> EE on one of the many Spring vs Java EE wars at TheServerSide and
> maybe one lone person sticking up for Java EE, while now on similar
> discussions at e.g. Reddit it's more like halve of the community
> sticking up for Java EE. A similar thing holds for JSF. Some 5 years
> ago many people were attacking JSF in discussions, these days at least
> half of the community or more is backing JSF. In recent discussions at
> places like Reddit again I'd say it's more like 1 or 2 people
> attacking JSF, with 4 or 5 defending it. It's quite a remarkable
> difference.
>
> I say this honestly from the perspective of a long time supporter
> of the JSF ecosystem that would still likely never choose to use
> an action oriented framework myself. The practical reality in this
> case is that the voice of the community may be unwise to not take
> very seriously.
>
>
> Absolutely!
>
> When the community said that EJB was too complicated with its myriad
> of required interfaces to implement, it was a good thing that the EG
> listened and removed that requirement. When the community said that
> it's unacceptable that JSF was so totally focussed on POST, it was a
> good that that the EG made GET first class as well in JSF.
>
> With the action-oriented effort it's a bit less clear IMHO. If you
> look at the amount of posts spend on this topic already, then I think
> it's maybe one of the most discussed topics ever since these kinds of
> discussions were held publicly. Yet, I still haven't seen a really
> clear example of why the action-oriented model is needed.
>
> I'm absolutely not saying that the model is not needed, just that
> there haven't been any examples posted about use cases that work well
> for action-oriented and don't work well for MVC pull. Up until now it
> mostly has been the case of a "we need action-oriented" and less about
> "with action-oriented you can do [this and that] without needing to do
> [such and so]", or "for this use case you need 100 lines of code with
> MVC pull and only 20 lines of code with action-oriented", etc.
>
> With EJB Entity Beans vs JPA for instance these examples were very
> clear. I still hope to see some clear example for action-oriented.
>
> Regards,
> Arjan
>
>
> Please note that any views expressed here are my own and may not
> necessarily reflect the position of Oracle as a company.
>
>
> On 6/30/2014 10:55 AM, arjan tijms wrote:
>> On Mon, Jun 30, 2014 at 4:25 PM, Sergey Beryozkin
>> <sberyozkin_at_talend.com <mailto:sberyozkin_at_talend.com>> wrote:
>>
>> Hold on. I don't like you making the assumptions about me
>> kind of dismissing that the conversation about the
>> intersection between JAX-RS and JSF should take place.
>> Neither I like you quoting single lines from my earlier
>> comments which loses the context.
>>
>>
>> I'm sorry if I misquoted you. I just tried to keep the amounts of
>> quoted text to a minimal.
>>
>> Correct me if I'm wrong, but what I think you're saying
>> here is that you
>> don't care whether JSF will use JAX-RS as a foundation or
>> not?
>>
>>
>> You got it wrong. Let me clarify: I do not mind if Java EE
>> developers working with JAX-RS will start using JSF for the
>> MVC work or not once the JAX-RS MVC work is done, and
>> presumably JSF becoming a de-facto 'consumer' of JAX-RS MVC.
>>
>>
>> Okay, that's indeed what I thought you were saying. Thanks for
>> the clarification though ;)
>>
>> That is not important for me. What is important for me is
>> that I or other users can work with JAX-RS MVC without having
>> to depend on JSF
>>
>>
>> So this is the part I guess we just have different opinions
>> about. That doesn't matter of course, since if we all agreed with
>> each other from the get-go there wouldn't be much discussion
>> needed, would there? Let's agree that we disagree on this
>> specific part.
>>
>>
>>
>> To sum up I propose to take the following into account:
>>
>> 1. Just "MVC" is too broad
>> 2. Use "MVC push"/"action oriented" for what Spring MVC does
>> 3. Use "MVC pull" for what JSF does
>>
>> Would that make things more clear?
>>
>>
>> AFAIK we have not started a technical discussion yet and as
>> such I'm not sure why are we talking about these technical
>> distinctions here
>>
>>
>> Well, the general discussion about this has started (as we're
>> having this discussion now). I don't think it's necessary for the
>> discussion to become deeply technical in order to make this
>> subtle but important distinction.
>>
>> In much of the communication towards the user, e.g. via the Java
>> EE 8 survey, it's now communicated that Java EE 8 will either get
>> "an MVC framework" or will get "an additional MVC framework". For
>> existing Java EE users this may sound confusing. You can either
>> interpret it as saying that JSF is thus not an MVC framework,or
>> wonder why two of the same things are needed.
>>
>> The simple answer is that JSF IS an MVC framework too, but of a
>> different kind, and that the new work is not about an identical
>> thing to JSF but a different kind of MVC. Claiming MVC to be
>> solely about the kind of MVC that Spring MVC does is IMHO not
>> correct.
>>
>> Much of this confusion can be avoided by consistently talking
>> about MVC push or action oriented. Even without going into the
>> technical details I think we can agree that everything that's
>> planned for JAX-RS MVC is about the push / action oriented variety.
>>
>> Regards,
>> Arjan
>
>