Monday, April 23, 2007

SOA Overhyped!

This year I became member of Software Developer Network, which is mostly Dutch group (network) of developers. As a member one receives their magazine called SDN Magazine and is legible for attending a couple of conference they organize through the year in Holland. Yesterday I received their 93th issue of the magazine. It contained a nice article of SOA called: Semantic Coupling; the Elephant in the SOA room. You can get electronic copy of it later this month through the above link. It’s a great article to agree or disagree about its content (I agree with some parts, but not all). It is starting off with SOA being the current and continuing industry fad. Where SOA continues along the hype curve (Gartner, see link to have this explained in a critical manner) and not being the silver bullet or a replacement for n-tier client/server or object-orientation (which he likes, see his site). He explains that SOA will fall into the pit of disillusion (not seen in curve shown here). In San Francisco where I attend his pre-conference VS!Live Conference he also made some comments about SOA like it is not going to replace or getting business objects/object orientation extinct.

That something I believe too, but SOA is not a bad thing nor is it a disillusion. SOA can or may resolve some difficult integration problems concerning isolated applications to communicate with each other or outside world through services. It can be a platform to automate business process and provide companies to build better services for their customers like Jet Blue for instance (see my blog post October 2006). I can easily state here that the author is by far not a SOA evangelist. After the introduction he goes into syntactic & semantic coupling. He refers to his mentor David Chappell blog post. Where reuse is hard to achieve, because focus in SOA lies in syntactic coupling. It is centered on rules around addressing, binding and contract (ABC there you go Windows Communication Foundation).

Harder part is semantic coupling where it comes down to behavioral dependencies between components and services. That is the actual meaning to interaction between a consumer and a service. Both syntactic and semantic coupling are explained through metaphors (baking of cookies), where in the end Rocky looks into the future. I would say read the article, because I will not go into summarizing the story around the used metaphor. Finally he concludes that semantic issues have to be realized by yourself using good old procedural design, use of flow charts, data flow diagrams, control diagrams and state diagrams (all stuff already present for years and years). SOA hype will fade away since it is being overhyped and resolves only a number of serious and important issues (two I mentioned here). Overhyped maybe so, but it is a good concept and about fading away I do not agree at all. It still gets alot of attention and buzz.

Technorati:

Monday, April 16, 2007

BizTalk Tips and Tricks and more ...

Marty Wasznicky and Scott Zimmerman wrote an article in MSDN, where they lined out a couple tips and tricks for programming in BizTalk (best practices).

In the article they write about:

· Always Use Multi-Part Message Types;
· Always Try to Design Orchestrations with Direct-Bound Ports;
· Always Use Separate Internal and External Schemas;
· Never Expose Your Internal Schemas Directly in WSDL;
· Always Optimize the BizTalk Registry for Web Services;
· Always Set the Assembly Key File with a Relative Path;
· Never Overlook Free Sample Code;
· Debug XSLT in Visual Studio.

Besides best practices for programming there is also a BizTalk Server Best Practices Analyzer to use for deployment of the product in high availability, security, management and performance scenarios. There also logging possibilities for BizTalk to use log4net, see Scott Colestock's blog for this. One can also generate a CHM file containing summaries of all your BizTalk artifacts (and relationships), plus business rules, plus port configurations, plus orchestration image snapshots using BizTalk Documenter. Finally there are some books about BizTalk, which I posted previously from APRESS.

To be professional active in developing BizTalk solution or setting up architecture for BizTalk solutions there is a lot of material and tooling out there to use. I have gained experience in using all these tools besides reading books, articles and so on. The article written by authors is another one that should be read and is a good addition to all information that is already published.

I would recommend all tools mentioned here if you not already know them or familiar with them. I refer to them together with the article so one can be on their way to create great solid BizTalk solutions.

Technorati:

Tuesday, April 10, 2007

Training Sharepoint Services 3.0 and MOSS 2007

Today attended a SharePoint training. The speaker was Bart Gunneman and he spoke about SharePoint, explaining the free part SharePoint Services 3.0 in the morning and the licensed MOSS 2007 in the afternoon. SharePoint Services provide in document collaboration, information sharing and enhancing productivity in for instance software developer teams (at least I used SharePoint Services a lot in software development projects in the past). SharePoint Services 3.0 delivers new functionality like:

· Document collaboration (check-in/out, versioning, metadata);
· Wikis,
· Blogs,
· RSS,
· Discussions;
· Project task tracking;
· Contacts, calendars and tasks;
· E-mail integration;
· Directory integration;
· Integration with rich clients through protocols and API’s;
· Integration with smart clients like Outlook 2007.

These functionalities were a demoed by Bart. Next MOSS 2007, the benefits buying a license are the features like:

· Search;
· Audiences;
· Content targeting;
· My Site;
· Enhanced notification services.

