last night i had the opportunity (as i do every month, so i guess it’s not an opportunity, but rather a regular thing) to go to the phoenix java user group meeting.
why are you going to that? why not. i’m a software developer. they talk about software development. yeah, they talk about java, but it’s always interesting to see why people are using the wrong technologies. oops did i say that out loud? i am kidding of course. i go because it is interesting to see what *all* technologies are doing to adapt to the changing needs of business and software development communities. java (sun) is no differnent than .net (microsoft) in that regard.
the first half of the meeting was their president (todd ellermann) talking about his participation in the technology summit held last month. he did an overview for the group of his perspective of the event. another overview can be found here from another attendee’s perspective. i will not go into detail here…it is better, quite frankly, to hear it from a non-ms mouth.
the next part of the meeting was interesting…very interesting to me. a “java ambassador” (i interpreted this to be like the ms evangelism team) was there to talk/demo about java studio creator and java server faces. for the purposes here, i am choosing to draw a direct coorelation to visual studio and asp.net — because that’s exactly what i saw last night.
to preface, the java guy (tom, who did a great job by the way) paved the way by talking about who the target is for these tools/technology (java studio is a tool, server faces is the technology). he was very clear that one of the primary (not the only) targets was the vb developer (you can also see sun’s feeling on this as well on their site: http://blogs.sun.com/roller/page/brewin/20050403#end_of_an_era. tom went as far to say “we want to conver the vb developer.” in describing the tool (java studio) he described it as a fully integrated ide with tools built in for editing, debugging, testing, etc. (sound familiar) and specifically called out by saying “we wanted to make it look like the ms tools” — now i interpreted that as not copying, but rather in the effort to sway the vb developer, the tools had to look/feel familiar. there was a lot of marketing speek about how cool it is etc. then he gave some dates. java server faces/studio was announced and initially launched in the fall of 2003…keep that in your short-term memory bank for the remainder of this read.
okay, on to the demo. he launches java studio creator on his java desktop machine (yes, running java desktop on a linux distr.). wow, the ide looks familiar…it has a design surface, a project explorer, output windows, widget panels, server explorer, properties editing ui, etc., etc. in case you don’t get where i’m going here…let me rephrase this: it has a design surface with tabs for visual design and jsp source (design surface for designer and html views), a project explorer (solution explorer), output windows (output windows, immediate, etc.), widget panels (toolbox), server explorer (duh, same thing), properties editing (duh, same thing), etc., etc. — i mean, it looked like vstudio! now i admit, this is the first time i’ve seen this, so granted it may have been around before…but remember the date (fall 2003)…i mean, visual studio 2002 was fall 2001. for once i felt inside (yes, i have to admit it) that i felt *hopefully* someone may see this java studio as a follower…it always seems to be the other way around.
this was more pronounced when the java server faces were being demonstrated and discussed. let me put this in phrases that make it simple. what i saw in java server faces was everything that has existed in asp.net. seriously, everything…here’s some interesting comparisons.
- validators — they had required validators, range validation, operator validation, etc.
- widgets (controls) – there was listbox, text field, etc, etc. — all with data binding capabilites (read more on that later)
- “backing beans” (read: codebehinds) for each JSP page created.
- there was an application/session backing bean for the web app — read more on that later
- the ide had “code clips” (read: code snippets)
- the ide had the “squiggly” lines indicating there was a bad reference or bad code (i’ve always said intellisense is the most underrated application)
pretty much asp.net stuff that i’ve been used to working with. what was interesting was when i asked (naively of course because i really didn’t know) is this stuff available now? the response form the gentleman in front of me was kinda funny in a way. he turned and said with kind of a smile/smirk (they knew i was from ms in the room) yeah, it’s been around, i was using it this morning. now i could have easily b-slapped the comment to that’s nice, because i was waiting for your technology to catch up to what i’ve been doing since 2001 but i didn’t.
at any rate, it was ironic…the stuff was the same philosophy, goals, etc. that visual studio.net and asp.net have been doing since the inception. what was the most amazing was everyone in the room saying “cool” and all the oohs and aahs going on…i wanted to scream so bad, but didn’t…well okay, later i did.
there were some cool things in the tool that i did like and think ms should adopt…here’s some snippets..er i mean clips ;-):
- page navigation — they had a UI tool in the ide to basically create the sitemap xml file that could be used to help auto bind navigation rules — it would be cool if whidbey has this to create the sitemap.xml file
- drag binding — you could drag/drop your data objects on top of a control (i.e., listbox) and the databinding would be done for you — it pops up an intuitive “what fields” kind of thing — i think this is better in whidbey with the smart tags concept
- validation — for the simple ones, like required, it was a part of the control…basically you set a control’s property to required=”true”
- ui mapping of control values to scope variables (session, application, etc.)
there were also some things i think that need improvement (as well did the audience)…
- the session bean was cool everyone thought, but tom couldn’t comment if it was tied to http session but did mention that there is no session failover (so clearly it is then), which caused some stomach growls — hey, asp.net has a state server and other ways for managing that in a clustered environmnt :-D
- on the databinding there seemed to be an assumption the source would be JDBC rowsets — this didn’t bode well with the audience — did i mention whidbey has a provider model and abstracts the databinding objects to a point of “who cares” what it is on the backend?
at any rate, i’m babbling…my point being this was cool…it really was…but there definitely was some satisfaction to me knowing that i’ve already been doing this for a while…a long while.