Services and Components

A lot of discussions about Services vs. Components are currently taking place in the blog sphere.
The debate is especially difficult because terms like Component, Service or Widget have a lot of different meanings dependent of whom you ask.
Apart from that I think the phrase Services vs. Components is a bit misleading because this leads to an either-or kind of thinking which is not really helpful.

So please let me add a another kind of definition which uses a more historical approach:

In the very beginning we had Functions. These functions offered raw functionality which was not very organized and therefore often lead to messy code.

Later Objects were invented which gave us the opportunity to model concepts of the real world in our code. Much better but still messy because of tightly bound object systems and white box inheritance and reuse.

In order to solve this Components introduced the notion of explicit interfaces and encouraged black box reuse. Much better but still not open because of platform affinity or complexity, e.g. COM-components, Java-Beans, Corba-Servants.

Now Services add the platform neutral protocols which provide reachability from any platform that supports these protocols.

The main difference between components and services is not the design granularity, although it apparently doesn’t make much sense to create fine grained services. The main difference is openness and reachability.

Conclusion:
A service is a component which is reachable from any platform by using standard protocols.

If you have other definitions which elucidate the subject, please let me know.

TechEd Amsterdam

Third time in a row I am selected as MCT proctor at the TechEd 2005 conference in Amsterdam, The Netherlands from 4.July to 8.July. I will be supporting the conference delegates at the Hands-On-Labs and Ask-the-Expert stand presumably as a subject-matter expert for Biztalk Server 2004 and .NET Development (most likely C++).
I look forward to meeting all the nice guys and IT professionals from throughout the world again.This event is really great as it combines in depth technical information and personal exchange in a unique way. If you are at TechEd this year please let me know.

Platform Independent BPEL Designer

For good reason a lot of people are claiming a contract first approach in terms of Web Service design.
I think it makes perfect sense to use a sound vendor independent format to describe important resources like for instance Web Service interfaces.
But this approach is not limited to WSDL only. It applies to Business Process Execution Language (BPEL) as well as business processes are very valuable resources for every company. So if you have to model bunsiness processes for technologies like Microsoft Biztalk Server 2004 or BEA Weblogic Integration you might be good advised to use a BPEL first approach. Two tools that might help you are: Oracle BPEL Designer and
Cape Clear Orchestrator Beta. Both are Eclipse plug-ins and create plain BPEL 1.1 which in turn can be imported to the application of your choice.

Suggested Reading For Biztalk Server 2004

The documentation for Biztalk Server 2004 ist still somewhat limited. While developing Biztalk Server solutions I found a lot useful resources on the web. I collected them mainly for the delegates of my Biztalk 2004 courses. But if you are interested in Biztalk technology you might also be interested in Wolfgang Pleus Suggested Reading For Biztalk Server 2004

Visual Studio.NET 2005 Enterprise Features

Last week I attended a technical training in Milan concerning Visual Studio 2005 and Team System. Thanks to Chris Menegay and Marco Bellinasco I’ve got a lot of information about the upcoming products.
I would like to highlight some of the key features here:

Editions
Editions will be Express(people not willing to pay anything) , Standard (hobbyists), Professional(corporate developers), Team Developer (enterprise developers), Team Architect (enterprise architects) and Team Test (enterprise testers).

Development support
Visual Studio.NET 2005 might greatly improve code quality by enforcing code analysis, code coverage and unit testing during the build process. Server builds with rich reporting functionality are supported. New modelers alow it to model datacenters, applications and class structures and map them together. Moreover constraints can be enforced in order to avoid problems when deploying applications to operational environments. This is a common problem in enterprise level projects. The new build server allows to set up distributed continuous integration scenarios.

ASP.NET 2.0
Very powerful and feature rich framework for web development. Almost everything out of the box. Has a very open and extendable provider model. Lots of new features in the IDE. For instance refactoring, designers, generics, better debug support to name a few. Great team integration features. Modeling support. UML like visualisation and round trip engineering. Unfortunately no support for assembly/component level modeling. Ships with an internal web server for IIS independent web development. My favourite feature is Masterpages. But currently limited to a nesting level of two in Beta 1. Hopefully this will change in the realease version. Globalization and theming support allow it to develop very clean and well structured web sites quickly.

