Archive for the 'jsp' Category

31
May
07

JAX India 2007 – Bangalore day 3

Below is the coverage of todays sessions and my takeaways. The slides for all presentations are available here.

JSF and AJAX : Best of Friends (by Craig McClanahan, SUN Microsystems)

  • The motive was to convey various means of achieving AJAX while using JSF. Though all means are workarounds in my opinion. JSF specification should have built-in support for AJAX. It lost out in this front because of the delay in finalizing the specification and AJAX peaking up during the same time.
  • The means are : (a) DIY (Do It Yourself) (b) Use JSF components with native AJAX (c) Wrap client side JS libraries (d) Make non-JSF calls to the web server.
  • DIY – Most JSF components have JS event methods. Leverage that along with own JS methods and XMLHttpRequest or other client side JS toolkit like Dojo, Prototype or Scriptaculus. Involves lot of work. Implementing page refresh might be tricky.
  • JSF with native AJAX – Components take care of making async calls and updating DOM. Simpler to use. Loads of OSS and commercial ajaxified JSF components available. e.g ADFFaces, MyFaces, etc
  • Wrap JS libs – Strongly suggested Jmaki which wraps different client side AJAX libraries like dojo, prototype etc.
  • Make non-JSF calls – You can choose to use any of the AJAX libraries and make them talk to a servlet directly instead of going thru the JSF life cycle. Handling the component tree update will be tricky.
  • choose any of the above options based on whether you need to keep the component tree in sync with the DOM updates.

Should you adopt/migrate to Struts 2.0? (by Harshad Oak, Rightrix Solutions)

  • Provides an overview of new features of Struts in 2.0 release. Its basically like Struts 1 + WebWork = Struts 2.
  • Features include annotation support, interceptors through servlet filters, convention over configuration, derive method name from URL, concept of value stack, new tag libraries, a Guice based minimal DI container to integration with Spring, no form beans etc
  • Integration points for Spring, AJAX frameworks like dojo, GWT etc.
  • Package names now contain com.opensymphony.*.
  • Migration from Struts 1 to Struts 2 is difficult because of such drastic changes but migration from Webwork is lot easier.