All these features were also demoed and explained together with its architecture and administration. I must say this overview was very well explained of MOSS 2007 and SharePoint Services 3.0. It gave me a better knowledge of its possibilities and how it can serve as a host for workflow or serve as a portal to consume services. Training was based on Microsoft’s curriculum:

- 3369B: First Look: Getting Started with Windows SharePoint Services 3.0 and
- 3370A: First Look: Getting Started with Microsoft Office SharePoint Server 2007.

Have a look at it if you want to start getting acquainted with this new technology.

Thursday, April 05, 2007

WCF Messaging

Excellent article about WCF messaging by Aaron Skonnard. I stumbled over it today. It's about some key messaging features in WCF:

  • XML Representation;
  • Message Class;
  • Message Versions;
  • Reading and Writing Messages;
  • Typed Message Bodies;
  • Message lifetime;
  • Message Headers and Properties;
  • Mapping Messages to Methods;
  • Endpoint and bindings.

  • Good stuff....

    Wednesday, April 04, 2007

    What is SOA?

    Day before yesterday I was participating in a discussion about SOA in a meeting with architects with different technology backgrounds. These backgrounds include Oracle, Microsoft, IT Infrastructure (Windows, UNIX and Linux), IBM and SAP. Generally the discussion was about what is SOA, or what worked and did not work design, implementing a SOA. Questions were raised like does SOA fulfill promises like business agility and reuse for instance?

    Well last week in San Francisco I heard Rob Daigneau say business agility is a bogus claim, because of it is not quick or easy. I agreed on this so entered this remark into the discussion with an Oracle architect, who answered he disagreed with me hence his practical experience at a customer showed it can be quick and easy. Since I do not have that much experience with SOA in practice other than one project at local government organization so to speak, I could only bring in that experience, where it did take a long time and was not easy at all. So there you go different experiences, feelings and views on the matter. There was a good point made by John Evdemon session at SOA and BPM Conference, where he made a comparison between myths and facts of SOA and one of them was that SOA’s are like snowflakes (they can hardly be compared). So thinking about this, I have to change my view a bit about business agility. It can or cannot work out given a certain situation at a company, where one tries to implement a SOA to have its promises delivered directly.

    My experience lies more at start of implementation of an SOA, then a full project lasting a couple of months (or years) where a SOA is implemented completely and business agility or reuse can be noticed. Although the speaker Rob has a lot experience in the SOA field, so his argument must come from somewhere (I will ask him, email probably).

    Ok back to the discussion, what is SOA? In my view SOA is where functionality from any kind of system is exposed in services, which can be composed into new services that can support a process which on its turn can be consumed. Like the model I saw at Microsoft SOA and BPM conference, where the model expose/compose/consume was explained by speakers like John Evdemon and John deVadoss. An infrastructure is needed to support the exposed and composed services, which have to be available to consumers like for instance portals, mobile device and packed apps. Besides the infrastructure it will also need procedures to help with changes to services, like versioning and maintenance. I also think that my view on the matter is not complete, because there is more to SOA than I just mentioned. Future discussion with the architects in my company Inter Access will help me to get a better view on SOA and will eventually give me a full understanding on SOA. Also one architect gave me a good reference to an SOA book I have not read yet. It is written by Dirk Krafzik e.a. and gives a more pragmatic experience on SOA than book from Thomas Erl for instance. Any comments from you blog readers are welcome to this subject.


    Sunday, April 01, 2007

    VS Live San Francisco 2007 Resumé



















    Here you can see me with Bird Rock in the background. VS Live has come to an end and before I went home I enjoyed one more day in sunny northern California. I went on a daytrip from San Francisco to Monterey Bay, 17-mile drive with a stop at the Bird Rock. This stately landmark is home to countless shorebirds and groups of harbor seals and sea lions. It ended in an hour stop at Carmel by the sea; just awesome. VS Live conference was a bit different than the one I went to six months ago in October 2006. In Redmond the focus a clearly on SOA, BPM and BizTalk. Whereas this conference was more for developers, with subjects like ASP.NET 2.0, SQL Server 2005, Vista,.NET best practices, Visual Studio Team System and the upcoming (or already here) .NET 3.0 framework. For me the .NET 3.0 was most interesting and that's where all my attention went to. There was not allot of SOA in the .NET 3.0 Sessions, although it was mentioned in the title, talks around WCF and SOA were more about best practices and patterns. Workflow as very interesting and talks done by Stiefel and Getz were good. WPF sessions I followed were amazing in their demos, very nice to see what this technology can bring to UI developers. Although I am not a UI guy, it is nice to see that service consumers like portals, ASP websites and so on will change in their look and feel in the future. It will be completely different. Now it's up to me to take all this new technology and start getting hands on experience with it and share the knowledge with my colleagues at Inter Access and my blog readers.