Scared by SCA - XML debauchery.

SCA (Service Component Architecture) is another in a long line of "open" standards that have been pushed out over my lifetime. This one is from the boys at IBM with some help from their friends. It's wrapping around another buzzy term at the moment in enterpise software, SOA (Service Oriented Architecture). Like many standards this one aims to bring componentisation of software and software development allowing the non-technical users to build wonderous applications. Unlike many standards, this one is quite good. You can grab version one of the specification over at http://www.osoa.org.

Why the hell would I be interested? I write games! Well, no, the day job is all about enterprise software and I've spent my last few weeks flipping open my head and stuff the SCA specification in. Like most standards of the moment there's an XML dialect - there's always room for more XML don't you think? Unfortunately this one commits one of my most hated software crimes, the topic that blog post was meant to be about.

Consider, you've gone to the trouble of using XML. It's not the simplest of things to use, it adds a bunch of dependencies you probably didn't want and at times can be a right over-flexible pain to support. However, you've made your decision. So, you've come to a bit of XML that lists (in SCAs case) the references that this reference is promoted from.. notice, it's a 1 to N relationship. So, what'd you do? Well here it is:

<reference name="MyReference" promote="CompA/Ref1 CompB/Ref2 CompB/Ref3"/>

Can you see the irritation? We're going to use XML, we've incurred the penalties - but hell, we need a list, let's just encode it as a space seperated list. Please don't do this, it's so pigging annoying. How about:

<reference name="MyReference">
    <promote reference="CompA/Ref1"/>
    <promote reference="CompB/Ref2"/>
    <promote reference="CompC/Ref3"/>
</reference>

Rant Rant Rant... time for a nicer post.

Reply

*
*
The content of this field is kept private and will not be shown publicly.

*

  • Lines and paragraphs break automatically.
Verify comment authorship
Captcha Image: you will need to recognize the text in it.
*
Please type in the letters/numbers that are shown in the image above.