July 16, 2006

Emperor reunion in New York City

A friend and I took a weekend jaunt to B.B. King's in New York City to see Emperor play one of four exclusive reunion dates in North Amerca.

(courtesy Flickr)(courtesy Flickr)

While I continue to think Opeth is mandatory listening for anyone who likes either heavy or progressive music, Emperor is not for the faint of heart. It is moody, atmospheric, and rather frightening at first. Progressive song structures, huge, layered guitars, spooky (and slightly cheesy) keyboards for atmosphere, and obscenely fast drumming. The closest I can liken it to is a very dark, disturbing series of audio Jackson Pollock paintings, arranged into a theme focused in stages around a particular riff or overarching and faintly discernable minor keyboard melody. The vocals sound like alternately like a screeching witch or a marching viking warrior. Fun for the whole family! Compared to most mainstream music, it takes complexity and layering to a different place. One way to think of it is a combination of Mercyful Fate (or King Diamond), Celtic Frost, and Kill 'Em All -era Metallica.

Anyway, the show was fabulous, everything I expected: fast, loud and heavy, but with tremendous musicianship, even though co-founder & guitarist Samoth couldn't make it due to immigration holdups. Ihsahn impresses with his stage presence and sincerity. He's one of the few musicians in death or black metal (along with Mikael Akerfelt) that conveys a passion for epic music tempered with a dose of humility and a strong interest in outside genres.

Posted by stu at 04:19 PM

July 07, 2006

I've been RESTified

After a lengthy debate on the Yahoo! SOA mailing list, I think I'll come out of the closet as an admitted RESTafarian / Web Stylista. Probably 4 years too late, but better late then never.

This really has been an intellectual journey for me, which is the main reason I'm noting it here. I've always believed REST was relevant, and that you could do a lot with just HTTP, XML, and other mime types as the foundation of your distributed system. I've usually recommended to my clients, even back since the early SOAP days in 2000-2001, to support uniform interfaces where ever possible. I also remember the extreme frustration with most WSDL/SOAP toolkits making this nearly impossible: they required a unique SOAP body global element declaration (GED) to dispatch messages to code. URIs are also near-useless in the WSDL world - they described an "endpoint", not the variety of resources inside of it that one might want to link to. Building-in a universal "GET" was near-impossible within this model, until the introduction of WS-Addressing & WS-Transfer.

But it took me long a while to understand the economic and organizational implications of uniform operations + and self-described data types, and how the web already embodied them. The importance of URIs for network effects, for example. The distinction between transport and transfer protocols, and how uniform data transfer enables interop in the face of decentralized anarchy. Or that hypermedia really is a globally decentralized state machine, with hyperlinks as transitions.

The real benefit of "SOA" (with the web as a prime example of a constrained SOA) is not about classic reuse economics (saving labour), it's about federated decentralization and increasing returns through network effects. I'm sure there are many people out there that are still struggling or even disagreeing with these notions.

I hope people don't see this as a useless religious war; there really is some extremely important work to note in both Roy Fielding's thesis and Rohit Khare's followup. It's unfortunate that some topics become emotionally charged and associated with the feeling of frustration that the advocates may generate. Perhaps there will be enough of a groundswell to generate a new understanding of how to tackle integration challenges. Given the recent WS-* skepticism all over the web (some of which is warranted, some of which isn't), it might be possible.

I still think there is a role for "governed" interfaces if uniform interfaces are too general and abstract to work with in one's environment. But I've rarely found an environment that couldn't at least take advantage of a universal HTTP GET and use of URIs and links. I think ESBs like AquaLogic will become increasingly important gateways to provide URIspaces on top of SOAP/WSDL or other protocols in a SOA.

Posted by stu at 06:07 PM