Friday, July 27, 2007

TCs created at OASIS for SCA

Well, not the timeliest blog ever, but I did want to mention to folks if they hadn't heard yet that the SCA architecture established by the OSOA organization has been accepted by OASIS for standardization and technical communities within the Open Composite Services Architecture Member Section as documented here.

This is the result of a lot of effort from my colleagues from IBM as well as contributors from the many vendors that comprise the OSOA organization. I look forward to the enrichment of a standards process to refining this technology into the valuable, open, multilingual SOA architecture we envisioned several years ago. Great progress!! and evidence that while this technology is not rolling out as fast as some of us would like, the value proposition and promise remains strong.

Tuesday, July 24, 2007

Obligatory First Post from Andrew Spyker

Terry invited me to join the community. I plan to get busy posting as much as I can, but I thought I'd start with an intro post. Someone beat me with a stick if I don't post within a week with real content.

I have been with IBM WebSphere Application Server for the past five years as a lead of our performance team. My time in performance has given me time to focus on many things - J2EE, Java, Security, Web Services, and more recently all things relating to our SOA foundation. Earlier this year I was promoted to STSM (Senior Technical Staff Member) and asked to broaden this focus more formally as a SOA Runtime Architect. This means I get to focus on more than performance (which I have traditionally done since performance allows you to experience all aspects of the product end-to-end) and more than WAS (ie. the rest of the SOA foundation). My focus as of late is how we can drive our XML strategy forward in both function and performance given XML is one of the core building blocks of all of our SOA runtimes. Also, I still advise the team I've built in WAS performance on daily basis. More on all of that later.

So in the end you should see a mix of content on XML, SOA, and performance from me.

Friday, July 20, 2007

WS-AT interop between WAS and WCF

Anyone who has ever tried to set up interoperable WS-AtomcTransaction interop between WAS and WCF will know its easy once you have figured out how to configure the WS-AT service endpoints in both systems to use SSL with mutual certificate authentication. If you haven't got that far yet and don't want to have to figure this out for yourself, read Billy Lo's paper on Building transactional Web services with WebSphere Application Server and Microsoft .NET using WS-AtomicTransaction

Thursday, July 19, 2007

Coping with the internet crash

Breaking News: All Online Data Lost After Internet Crash

We kept telling folks to migrate the internet from those two 386 boxes in the basement in Champaign-Urbana to z/OS on the mainframe, but did they listen? No.

Tuesday, July 17, 2007

Slightly off-topic: IBM visionary retires

Darryl Taft over at eWeek has an article about and interview with IBM's Irving Wladawsky-Berger, who is retiring after 37 years with IBM. This is slightly off-topic because Wladawsky-Berger isn't a WebSphere guy, but I thought the article and interview were interesting nonetheless. He's obviously had an varied career and been involved in a bunch of key IBM initiatives. That's one of the things I like most about IBM - there's no shortage of diversity when it comes to interesting things to work on. Full disclosure: I've never met Wladawsky-Berger.

Article about Irving

Interview with Irving

Tuesday, July 10, 2007

WAS V6.1 - Web Services Feature Pack is available

Quick note - the Web Service Feature Pack for WAS V6.1 that has been mentioned here before as a beta product is now complete and available - the announcement is here.

EJB3 Beta program

The EJB3 feature pack for WAS V6.1 is now entering beta, and can be downloaded from IBM's Early Program site.

I've mentioned the Web Services feature pack below. As you'd expect, the EJB3 feature pack follows the same idea - an optionally installable add-on that provides support for EJB3 applications.

Project Zero site is live

IBM's new incubator project named "Project Zero" is now up and running. Like the Jazz project, Project Zero is another IBM foray into "Community Driven Commercial Development". CD/CD is basically an open way of developing software that is intended to be sold. It's an interesting mix of open source style processes with standard commercial practices. I think it has a future. As for Project Zero itself, it's essentially a Web 2.0 mashup platform that tries to address enterprise-level mashup needs in a simple way. Check it out.

Monday, July 2, 2007

Progressive Leakiness

One of the things that has been popping into my mind recently is centered around the notion that all abstractions are leaky in the sense that no abstraction can actually completely hide the layers for what its built on. Joel Spolsky penned "the Law of Leaky Abstractions" which basically states that all abstractions leak through aspects of the layers for which they are built on, and therefore the user of the abstraction winds up being exposed to more complexity than otherwise necessary and/or originally intended. It is interesting in reading some of the internet material that has been published around the subject of leaky abstractions in that folks have extended the notion beyond computer science into the world of physics and even other disciplines like philosophy, etc.

I wonder if when building a good abstraction, you should just acknowledge that all abstractions will be leaky and design-in the leakiness. In this pursuit, we should use the laws of Progressive Disclosure whereby the user of an interface or software is only exposed those concepts which are minimally required to accomplish the desired task. I highly subscribe to the usefulness of progressive disclosure techniques, as they tend to keep simple stuff simple and can make learning a new thing easier.

One of the painful things about abstractions is they sometimes get in your way -- a good abstraction can step aside for situations like this. An excellent example of leaky abstractions and progressive disclosure techniques that I can think of that meld very well is in the area of computer language compilers: some of the better ones expose a way for the programmer to "drop down" into assembler, right in the middle of their higher-level language constructs, and allow the programmer to tailor the code specifically for a given hardware device. This capability of drop down allows the programmer to cope with, in a very natural way, leaks like: new instructions that the higher level language (i.e. the abstraction) has not been built to specifically exploit, or even something as tailoring specific condition codes that can arise on newer hardware that need to be handled for correct code behavior. This concept demonstrates good "Progressive Leakiness" in that most programmers get the 100% value of the language abstraction not needing to be exposed to the more complex assembler language techniques (progressive disclosure) but permits specific situations to be coded for which could not be handled by the abstraction or wind up causing the abstraction to misbehave (leaky abstraction).

It seems to me that SCA might be a good candidate for a Progressive Leakiness focus. I could envision casting an SCA Reference to a JAX-WS, for instance, to do specific Web Service stuff that would not otherwise be available or even maybe appropriate through the SCA abstraction.

I don't know, maybe wrong -- I could be in need of a vacation too, I can't tell....