Archive for June, 2007

I’m so glad Java on the web tier rocks

Brian LeGros | June 24th, 2007 | programming  

So yeah, Java on the web tier rocks, at least from the awesome assessment I just got done making from the Java Pet Store 2.0 Blueprint Implementation (JPS). My hopes were pretty high going into this project that I would see some good programming practices in the web tier that would inspire my thought process with respect to ColdFusion. Unfortunately, if the JPS application is any clue what the Java community thinks “Web 2.0″, then they’re in trouble. Here are a few things that have been giving me headaches as I’ve been going through their source code:

  • Table-based layouts :)
  • No XHTML compliance
  • Gobs of Javascript code located inline within the HTML document
  • AJAX implementations preached as features of JEE 5 are truly just code written to interact with the Dojo library. I have seen only one instance in my, all be it limited, analysis that showed me Javascript code generated by any Java web-tier software. ColdFusion’s AJAX integration and binding capabilities will put their implementation to shame.
  • Uses an RSS control (via JSF I think) to consume an RSS feed and render it as HTML. Looks interesting but where is the RSS integration to provide feeds? How many developers, besides RSS aggregator builders, actually want to consume feeds? <cffeed> will be a welcome substitute for what they have.
  • There is this crazy set of classes to encapsulate the functionality of working with Lucene for searching the site. Can’t wait to implement <cfindex> and <cfsearch> to get rid of these 7 or so classes.

Please keep in mind I am no JEE expert and although I’m excited about interacting with new specs such as JPA, I don’t know much about them. That being said, I do however feel comfortable enough with good web practices to realize that this technology demo is not web savy. I feel I understand the purpose of the JPS application as a technology demo for JEE 5, but the use of web standards that it promotes is severely lacking. What I am able to accomplish using Java in the application/business-tier is amazing and I don’t see myself deviating from that any time soon. What I am able to do with ColdFusion in the web-tier vs. what I’m seeing in the JPS definitely convinces me that I won’t be using Java for the web-tier with any of my applications.

So far the raw conversion of the JPS in Java to ColdFusion has been trying, and after 6 hours, I’m ready to take a break. Hopefully, I can motivate myself to get into the “nitty-gritty” of the Javascript code they’ve written using Dojo to see what I need to reproduce from a CF perspective to satisfy their code. I figure once I’ve gotten the app working using a very stripped down CF approach, I can begin to do what I actually wanted to do from the start … make the application actually look good and simplified.  I may skip the use case analysis because I’m not good at collecting requirements, but the UML I think can be done quickly and simply to show its benefit.

Adobe Developers of Greater Orlando Website (Adogo)

Brian LeGros | June 19th, 2007 | news  

First of all a big congratulations to Adam for putting together the start of the website for the Adogo. The new website for the user group is http://adogo.us. Over the next few weeks we’ll be submitting the formal paperwork to Adobe, setting up a Google Group, and a Google Calendar to give the appearance of greater organization ;)

We will hopefully be posting a call for topics soon with many of the suggestions from the “pre-meeting” held at the beginning of the month. If you are an Adobe professional in the Greater Orlando Area, please sign-up for the site and throw its feed in your RSS aggregator.

There’s lots to come, so stay tuned to what we hope will be a great user group experience.

Here comes the Orlando [something or rather] User Group

Brian LeGros | June 14th, 2007 | news  

I want to give my thanks to everyone who came out to the organizational meeting for the Orlando Adobe [something] User Group that we are trying to put together. We had some truly awesome feedback from everyone and I think we’re really going to have some dynamite material and resources to start out with in August. Thanks to Joe and John, Mario, and all of the CFI crowd for coming out to contribute.

I’d like to congratulate Adam Fortuna on his recent appointment to Manager of the user group. He’s a hard working contributor to the ColdFusion community and we’re extremely lucky to have him. Way to go Adam! We have lots of people willing to participate and lots of work to do. We should be posting updates to our blogs over the next few weeks with plenty of polls and details to come.