My opinion – its a mess now, it is dieing. The code code sample he shown looked lot messier, a result of merging two frameworks. The author himself seemed directionless like the framework and mostly tried to highlight that the framework supports all the buzz words in web framework market these days. Guess Webwork is banking on Strut’s image now to sell itself. :( Pity for both of them. Good for us (developers) since we have two frameworks less to worry about now.

Can tools improve even a power geeks productivity? (by Craig McClanahan, SUN Microsystems)

  • Brings out the point that geeks who like playing with their good old editors using the combination of hot keys and the keyboard, can be more productive if the IDE has appropriate features.
  • Few features that makes a java IDE good are – documentation lookup, refactoring, real time debugging, unit testing support, version control support, database administration, deployment, generate boiler plate and plumbing code, allow maven / ant structuring, integrate runtime dependencies, heterogeneous programming language support, generate skeleton OR mapping and support for popular frameworks etc.
  • Demonstrated Netbeans IDE supporting these features, though he named Eclipse in the context. So i would not say that we was solely pushing the SUN product by throwing a catchy session title.

You can’t just buy an Open Source community (by Neelan Choksi, COO Interface21)

  • This talk was to highlight that all the commercial vendors taking the open source route to stay in business will not succeed. They can not buy the community by open sourcing their products e.g OpenJDK, OpenJPA, JBuilder etc etc.
  • The only sensible thing he talked about – Community is the most important factor in success of open source projects. You need to build community and their are few approaches to do that.

Otherwise the talk was complete waste of time. More focused on picking up failures from rivals and quoting Interface21 as the rightest thing to ever happen. The less you write about his presentation skills, on stage persona and language command the better it is for Interface21. An instance of catchy title but patchy content. :(

Why is everyone so excited about Ruby-on-Rails (by Neal Ford, Thoughtworks)

  • Title says it all – marketing of RoR. However i still wanted to attend to see whats inside RoR. And to be honest, i was taken aback, throughly surprised with zillions of questions shooting here n there in my mind.
  • Few features – RAD development (they mean it, needs to be seen if it works in enterprise apps), agility, instant feedback, OR mapping via ActiveRecord, no compile/deploy etc, scaffolding, testing generation, web 2.o support etc.
  • Follows standard folder structure which helps in getting rid of configuration files, making safe assumptions. Generates method code at runtime based on need.
  • Recommends Streamlines, a 3rd party scaffolding library.
  • Admits it slowness now but expects drastic improvements in next release.

my thoughts – this is a completely different way of developing web apps. Given the productivity features and all the buzz around it, i feel the time has come for a try on it for an agile development project.

SOA: The future of distributed computing? (by Neal Ford, Thoughtworks)

  • I am not a SOA fanboy but attended it since none other parallel session were any better. Not sure if i followed him properly but i guess he started with bashing SOA and ended with the note that it has the best chance to work this time for distributed computing.
  • One should download the slides from his website and go thru it. Its pretty humorous and informative at the same time.

Overall, one key point to note is that the audience is much more patient and lenient while listening to the established speakers as against the local ones. I had expected more skilled and professional audience since most of them are at architect or designer level. But few basic ethics like allowing the speaker to cover the topic before asking ahead or out of context questions, things like limiting conversations to certain iterations etc were clearly missing and thus few of the sessions were reduced to mere show-off events than for knowledge exchange.

18
May
07

SUN Technology summit 07 – Bangalore

It started with a keynote address by Scott McNealy. Few points that he brought out were,

> Moore’s Law is not good enough. We are progressing even faster.

> Focus on social networking and community building. He is seeing huge opportunity there. Mentioned about Curriki, the one of its kind online curriculum and other related stuff, free and open source.

> Showcases UltraSparc T2, slated to be released in few months time. Requested developers to write multi threaded applications to make real use of the processing power offered by these advanced chips.

> Requests greater participation by Indian IT professionals in java communities. According to him, 25% of the members of SUN developer network are Indian, so at least 25% of the source code contribution should be from them.

> Showcases grid computing platform Network.com. First 100 hrs CPU time free, 1 USD for each subsequent hour. Suggests moving of data centers to its super computer grid.

> Talked about JavaFX accepting competition from Apollo while failing to remember the M$ offering in this area (Silverlite). Tried to justify “yet another scripting language” in JavaFX from SUN. Says, 90% of cellphones already run java. JavaFX mobile technologies to leverage on it while providing a fully integrated java stack in cellphones.

> All the while he did stress on the point that almost all offerings from SUN is now FREE and Open Source. He didn’t forget to name Java SE, Netbeans, GlassFish, OpenSolaris and others as OSS products at every opportunity.

> Speaks about Derby and PostgreSQL.

Overall his speech was more of SUN marketing and Microsoft bashing with occasional statistics. I was expecting few lines on future plans on technologies but i was disappointed.

Sessions:

There were a good numbers of sessions squeezed in a short time span of 4 hours. Topics were in expected lines, like Java EE 5, GlassFish, OpenSolaris, Java DB, Dtrace, AJAX and Web 2.0 (not sure how much SUN contributes in this area) and Netbeans etc. Except for a couple of sessions all others were a mere slide rush-thru. The sessions were more of a platform to throw jargons than to discuss anything serious about the subjects. Surprisingly there was no session on JavaFX neither a single mention of Groovy anywhere. :(

Speakers:

None worth taking note except for the session on Dtrace. :( Most of them were IT kids, may be with just couple of years of experience in industry. They obviously lacked presentation skills, thus killing the interest in the subject. The most disappointing of all was the session from “Suresh Narayanan” on AJAX and Web 2.0. He was clearly not knowledgable enough on the topics to present them in front of such a huge crowd. Many of the things that he spoke outside-of-slides were wrong. At one point i got so annoyed that i had to correct him by saying that “building AJAX applications in GWT involves coding using GWT APIs and not using Swing APIs”.

Conclusion:

I hope SUN does some due diligence in future while choosing speakers for conferences. The crowd in conferences in India are no more IT kids. Its a mix of experience and youth. The telecom and IT boom in India has resulted in increased skill level of average IT mass. So you can not just get away with some random blabbering any more.

I would not say it was complete waste because i missed two good sessions (mistake in choosing tracks). There were a couple of new jargons i picked up which i am going to look into further and the speech from Scott was good barring the marketing stuff. Oh, one more thing – the venue and the food were absolutely wonderful!!! :)

03
Oct
06

The JSF/JSP EL mess

Its a known fact that SUN messed up very badly with the design of Expression Language. Its quite strange to imagine that they persisted with different syntaxes for EL within JSF and JSP even though both of them were getting finalized concurrently. I have been looking for reasonable justification for the same. Not that i have found any yet, but still i am putting down SUN’s efforts at it here. Its a copy from the JEE 5 tutorial. See if you get convinced.

JSP supports a simple equest/response life cycle, during which a page is executed and the HTML markup is rendered immediately. Therefore, the simple, read-only expression language offered by JSP 2.0 was well suited to the needs of JSP applications.
JavaServer Faces technology, on the other hand, features a multi-phase life cycle designed to support its sophisticated UI component model, which allows for converting and validating component data, propagating component data to objects, and handling component events. To facilitate these functions, JavaServer Faces technology introduced its own expression language that included the following functionality:

  • Deferred evaluation of expressions
  • The ability to set data as well as get data
  • The ability to invoke methods.

These two expression languages have been unified for a couple reasons.

  1. One reason is so that page authors can mix JSP content with JavaServer Faces tags without worrying about conflicts caused by the different life cycles these technologies support.
  2. Another reason is so that other JSP-based technologies could make use of the additional features similarly to the way JavaServer Faces UNIFIED EXPRESSION LANGUAGE technology uses them. In fact, although the standard JSP tags and static content continue to use only those features present in JSP 2.0, authors of JSP custom tags can create tags that take advantage of the new set of features in the unified expression language.

To summarize, the new, unified expression language allows page authors to use simple expressions to perform the following tasks:

  • Dynamically read application data stored in JavaBeans components, various data structures, and implicit objects.
  • Dynamically write data—such as user input into forms—to JavaBeans components.
  • Invoke arbitrary static and public methods
  • Dynamically perform arithmetic operations.

The unified EL also allows custom tag developers to specify which of the following kinds of expressions that a custom tag attribute will accept:

  • Immediate evaluation expressions or deferred evaluation expressions. An immediate evaluation expression is evaluated immediately by the JSP engine. A deferred evaluation expression can be evaluated later by the underlying technology using the expression language.
  • Value expression or method expression. A value expression references data, whereas a method expression invokes a method.
  • Rvalue expression or Lvalue expression. An rvalue expression can only read a value, whereas an lvalue expression can both read and write that value to an external object.

Finally, the unified EL also provides a pluggable API for resolving expressions so that application developers can implement their own resolvers that can handle expressions not already supported by the unified EL.

Do you accept this argument?




What You Said

Laxman on Passport for Baby in Bang…
nishi on Bangalore Property
Nilanchal on Bangalore Property
Nilanchal on Bangalore Property
suraj on Bangalore Property
Joe on Bangalore Property
Nilanchal on Bangalore Property
tgvindia on Bangalore Property
Swetha Viswanathan on Bangalore Property
Mr. Charm on Bangalore Property

History

Blog Stats

  • 129,690 views

Bookmarks