Over the years, technologies for object communications have evolved. I remember in the early days when everything was basically raw socket based where you sent and received msgs then decoded the binary. We have come a long way since those dark days.
The first technologies for object communication I became aware of were Corba and COM. COM was an excellent first step IMO as it allowed for both inproc and out of proc communications. With COM you could create an object, publish the object and consume it quickly without having to get into the nasty details of socket communications. The downside was that COM could land you in DLL HELL quickly and DCOM was almost universally reviled for its difficulty of installation and use.
With .Net, MS introduced remoting. Remoting is an excellent way of connecting objects both locally and from across the planet. Remoting however didn't always scale very well and was mostly ignored by people creating INPROC object associations. The downside to this is that many programmers have reverted back to the path of least resistance or 'spaghetti coding' where objects aren't so clearly defined (one of the benefits the old COM technology had forced on programmers). Remoting is a great technology for object communications.
Now, as Microsoft begins to push for the new Service Oriented Architectures, yet another sea change is in the offing. Web services which became much easier to author with .net and now heavily upgraded in WSE 2.0 have become the object technology of choice. With Indigo on the horizon which MS has stated will closely follow WSE 2.0 in implementation, we now have a new technology to work with.
I have begun to dig into WSE 2.0 and I must say I am impressed with it's abilities. Calling WSE 2.0 pure web services isn't even really correct as it is more a messaging system that can handle different types of transport and routing. I will be posting a lot more information on WSE 2.0 and SOA architectures in this space as I work more with these concepts/technologies.
My impressions of WSE 2.0 in the Enterprise space are nothing but positive so far. I believe SOA designs will greatly enhance the ability of enterprises to maintain their corporate business rules and intranets. By black boxing services, we may move back to a more implementation agnostic way of communicating within a business entity. It will take much longer for enterprises to communicate with each other I believe simply due to security fears.
I do have some reservations about the object communication direction MS is taking in WSE 2.0 as it seems very much geared towards the enterprise. I am concerned about this in so much as most of the applications written on the PC are not enterprise and I hate to see technologies split up with the enterprise going in one direction and everyone else in another. What are average applications programmers that need to do simple connections going to use? My guess is remoting will stay around for a while to service those needs, but frankly nobody likes to use deprecated systems. What are the practical effects of Microsoft abandoning remoting to the average programmer? I hope to have more answers to these questions in the coming months.
Some extra reading on this subject can be found at
http://blogs.msdn.com/richturner666/archive/2004/03/05/84834.aspx
http://blogs.msdn.com/richturner666/archive/0001/01/01/84771.aspx
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment