Sunday, March 19, 2006

Thoughts on Interoperability and Web Services...

A fellow architect asked me to provide some thoughts on the meaning of INTEROPERABILITY and the significance to Enterprise Architecture.
It's easy to avoid the religious debate between the .NET and JAVA communities by touting terminology like INTEROPERABILITY . Its time to resurrect (and please help me amplify) concern on this topic...
I have seen posts here and here and here that discuss INTEGRATION and INTEROPERABILITY. Static interfaces evolved to loosely coupled integration and that's nice and all...but what about exposing .NET services to JAVA based consumers? and let's not forget JAVA based services for those MS consumers...
How we go about designing Web Services is critical. Development teams need to understand the differences in data serialization and as well as have and understanding of XML namespaces and the realities of WSDL:IMPORT. We all need to push INTEROPERABILITY and DOCUMENT bases Web Services as a primary design pattern. We all need to push for establishing the "contract" first in our projects. The WS-I Basic Profile helps but when at least 5 types of Web Services are possible how do you choose? Document Literal-Wrapped is my favorite...but do not expect SOAP with Attachments without SAAJ and MTOM or other meta-transformations...What about good ole' REST?
-->The first truth behind INTEROPERABILITY is that it requires more work
-->The second truth is that it is not easy to exhaustively test for
-->The third truth is that it does not solve for cross-platform or cross-protocol without additional infrastructure
Folks comfortable with tools such as WSDL4J, JAX-RPC and the equivalents in WSDL.EXE can generate their startup classes very quickly...but not so quick for the resulting service to be INTEROPERABLE. Some folks tout additional tools such as SOAPscope or SOA Editor (what a bad name) or StylusStudio or WSDL Editor or Visual Studio or Eclipse plugins or oXygen or others...
My problem is there is not one tool that does the job is good graphically, one is better a testing, one is better at validating syntax, blah blah blah...I'll just write it myself in Notepad.
Can folks please COMMENT and help the 'Bloggernet':
1) amplify this dirty little secret
2) understand your choice in tools
3) learn some of your tips
The knowledge crisis continues...

Saturday, March 11, 2006

Thoughts On The Flu...

The week before last my beautiful wife can down with the flu...not just any flu...but that nasty one that chases kids around at the playground. For a week she was NOT the wife and mom I used to know. For a week I had to change my habits and plans to accommodate. And then just as she was good enough to get back on her feet (Yes!!!), I got food poisoning. Yuck! I never felt so at one with my toilet before.

I believe every experience in life has meaning that transcends the moment. So here are a few of my learnings:
(1) Experience: Young children don't care if you are sick. They still want to play games with you. Learning: Your business customer does not care about system moratoriums, if anything they want to increase the release items.
(2) Experience: I told my son we would go out and play after his sister woke up from her nap. My son decided that the loudest toys were the best ones to play with in the meantime. Learning: Do not pin people against one another or cause your problem to be someone else's. People are inherently creative and will surprise you.
(3) Experience: Don't forget to let the dog out... Learning: If you ignore your people they will piss on you when you need them to just leave you alone.
(4) Experience: The laundry can wait, the dishes can wait, the vacuuming and dusting can wait. Learning: If someone else doesn't do the day-to-day... you will--and its more work by the time you get to it.
(5) Experience: Rather than drive 15 more minutes...I spent $30 on magazines, ginger ale and saltines at the local convenience mart. Learning: People in adverse times will throw away money even when they know a little patience would help them save in the long run.
(6) Experience: When you are sick its a crisis and everything is miserable. Learning: Cope with crisis by having people equipped with the tools, training, and communications to help you fix it. Oh, and be nice to the in-laws...they can really bail you out when you are sick.

Overall I learned a good case of illness can definitely reset your perspective. Today I appreciate my beautiful wife, the sun is out, I like my job, and I enjoyed taking my children to the playground.