In fact, one of our first orders of business is to decide on a name for the user group. We’re not trying to take ourselves too serious here, however I’m sure we can find a nice balance with the professional. Any ideas? Leave a comment and let us know what you think.

Startup Meeting for the Orlando Adobe Developers User Group

Brian LeGros | June 13th, 2007 | news  

Well we’ve decided to start putting together an initiative to organize an Adobe Developer’s Group in Orlando. A bunch of us from CFI are going to meet a Bear Rock Cafe in Millenia @ 7:00 PM on Thursday, June 14th, 2007. I’ve been told they have free wifi as well, so that’s an added bonus. We’ll be discussing the following topics lead by myself, Max Porges, and Adam Fortuna:

  • Meeting format, time, and location
  • Possible topics to be covered at the meetings
  • Web presence
  • Leadership and responsibilities
  • User group name

Anyone who is interested in helping organize this group please attend. We can use all the help we can get. See you all there!

NOTE: Unfortunately since we are just starting out, there is no sponsor for this event so we will just be meeting at the Bear Rock informally. Food will not be provided, but I’ll show up a little early and get some food. Sorry everyone. :(

The Proof is in the Pudding!

Brian LeGros | June 8th, 2007 | news  

I just want to give a huge congratulations to my friend and colleague Michael Sica for recently completing the initial release of Pudding for his company Ataraxis Software. Straight from the site: “Pudding is a simple visual collaboration tool. You upload images and invite people to review, comment on, and approve your work.” The software is very intuitive and does a very good job of making the tedious process of creative approval very simple.  Pudding is a RoR app that has seen a lot of love and has some amazing plans for growth in the space it is servicing.

I am really excited for Michael and wish him nothing but the best in his endeavors. This is a huge accomplishment and he should be proud.  Great work Mike!

Where is the OCFUG (ock-fug)?

Brian LeGros | June 6th, 2007 | programming  

So I was on Adobe’s site tonight and decided to search for a ColdFusion User Group in Central Florida. To my dismay, there isn’t one in the Central Florida area except for Tampa which I consider the West Coast of FL and too far of a drive from Melbourne. I expected to at least see a presence in Orlando, after all I know of tons of shops in Orlando that use CF pretty religiously (CFI, FCE Corp, Lockheed Martin, NASA, Blue Tangerine, Harris, Orange County, Osceola County, etc.). I did a search on Google and came up with these guys: ArcIMS and ColdFusion User Group. Does anyone know if this group is active? I see job postings from pretty recent, but the meeting dates are long over and the site doesn’t seem to be too active.

Out of curiosity, I read the info on what it would take to create an OCFUG. Wow, that could potentially be a lot of work and go against my goal of decreasing my responsibility in life. That being said, would anyone else be interested in participating in an Orlando CF User Group? If there was enough of a demand, I’d be up for helping out. I know the ORUG and OJUG work pretty closely together, maybe they could give some tips on location and such. I could even see the inclusion of Flex into the topic list for the UG meetings. Do any current user group leaders in other areas have any suggestions on getting people interested in creating an Orlando ColdFusion User Group and me being motivated ;) ?

I put your lunch in the fridge … next to the ColdFusion container

Brian LeGros | June 3rd, 2007 | programming  

Well, no sooner do I finish blogging about the new scripting integration in Java 6 then did Sean Corfield start to play around with it in the context of CF8. His examples have given me a better understanding of the capabilities of the Invocable interface as it applies to JSR 223 compliant languages. Looks like he had some issues initially going from PHP to CF but the transition to JRuby seemed to have gone pretty smoothly.

From the little I can tell, a CFML engine implementing JSR 223 would open up tons of possibilities for Java containers (possibly even integration of JEE specifications — JTA). ColdFusion application servers could be built using the same scripting engine but provide different features. I could see Smith and possibly Railo benefiting from this initially so I guess I can understand why Adobe was against complying. Adobe has such a monopoly on the CF app server market, even creating the CFML engine to be JSR 223 compliant might cause a demand for it to be open-sourced.

