The Latest .NET, a Brilliant Strategy
.NET, Business, GPS, Infrastructure, SOA November 22nd. 2007, 10:10pm
This week Microsoft released Visual Studio 2008 and the .NET 3.5 Framework. While the 3.0 framework has been out for sometime now, the 3.5 framework builds on this and adds some additional features to the Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF) and the Windows Workflow Foundation (WF). So why is this worthy of a blog entry?Â
The answer is simple! Microsoft’s latest strategy with the .NET platform is brilliant. At a recent MSDN event I attended, the presenter stated that they had basically concluded that the only thing developers should have to worry about are the elements that are unique to the business requirements they are programming. These fall into two simple categories, 1) the User Interface (UI) and 2) the business rules. All other code components are not unique across applications nor across businesses and industries.
Sounds great, so how in the world are they doing this? There again the answer is really simple. They basically have studied what is common among applications and have written the logic into their core foundations (e.g. the WPF, WCF).Â
I have heard a rough number that only 15% of an application’s code is really unique to that application. That is if you were to take all the lines of code that exist to do the common things such as database calls, creating messages, reading / writing files, general UI formatting, etc…a lot of energy and coding hours have traditionally been consumed with the intricacies of these common elements.
Take for instance the concept of messaging. Just about every application used today communicates with some other application or system to send/receive data. Lets say you have an application which composes a message and needs to transmit that message to another application via FTP. In traditional programming, you’d be concerned with programming the logic to write the file, then setup all the required elements of an FTP connection, open the session, use FTP commands to put your file, then do the session closing all the while handling exceptions.Â
Today with WCF, this is all a single line of code and a single configuration line in a config file to make it all happen. The beauty of it is if you wanted to change the communication mechanism, say to HTTP, no problem, just alter a parameter in the config file and voila! now you are using a completely different protocol. Want it encrypted and secure, no problem, just another parameter to turn that on.
This leaves a person to focus on what is truly unique to their business. I wish the WCF was around when I wrote a tool I called the collector. It is a polling tool that consumes trailer tracking GPS data from a variety of sources using FTP, HTTP and web services. We leverage a mixed bag of Fleetilla, Skybitz and Terion, each of them using their own methods for exposing the GPS data to us.
It’s a mess since I had to waste cycles coding the communication mechanisms to support all the requirements of these protocols….this was more than a few lines of code to make it all work right. And if the communication mechanism should change for one of these sources, it’d be a big deal, but not so much with the WCF since I don’t care about protocols anymore. This is one application at some point will be re-written using the new framework.
One other interesting concept in the latest .NET framework is that everything is a service…again, they are making it easy to move to a Service Oriented Architecture (SOA) which is also cool!
There are ton’s of other new features, many of them very rich, most of them worthy of individual blog posts to really explain how powerful and advantageous they are. The one I’m most excited about is a concept called XBap, similar to silverlight which many people have heard of, but much cooler. I’ll do a follow-up post better explaining this and why this is note worthy.
If you want to know more, here’s a good blog posting with some great whitepapers detailing more on the subjects!
Popularity: 76% [?]
Other Posts that May Interest You
12 Responses to “The Latest .NET, a Brilliant Strategy”
Leave a Reply
You must be logged in to post a comment.