Team collaboration
Visual Studio Team Suite covers large parts of the project lifecycle, e.g. load-, unit, requirement-testing, project management, build management, continuous integration, etc. The supported standard process is MSF Agile but it can be altered in order to support different processes like for instance Rational Unified Process or custom processes. Offers interfaces for instance for Eclipse of JBuilder integration. The pricing will be very competitive, although it’s not official yet. It’s targeted at tools from Rational/IBM or Mercury. Team System has a lot of dependencies. It builds on SQLServer 2005 and Sharepoint services. But no additional licenses would be required. It seems that the Microsoft products are more and more dependent on each other. That makes it difficult to use only a single product. But as far as the licensing is easy this would be ok.

Testing and Profiling
Good support for automated web and webservice-testing. Testing of different browsers and bandwidths are supported. Profiling for Microsoft technologies is available. Distributed, data driven load testing is also supported. Lacks in the area of heterogeneous environments as there are no means to profile for instance Unix machines or J2EE servers. To be honest I didn’t really expect that.

At large the Visual Studio .NET 2005 Team Suite covers a lot features which were adressed only by third party vendors by now.

These are only some first impressions. Beta 2 will be available by end of march. This might be a good ime to start some real implementation.

Microsoft’s business-process integration server opens doors to new markets for customers

Read more at At Four-Year Anniversary, Adoption of Microsoft BizTalk Server Tops 4,000 Organizations

Quotation:
“Some industry watchers posit that the future of business process management will depend less on software that is built to last, and more on software that is built to adapt. With that in mind, they say, companies should design processes that can be changed on the fly and software that’s flexible enough to support those changes, rather than reengineering processes in one fell swoop and then cementing the new models in code. From that perspective, BizTalk Server appears headed in an auspicious direction.”

Globalflyer Took Off

For the Virgin Atlantic GlobalFlyer and its pilot Steve Fossett to set a world record for the first solo, non-stop, non-refuelled circumnavigation of the world they will have to follow a strict set of rules laid down by the governing body of aviation record attempts, the Federation Aeronautique Internationale.

In actual fact, as Guinness World Records pointed out to us, the fact that it’s a ‘first’ doesn’t in itself make it a record. Therefore, Steve will have to do the circumnavigation faster and higher than any others in order to take an official record. All in all, we think there are at least 3 and possibly up to 7 different records that could be broken with this single flight. We’ll let you know more about which ones when we’ve researched them all through!

The FAI’s rules state that a record attempt like this must start and finish at the same airfield and cross all meridians of the globe. What’s more the course must not be less than the very precise figure of 36,787.559 kilometres (around 23,000 miles) which is equal in length to the Tropic of Cancer. To allow the Virgin Atlantic GlobalFlyer to catch the vital jet stream winds, the FAI rules don’t oblige that record attempts follow the imaginary line of the Tropic itself but simply that the distance flown exceeds it.

That doesn’t mean, however, that Steve Fossett could fly across the Poles. The course must also be kept away from the North and South “Frigid Zones”, defined as being at latitudes of over 66degrees33minutes.

With the Virgin Atlantic GlobalFlyer capable of speeds of over 250 knots (285mph) the flight should be completed inside 80 hours. The route will begin from an airfield in mid-Western United States and will then follow the jet stream winds across the Atlantic to the UK. From there Steve will head south-east across the Mediterranean and the Gulf before turning east towards Pakistan, India, China and Japan. The final leg of the journey will take the plane out over the Pacific towards Hawaii before crossing the west coast of the US and returning to its launch site.

In the course of the epic journey Steve should fly over or near the following major cities: Montreal, London, Paris, Rome, Cairo, Bahrain, Karachi, Calcutta, Shanghai, Tokyo, Honolulu and Los Angeles. He will also cross major flight routes, meaning that keen-eyed passengers on commercial airliners may be able to spot the Virgin Atlantic GlobalFlyer as it flies several miles above them at around 45,000 feet