Rebuttal of Greg Wilkin's Blog about Servlet 3.0 PR
Someone just pointed me to Greg Wilkin's latest blog entry. I tried posting my response in his comments however it was tagged as spam and not displayed. So I am making the comments available her.
I am REALLY surprised at this blog. Let me try to answer some of these questions in the public forum.
"This public draft of the servlet-3.0 represents a thought experiment in API design unhindered by the complexities of implementation, trial usage or community feedback."
An implementation of this is available in GlassFish in the trunk.
"As a member of this Expert Group, I've been as guilty as the other members by looking at uncompiled/untested APIs and believing them to solve the issues at hand, only to later discover that these APIs prove to be unworkable when implemented and/or used."
The APIs are implementable. Take a look at the GlassFish trunk.
"Requests for test implementations have been denied"
I never saw a request from you. In fact YOU offered to implement some of the features in Jetty and showcase the technology.
"Any feedback received on the email@example.com list have been kept private and not shared even with the EG, despite several requests. "
Please check your email carefully. All the mails that I have received I have forwarded to the EG. Also I never saw a request from you to share feedback that is received.
"EG members and community feedback raised concerns about the security and ordering aspects of the automatic deployment possible with the Annotations and Pluggability feature (see below). The response was not the "How can we address these concerns" discussion that I was expecting. Instead the response was more along the lines of Obe-wan Kenobi saying "these are not the concerns you are looking for. Move along!" "
Looking into the security concerns we introduced the enabled, flag that can enable and disable servlets. Also like some of the other EG members pointed out that if a user does not know how a framework works he shouldn't be using it in the first place. Or if a framework is authored badly then it shouldn't be used in the first place. The problem is that you never get PAST what YOU suggest as a solution and YOU always think of solutions keeping that in mind.
"Alternately, some unsubstantiated requirements (eg. wrapped asynchronous requests) have been included at a late stage without any use-cases or user demand, which have introduced whole new dimensions of complexity so that discussions have been ratholed for months chasing marginal edge cases."
I don't believe that you say this. Late in the game and we rat holed more on the use case that you had as opposed to the wrapped use case. In fact if you remember, members of the EG were opposed to the re-dispatch semantics that we had. So please don't provide an incorrect picture to the people reading your blogs.
We have had no such experience with the use of annotations in JAX-WS, EJB, and other places in the Java EE platform. Also there are ways to turn off the accidental deployment - use the enable flag to enable / disable servlets. Are you even paying attention to the solutions that the EG is working on providing?
Please provide numbers of how deployment is slowed down. If you just "feel" that deployment will slow down significantly it isn't good enough. In the Java EE 5 days we did the analysis of scanning of annotations and the result was that we didn't see any significant slowing down. I can share the numbers in the EG if you are REALLY interested in the problem.
Yes this is a problem for the fragments. However there is a solution to use the web.xml to do the ordering. Also your blog seems to be getting confusing. On one hand you criticize the feature of pluggability with accidental deployment, slowing down deployment with scanning, and on the other hand you want to use the feature and not define everything in the web.xml? Make up your mind what you want? Use the feature or just keep using the web.xml as before.
As for the async rebuttal and everything else about the Async proposal just a few quotes from emails to the EG.
Quoting you -
"Excellent! This proposal is definitely better than suspend/resume!"
Quoting another EG member -
"Greg, I think you're being too aggressive. I do realize you care about the subject.
I think Rajiv's design is now quite fine, so using the "flood until he
agrees to my stuff" tactic is unfair. From what I've seen many have
stated a preference for his design (I have a coworker who's also not
very comfortable with your design). And the adapted code example looks
good to me too."
You have just taken this tactic outside the EG now because the EG members were starting to point this out to you.
I am really starting to agree with Bill Burke about the statement he made in his blog.
Maxim MoldenHauer, the IBM representative on the EG has also blogged on the issue.