February 2005 Entries

Ode To My State Controller

 

Today we are working on meeting an internal deadline for a project that Javier and I are working on. I was reusing a search control that we wrote earlier, however I found it was a little confused about its state, wouldn't you agree?

Third Times A Charm…Not This Time

 

Last night I attempted for the third time to install Visual Studio 2005 beta 2 and failed for the third time in a row. I did the download this past weekend and made two attempts last Sunday which yielded negative results, last night was no better. Actually, I thought I was in the clear because it had made it through the whole list of items to install with green checkmarks next to each of them, much better than what occurred last weekend. Of course, right at the end (doesn’t it always happen like that?), the install failed. I will give it a try again this weekend and hope for better luck. Has anyone else had a problem with this install yet?

Solidifying The Glue

 

There has been a lot of recent chatter about Indigo, especially since Eric Rudder recently gave the VSLive! Keynote in San Francisco yesterday. My previous post resulted in a "glue" feeling from Kent that the Microsoft environment provided in the past. I am starting to get this feeling again. I am not saying this is a bad thing; in this case it actually makes sense with what they've done.

When .NET first came out we had .NET remoting, ASMX for web services, enterprise services for distributed transactions, WSE for all of your WS-* and MSMQ for message queuing. Which service do I use where and why is a common theme you would see follow. Now Indigo wraps these services in a nice clean layer.

In Indigo it’s all about your service classes, host environments and endpoints. In a nutshell, you create classes that are exposed as services with a [ServiceContract] attribute and [OperationContract] attributes for your methods. You can then host the service using Windows Activation Service (WAS) or by creating your own process using a ServiceHost generics class where it’s type is your service class defined above. The endpoints describe the terms of the communication. This can be defined in either .config file or it can be done programmatically. Clients then create a proxy class to talk to your services using a tool called scvutil. Indigo in one paragraph, obviously I didn't do it justice, however that's the basic gist of it.

It’s nice to see this all under one roof, I’m sure we are going to see some great things out of Indigo, I know it’s going to make communication between J2EE and other disparate systems much easier.

Iowa .NET User Group Meeting

 

Last night we had our monthly Iowa .NET User Group Meeting, we had great attendance, 62 if I remember correctly. Jeff Brand came down from Minnesota to give a great presentation covering ASP.NET 2.0, he even talked about some of the beta 2 bits even though we will have to wait till around the end of quarter one for an official release. There were a lot of great questions asked, I'm glad everyone stopped out. Thanks again Jeff. Next month we've got Paul D. Sheriff, a Microsoft Regional Director presenting “Top 10 Tricks for a “Killer” Web Application”.

Microsoft vs. Sun – Web Frameworks

 

Over the years both Microsoft and Sun have attempted to provide different programming frameworks to developers, yet as these frameworks are all vying for the same goal (i.e., higher developer productivity, easier integration, etc.), they are attacking their goal from opposite ends of the spectrum.

If we look back at ASP, before .NET we see that Microsoft provided a framework centered on a COM infrastructure that allowed everyone to develop their applications in either VBScript or JScript. Mind you, there was no inherent framework for web development, at least, not in the sense that we tend to see it now. Enter the Java people.

Around the same time, when Sun jumped on the market with Java, side development projects started popping up all over. If you look at what’s available today just on the Apache site there are frameworks for POJO’s (i.e., Hivemind), bean scripting frameworks (i.e., BSF), multiple testing frameworks (i.e., Cactus, JMeter), and application frameworks such as Turbine and Tapestry. There are even other frameworks that try to integrate all these existing frameworks into one such as AppFuse.

Now that there was a push for enterprise development, we can fast forward to Microsoft releasing the .NET Framework (ASP.NET in this context), and alas subsequent frameworks start popping up just the same. Obviously .NET didn’t require so many different supporting frameworks as mentioned above because they didn’t have a product they were trying to patch, it was all new. However we did see projects pop up that already existed in the Java world, we now had NAnt, log4net, NUnit and Lucene .NET matching their counterpart of Ant, log4J, JUnit and Lucene, respectively. These were some really great projects and I am glad to see them over on the .NET side, however these don't fall into the category of an extension to a framework.

I find it interesting that the Java community continues to create new frameworks to add to the missing structure of their underlying framework. I haven’t seen any extensions that pick up where ASP.NET left off. Is this the result of a hardware company battling a software company? Did I miss something here?