Man, wouldn’t that be awesome?!? An open source CFML engine based on Java. I wonder what types of performance hits we’d have to take, if any? I guess that’d be the great thing, we could choose our implementation at that point. I can’t see BlueDragon, Railo, and Smith not jumping right onto that band wagon and evening the app server playing ground. From some of the review’s Sean’s done on alternative CF servers (also here), I could see this as being that factor that makes people stand up and take notice. Right now, only Adobe can truly say they are 100% CFML compliant because they control the language and the direction of the language, not to mention the audience. An Adobe endorsed CFML engine would mean such great things for our community. I could really see a lot of innovation from tool makers and app server creators alike. Imagine if Mark Drew could create a local context to execute CFML code w/o needing hooks for server to be configured?

Ok, so I’m ranting now, but some cool stuff none the less. Nice intro to the CF community on these technologies Sean.

Dynamic languages and the virtual machines that love them

Brian LeGros | June 1st, 2007 | programming  

Talk about crazy groupy love going on for languages running within a VM huh? It’s so exciting to start seeing other languages in the main stream being the basis for new languages rather than C/C++ which seems like the usual choice.

After the announcement that Microsoft would be releasing the DLR, I stumbled upon an article at InfoQ. I don’t know much about how to write runtime environments, but the article made some sense to me. I found the author was kind hard on JRuby since I’m interested in using it, but I do dig a lot of things .NET in general has to offer (first-class generics, formal properties, how easy registration works, the use of delegates, etc). I’m also very interested in what Java offers in this problem domain. It seems like with JSR 223 included in Java 6 and JSR 292 hopefully going through in Java 7, Java and the DLR could provide similar features for dynamic language development when they’re completed.

I don’t have much of an opinion on which approach is better in terms of forming the foundation for dynamic languages, but I think the future of these platforms will likely be determined by: feature support, environment availability, and plain old cool APIs.

Platform Availability: As far as Microsoft’s effort, I noticed that the DLR has been open sourced but the CLR has not. This leaves Mono to integrate with the DLR for platforms other than Windows. Java on the other hand has been fully open-sourced (minus a few proprietary libaries they can’t open up legally from what I understand) and has always had a plethora of platform support. I feels like Mono will really have to step up in terms popularity to compete with the ubiquity of the JRE. Novell is a sponsor of the project, so I really hope it takes off.

Features: I definitely like the idea as a developer of being able to switch around to different languages mid-stream, but I’m not sure that there are that many different constructs in languages that I feel would make me more productive. Additionally, some of the things that the DLR is trying to do in terms of some sort of shared typing system kinda freaks me out. Isn’t the strength from some of the dynamic languages in how they treat their types versus conventional treatment of types in languages such as .NET and Java?

Cool APIs: One of the biggest things I would love to do is build some type of API in Java for JRuby which allowed JRuby to take advantage of some of the JEE frameworks which make programming in Java for enterprise so cool. For example, I’m not sure if this is feasible or not, I’d like to integrate JTA into JRuby one day such that a JRuby developer could put together objects in a business layer and then in an config file of some sort construct AOP advice that would add transactional proxies around the appropriate business objects so that robust transaction management could be introduced into Ruby (if something exists already that is robust as JTA, please correct me). This may be a pipe dream because I’m not too familiar with what is possible via the Invocable interface in JSR 223. Aside from my rant, I think just having access to Java or .NET APIs when is cool since they are so much more mature from a commercial standpoint.

So with that being said, my last question is this: Where is the standardization for ColdFusion as a dynamic language as it applies to JSR 223? From what the JSR spec says, it appears that Macromedia was one of the largest supporters. Do languages written based on Java have to be open source to be compliant with the dynamic language support in Java? I’m not even sure why I’d want it, but it just seems like a missing, logical step to me for some reason. ColdFusion has done an amazing job over the last few years of “glueing” different languages togther, why not implement this spec?

Oh well, I’m probably going crazy over nothing, but if anyone has any feedback, please let me know.