November 23rd, 2007 at 2:26 am
I couldn’t understand some parts of this article nnial 2007 - salvatore iaconesi - del.icio.us poetry, but I guess I just need to check some more resources regarding this, because it sounds interesting.
November 23rd, 2007 at 7:19 am
Daniel, please feel free to drop me a line if you have specific points mentioned here you need more information on, I’ll be happy to see if I can point you in the right direction!
November 25th, 2007 at 12:37 pm
Mhhh. well, it is brilliant because they decided to make APIS?
I quite don’t understand your reasonning. There is nothing new here.
Seperate configuration from logic is a great way to… mess and problems.
Sure, if you want to make quick and dirty code with no proper handling of errors/mistakes/ and want users to tweak a ini file to use your program i wish you courage in getting where unix and linux were born are still floating. (mud and dirt, that is)
Not caring of the protocol is not caring for each protocol’s specificities and in the end not caring for quality of your software.
Don’t expect any API to act and react correctly for everyone. A single code can’t fit all.
With the description you gave, imho, .net is doomed. Too changeant, too erratic, too late, not needed except maybe for beauty of competition….
November 25th, 2007 at 1:48 pm
Fred, if .NET is doomed, what language(s) do you think will prevail? I can’t say that I agree with many of your points, but nonetheless respect your opinion and appreciate your comment.
You are right in the fact that I do live in the world of “quick and dirty” code as you state. It’s the reality of the constraints of time and limited resources which I live, not so uncommon in the small to medium business arena, particularly in many trucking shops.
I have to produce solutions on a slim budget, little manpower, tight time constraints and across a variety of systems…so in my world, the simpler the better. I’ll take the single codeline which meets my 80% need and tweak it from there.
Unlike you, I honestly don’t care about all the specificities across protocols. If I can get it to work and it meet’s the business requirements, I move on, I don’t have time to noodle around the world of theoretical pefectness. Honestly, if I did, I’d probably be bored out of my mind
November 25th, 2007 at 5:23 pm
fred: Doomed? Are you kidding?
If it’s not too changeant/erratic then it’s “stagnant and losing touch”.
It’s never too late to come up with a new technology that’s designed to make it easier to solve problems. As developers it’s our job to create such technology. So why do you think .NET is too late? Too late for what? Too late for you perhaps, but not too late for many others.
Utilising a layer of abstraction to make certain jobs easier doesn’t mean you don’t “care” about a protocol or how it works under the hood. Let’s not jump to conclusions.
People will always have negative things to say about a technology they don’t like (or don’t understand) regardless of the timing of its release and the rate in which the language is maintained/modified/updated.
November 27th, 2007 at 1:49 pm
I’d be a little concerned if I was a .NET developer. If .NET abstracts everything out that isn’t part of the business requirements, then you’re constrained to whatever .NET says is your requirements. What if you need to use a protocol that .NET doesn’t handle? Is there some sort of plug-in framework for protocol handlers (probably, this isn’t a real-world example)? And assuming that .NET is extensible, how much work is it? Will you have to purchase what you need from a specialty company, because the coding is just too hairy?
Just curious. I used .NET briefly for a small project, and it was fine for my needs, but I got into a couple of situations back in my VB days when VB couldn’t do what I needed, and I wound up spending a lot of time writing around its deficiencies.
November 27th, 2007 at 4:58 pm
Hi there! Found your blog on yahoo while searching for Carlsbad Home Insurance Quotes - quite some good info thanks, J.Sanders
November 27th, 2007 at 9:58 pm
Doc, what version of .NET were you experimenting with? It has come a long ways since the days of 1.0 and 1.1. I think you need to re-evaluate, there is nothing short of amazing of the ease and flexibility of the latest framework, it’s worth checking out…i think you’ll agree.
November 27th, 2007 at 11:10 pm
Yeah, I used to drink the MS marketing Cool Aide too, now I know better. This is all typical MS marketing speak… the more things change the more they stay the same.
November 28th, 2007 at 8:15 am
Rob, like I said to Fred, if it is simple and works, it’s good enough for me…so far MS has been able to backup all the fluff with solid products. Actually in my consulting days, before entering the SMB arena, I used to be a non-MS guy, running linux, oracle, mysql, php and all the other popular non MS solutions. MS is making some relatively inexpensive products that work nicely for the SMB arena, so I have slowly been won over. So for now, I guess I’m going to keep on drinking the cool aide.
November 28th, 2007 at 3:20 pm
I was using V2.0 of the .NET runtime, and like I said, it worked well enough for my needs (although there was some issue with performing a join between two tables I had retrieved into a ??? object). My VB-related problems were back in the pre-.NET days (and before they allowed easy access to the win32 system functions). I did think it was encouraging that they finally seemed to “get” OOP; a lot of their previous stuff was clearly intended for procedural programming (passing objects to functions instead of calling methods on the objects themselves, stuff like that).
December 3rd, 2007 at 11:48 pm
[...] my earlier post regarding the new release of the .NET 3.5 Framework and Visual Studio 2008, I mentioned a very [...]