Category Archives: Everything

Omri on SOAP and WCF

Omri Gazitt presumably couldn’t find sleep last Friday night, so he wrote a well thought-out blog post instead. Well worth the read. His view on this is both broad and practical. There is enough in this post to, once again, take me within inches of trying WCF. But the fact that for all practical purposes the resulting code can only be deployed on Windows stops me from making this investment.

And since he still couldn’t sleep he penned another entry shortly after. That one is good but a bit less convincing. Frankly, I don’t think the technical differences between Java/C# and “dynamic languages” have much to do with the fact that stubs hurt you more often than not when developing code to process XML messages. With a sentence like “in a typed language, the conventional wisdom is that generating a proxy for me based on some kind of description of the service will make it easier for me to call that service using my familiar language semantics” Omri takes pain to avoid saying whether he agrees with this view. But if he doesn’t (and I don’t think he does), you’d think that he’d be in a pretty good position (at least on the .NET side) to change the fact that, as he says “the way WSDL and XSD are used in platforms like J2EE and .NET tends to push you towards RPC”…

I haven’t used .NET since writing C# code back when HP was selling the Bluestone J2EE server and I was in charge of Web services interoperability, so I have limited expertise there. But Java has the exact same problem with its traditional focus on RPC (just ask Steve). I am currently writing a prototype in Java for the CMDB Federation specification that is still at an early stage. All based on directly processing the XML (mostly through a bunch of XPath queries) and it makes it a breeze to evolve as the draft spec changes. Thank you XOM (and soon Nux).

I very much agree with the point Omri is making (that relying on metadata to add complexity in order to remove it) is an issue, but it’s not just for dynamic languages.

Comments Off on Omri on SOAP and WCF

Filed under Everything, Implementation, SOAP, Tech, XOM

Want to play a minesweeper game?

Since I am on a roll with off-topic posts…

I accidentally ran into some Web pages and scripts I wrote between 1994 and 1996. Mostly experiments with Web technologies that were emerging at the time. Some have pretty much disappeared (VRML), some are still pretty useful but slowly on their way out (CGI) but many of them are very prominent now. I found a bunch of Python scripts I wrote back then, some Java apps and applets and even a Minesweeper game written in JavaScript. And the impressive thing is that even though those were all pretty early technologies at the time, these programs seem to run just fine today with the latest virtual machines and interpreters for their respective languages. Kuddos to the people who have been growing these technologies while maintaining backward compatibility. Speaking of technologies that were emerging at the time and have made it big since then, all these were served from a Linux server and the Python stuff was developed on a Linux desktop (Slackware was the distribution of choice).

1 Comment

Filed under Everything, Game, JavaScript, Minesweeper, Off-topic, Tech

We won’t get rid of SSN-based authentication anytime soon…

… because the issue has been mixed up with the whole terrorism/DHS hysteria. Game over. So now we have “Real ID” which won’t stop any terrorist but somehow is marketed as an anti-terrorist measure. I don’t like this law because it is too focused on physical identification (ID card) and not virtual identification. Trying to impersonate someone in person is difficult, dangerous (you risk being arrested on the spot or at least having your face captured by a security camera) and doesn’t scale. Doing it virtually is easy, safe and scales (you can even do it from anywhere in the world, including places where labor is cheap and the FBI doesn’t reach much). So this is where the focus should be. Also, this law is not respectful of privacy (the “unencrypted bar code” issue, even though if someone really wanted to systematically capture name and address from ID cards today they could take a picture of the ID and OCR it, the Real ID-mandated bar code would only make things a little easier).

On the other hand, I also can’t go along with the detractors of this law when they go beyond pointing out its shortcomings and start ranting about this creating a national ID card. While it’s true that this is what it effectively does, someone needs to explain to me why this is bad and why this would make the US a “police state”. If really such IDs are so damaging to liberties, why is it ok for every state to have them? What makes a national ID more dangerous than a state ID?

I agree that the Real ID effort is a bad cost/benefit trade off in terms of protection against terrorism. But leaving terrorism aside, we do need a robust (not necessarily perfect) way to authenticate people to access bank accounts and other similar transactions. In that respect, something like Real ID is needed. And in that context, the cost/benefit trade-off can be hugely positive if you think of how much impersonation costs and how much friction it creates in the country’s economy.

As long as we live in denial about what a Social Security number represents and as long as we can’t think sanely about terrorism, there can’t be an answer to the authentication problem.

Comments Off on We won’t get rid of SSN-based authentication anytime soon…

Filed under Everything, Identity theft, Off-topic, Security, SSN

Agriculture Department and Census Bureau to the rescue

An article in today’s New York Times reports that “the Social Security numbers of tens of thousands of people who received loans or other financial assistance from two Agriculture Department programs were disclosed for years in a publicly available database”.

Almost there folks! But tens of thousands is not enough, we need to cover everyone. The simplest effective way to dent the “identity-theft” (or more exactly “impersonation”) wave is to go beyond this first step and publish on a publicly accessible web site all social security numbers ever issued and the associated names. And get rid once and for all of the hypocritical assumption that SSN have any authentication value. We need a reliable authentication infrastructure (either publicly-run as a government service or privately-run, that’s a topic for another day) and this SSN-based comedy is preventing its emergence by giving credit issuers (and others) a cheap and easy way to pretend that they have authenticated their customers.

Over the last couple of years, I have received two alerts that my SSN and other data have been “compromised” (one when Fidelity lost a laptop containing data about everyone enrolled in HP’s retirement plan and one from a university) and my wife has received three. Doesn’t this sound like a bad joke going on for too long (and I should know about bad jokes going on for too long, they are my specialty)? And of course this doesn’t count the thousands of employees at dentist, medical offices, and many other businesses that have at some point had access to my data (and anybody else’s).

So, to the IT people at the Census Bureau I say “keep going”! But of course that’s not the reaction they had. The rest of the NY Times articles goes on with the usual hypocritical (or uninformed) lamentations about putting people’s identities at risk. “We took swift action when this was brought to our attention, and took the information down.” says an Agriculture Department spokeswoman. And of course there is the usual “credit report monitoring” offer (allowing the credit report agencies to benefit from both sides of the SSN-for-authentication debacle). Oblivious to the reality even though it manifests itself further down in the article: “The database […] is used by many federal and state agencies, by researchers, by journalists and by other private citizens to track government spending. Thousands of copies of the database exist.”

Another quote from the article: “Federal agencies are under strict obligations to limit the use of Social Security numbers as an identifier”. The SSN is a fine identifier. It’s using it as a mean of authentication that’s the problem.

[UPDATE] This is now a Slashdot thread. The comments are pouring in. Some get it (like here, and here). This one seems to get it too but then goes on to advocate dismantling the social security system which at this point is only connected by name to the issue at hand.

[UPDATED 2008/7/2: Sigh, sigh and more sigh while reading this article. The cat is so far out of the bag that a colony of mice has taken residency in it. The goal shouldn’t be to try to make the SSN hard to get, it should be to make it useless to criminals. That approach isn’t even mentioned in the article.]

2 Comments

Filed under Everything, Identity theft, Off-topic, Security, SSN

SML submitted to W3C

The previously released SML 1.0 and SML-IF 1.0 specifications have been submitted to W3C for standardization (actually the submission happened on 2/28 but W3C has acknowledged it today). My guess is that the fact that this announcement comes on the same day that SCA 1.0 is released is not going to decrease the confusion between these efforts.

Comments Off on SML submitted to W3C

Filed under Everything, SML, Standards, Tech

Coming up: SCA 1.0

A look at the “specifications” page of the “Open SOA” web site (the site used by the companies that created the SCA and SDO specifications) reveals a long list of specs with a release date of tomorrow. It’s like stumbling on the quarterly announcement of a publicly traded company the day before the announcement… except without the profit potential.

There is no link at this point, so no luck accessing the specifications themselves (unless one feels lucky and wants to try guessing the URLs based on those used for previously posted documents…) but we now know what they are and that they are coming out tomorrow:

  • SCA Assembly Model V1.00
  • SCA Policy Framework V1.00
  • SCA Java Common Annotations and APIs V1.00
  • SCA Java Component Implementation V1.00
  • SCA Spring Component Implementation V1.00
  • SCA BPEL Client and Implementation V1.00
  • SCA C++ Client and Implementation V1.00
  • SCA Web Services Binding V1.00
  • SCA JMS Binding V1.00
  • SCA EJB Session Bean Binding V1.00

The second one is the one I’ll read first.

Comments Off on Coming up: SCA 1.0

Filed under Everything, SCA, Standards, Tech

SML 1.0 is out

After taking the form of two early drafts (versions 0.5 and 0.65), the SML specification has now reached v1.0, along with its sidekick the SML-IF specification. You can find both of them at serviceml.org. This is where the happy bunch that assembled to create these specs would normally part ways. Not quite true in this case since there is related work about to be tackled by a very similar set of people (more on this later), but at least we are not going to touch SML and SML-IF anymore. They are ready for submission to a standards body where further modifications will take place (more on this later too).

1 Comment

Filed under Everything, SML, Standards, Tech

CMDB Federation white paper released

As reported earlier, some of movers and shakers in IT management got together last year to standardize the way to federate configuration repositories. Since then the only link available has been to a press release, which is embarrassing to say the least. Well, cmdbf.org recently came up and it is now serving a white paper that describes in more details the vision that we (the companies involved) are pursuing by this collaboration.

By linking to them from the same page, we have (by some definition) successfully federated the press release and the white paper. Way to go!

Comments Off on CMDB Federation white paper released

Filed under CMDB Federation, CMDBf, Everything, Standards

WS-ResourceTransfer article

Network World recently published a “technology update” column I wrote for them on WS-ResouceTransfer. It was supposed to come out soon after the release of WS-ResourceTransfer (in August 2006) but got postponed a few times. In the process, the editors requested that I made some improvements but also made some changes to the article that I hadn’t seen until it was published. The title is from them for example, as is this statement which I don’t actually agree with: “Models can be easily translated from one modeling language to another, so the invoker of the model and the service providers don’t need to use the same modeling language. Service Modeling Language, for example, was designed for that purpose.” SML was not designed for the purpose of doing model translation (even though you can of course transform to and from SML) and unfortunately model translation is not always easy. I guess the lesson is that if I had written the article more clearly to start with they wouldn’t have felt the need to make such modifications.

I think the article is still helpful in describing the potential role of WS-ResourceTransfer at the intersection of SOA and model-based management.

Comments Off on WS-ResourceTransfer article

Filed under Articles, Everything, Standards, Tech, WS-ResourceTransfer

PowerPoint abuse

The National Security Archive is not a government organization even though its name may sound like one, but a research institute hosted by The George Washington University. The Archive published today a copy of “CentCom PowerPoint Slides Briefed to White House and Rumsfeld in 2002, Obtained by National Security Archive through Freedom of Information Act“. A very interesting read, but commenting on the meat of this is way off-topic for this blog (I have a “off-topic” category, but not a “way off-topic” one). One side aspect is only a little bit off-topic though, so I’ll indulge myself: it’s about this reflection on the use of PowerPoint, by Lt. Gen. McKiernan as quoted in Thomas Ricks’ book Fiasco:

It’s quite frustrating the way this works, but the way we do things nowadays is combatant commanders brief their products in PowerPoint up in Washington to OSD and Secretary of Defense… In lieu of an order, or a frag [fragmentary] order, or plan, you get a set of PowerPoint slides… [T]hat is frustrating, because nobody wants to plan against PowerPoint slides.

It’s an old debate whether PowerPoint is a mostly good tool for presentations (that is often misused) or basically a crappy tool for presentations (if you’re in the Bay Area I can lend you the Tufte essay). I generally tend to fall towards the former view. But what should not be a matter of debate is whether a PowerPoint document is a good communication vehicle on its own (rather than as support for a presentation). I very much agree with Lt. Gen. McKiernan that it is definitely not. And by only changing a few words I could turn his quote into one that describes some interactions in several software companies I know of, including my employer. And I would guess non-software companies too, there is no reason why this would be limited to the software industry and the military.

Must…resist…killer-app…pun…

Too late.

1 Comment

Filed under Everything, Off-topic, Powerpoint

SML versus the fat-bottomed specs

SML is, if I simplify, XSD augmented with Schematron. For those, like me, who aren’t fond of XSD, this is not very exciting… until you try to look at things in a different light. Instead of another spec that forces you towards the use of XSD (like WSDL), maybe the fact that SML uses XSD is your ticket *out* of XSD-hell. Let me explain.

I wrote above that I am not fond of XSD, and yet I see the value of having SML make use of it. Like it or not, many people and organizations have made heavy use of XSD to define well-known and reusable XML elements. And there is a lot of tooling (design time and runtime) for it. Breaking away from XSD altogether is possible (and advisable in many cases), but hard to do in places like systems management that have already invested heavily in using XSD.

The problem is that XSD is a document description language. It works well when the “document” abstraction is a good match. So, when I retrieve an XHTML page from a Web site, I want the paragraphs to be in the right order. The “document” abstraction is a good match. On the other hand, when I retrieve the configuration of a server, I don’t necessarily care if the description of the CPU comes before or after the description of the network card. I am still retrieving a document though (because XML forces this abstraction). But I don’t have the same requirements on its structure that I have on a document meant for publishing (like a Web page). For the non-publishing kind of interaction, a contract (a bullet list of things you can count on) is a better abstraction than a document.

XSD works better for the publishing kind of scenario, where you want to control all aspects of the document. It doesn’t work as well in situations where you just have some constraints that need to be met (e.g., the memory size must be a number) but other things are not important to you (order of some of the elements). As a result of XSD quirks, people often end up arbitrarily fixing the order of elements where it’s not needed (using xsd:sequence) and even have to introduce unneeded elements (to escape the dreaded UPA rule). And things become even worse when you have to extend and/or version existing XSD because of all the arbitrary constraints. Other metamodels like RDF avoid a lot of these problems by focusing on the assertion, rather than the document, as the base concept but this is a topic for another post.

One nice thing about the syntax constraints usually imposed by an XSD is that it makes the serialization of a piece of XML into a Java (or other language) more efficient. It doesn’t really matter semantically if the zip code is before or after the city name. In the US the zip code typically comes after (in postal addresses), in France it’s the contrary. And for this (unlike for the stupid MMDDYY date format, don’t get me started on this) you can make a case either way since in some places a zip code includes several cities and in others a city contains several zip codes. But whichever way you choose, you may be able to write a faster parser if you know in what order to expect them.

So I don’t mind at all having an XSD that describes a reusable type for elements that are very often used as an information atom, like an address (on the other hand, serializing an entire XML document into a Java object is often the wrong way to handle it).

By now you are getting an idea of what I want as an XML contract language. I want reusable elements that are small and potentially tightly defined (XSD definitions for a set of GEDs). And I want assertions that describe rules that a set of such elements need to obey in order to be valid as a unit per the contract. Which is where SML comes in. Because it provides a way to package XSD and Schematron, I can’t help thinking of it as a possible alternative to an all-XSD view of the world. If people have the discipline to only use the XSD part to describe small reusable elements and to rely on the XPath-driven Schematron constraints to provide the contract rules that tie these GEDs into a meaningful unit.

A few notes:

– I am fully aware (being part of it) that SML wasn’t created as a generic contract language for XML-based interaction, but as a desired state modeling language. The usage I am suggesting here is clearly a hack that abuses the syntax provided by SML (actually SML-IF). And I am not even sure that the SML-IF packaging would be an entirely convenient vehicle for this approach. I haven’t done the experimentation needed to validate that. It just seems to hit the ballpark of the requirements.

– I find it ironic that the approach to an XML contract language that I described above is already how many XML specs are defined in their human-readable section (at least in the SOAP world): a list of pseudo-XPath statements with a description of what to expect at the end of each one. But somehow at the bottom of each of these specs we get a huge XSD that imposes a lot of extra constraints that have no justification in the semantics of the spec. Rather than having a set of XPath-driven schematron statements that provide a machine-readable equivalent of the human-readable rules described used pseudo-XPath. Like the Queen song (almost) says “Fat bottomed specs you make the SOAPin world go dumb”.

1 Comment

Filed under Everything, SML, Standards, Tech

Come for the XML, stay for the desired-state approach

What would you think of programmers who switch from C to Java in order to be able to use Javadoc for interface documentation? On the one hand, if the benefits of Javadoc alone justify the effort to switch then why not? On the other hand, you can’t help thinking that it’s a pity that they don’t realize (and take advantage of) all the other improvements they are getting for switching to Java. Especially if they start to rewrite some of their existing C code in Java in a way that smells more like C than real Java. Wouldn’t you want to sit with them for a talk?

Well, I am seeing early signs of this happening with SML. As I wrote earlier, the main difference between CIM and SML is that of usage model. Unlike CIM, SML is designed to enable desired-state management. That’s the real difference. But it also happens that SML is XML-based (and naturally compatible with document exchange types of interactions, be they Web Services or REST) while CIM is not (and its XML form is unusable in practice for anything other than RPC). And the difficulty of doing XML doc exchange with CIM happens to be a more immediate problem to many people than desired-state management. As a result, it is tempting to look at SML as a solution to CIM’s lack of XML friendliness. But moving to SML for this reason, while keeping the same level of granularity and the same usage model, is just like moving from C to Java for the Javadoc.

Moving to SML because it is defined around XML documents is hard to justify. BTW, moving to SML because it’s based on XSD is even worse, as I’ll explain in the next post.

Comments Off on Come for the XML, stay for the desired-state approach

Filed under Desired State, Everything, SML, Standards, Tech

Give and take

I wasn’t looking for yet another “REST vs. Web Services” thread but Pete Lacey sucked me in (and many others) by hooking us with a hilarious bait post and since then he’s been pulling strongly on the line with very serious discussions on the topic so we haven’t been able to let go. The latest one left me a little puzzled though. In the security section Pete writes that it would make sense to use WS-Security indeed (and the SOAP envelope as a wrapper) if there was a need for message-level security rather than simply transport-level security. And then, barely catching his breath, he dismisses WS-Transfer and WS-Enumeration in the following paragraph on the basis that “these specifications effectively re-implement HTTP” (not really true for WS-Enumeration but let’s leave that aside). More importantly, how am I to reconcile this with the previous paragraph? Once I use WS-Security and the SOAP envelope, I can’t use pure HTTP anymore. But the patterns supported by HTTP are still very useful. That’s what WS-Transfer is for. That’s what SOAP is for more generally, providing a hook-up point for things like WS-Security that compose with the rest of the message. I don’t understand how Pete can concede that in some cases message-level security is useful but then take away the possibility to do a GET in these circumstances. Is he saying that for some reason the scenarios that justify message-level security are scenarios in which REST-style interactions don’t apply?

3 Comments

Filed under Everything, SOAP, Standards, Tech

A larger (smoke) screen

After the 12% temperature rise, I recently ran into another creative use of percentages. Since I expect to run into many more of these (based on how many I’ve noticed in the past) and since they’re fun to point out I’ve created a new CrazyStats category.

This instance comes from a print advertisement for Samsung TVs, stating that their TVs with a 16:10 aspect ratio offer 30% more viewing surface than a 4:3 TV. Sorry, I don’t have a link but this advertisement (for computer monitors instead of TVs) repeats the “larger than 4:3 monitor” claim several times, albeit without quantifying it. This comparison makes no sense until you fix one dimension. And obviously it is to the advantage of the 16:10 screens to fix the height as being common between the two screens and then compare the surface (but even then, you only get a 20% advantage for the 16:10 compared to the 4:3, I don’t know how they came up with 30%). But if you fix the width as being the same then it’s the 4:3 that offers 20% more viewing surface…

Not that I don’t agree that 16:10 is a more useful aspect ratio (that’s what I bought for my monitor at home). But the “larger than 4:3” claim is meaningless. Next thing you know, people will start marketing 4:3 monitors as “16:12” to make them seem “bigger” than 16:10 monitors.

Comments Off on A larger (smoke) screen

Filed under CrazyStats, Everything, Off-topic

Commedia dell (stand)arte

There seems to be a micro-culture of people involved in internet standards. If you measure a micro-culture by the number of its private jokes, then this is definitely one. And there are other signs. A while back, I wrote about the mnot standard geek index. Now Umit has captured the essence of standards interactions in verses. And, according to Umit’s blog post, Jonathan is the Claude Levi-Strauss of this culture (I wasn’t at this presentation, Jonathan please send me the slides if you won’t post them).

One aspect that Umit doesn’t cover in her poems, is the always-entertaining issue of naming things. I don’t have her talent for verses, so here is in plain terms what the discussion often sounds like:

Bob: I think we need to be able to (…). And the best way to do it is by adding an element. I’ll call it Foo for now in my description of how it would work, but I don’t care how we end up calling it as long as the feature is supported.
(30 minutes of discussions about element Foo and how it works, which ends with an agreement)
Chairperson: Great, so we agree to add element Foo.
Alice: Yes, but we need another name. I am not one to argue about names but, Foo makes it sound like (…). We should call it Bar.
Bob: No, we can’t call it Bar, people would think it is used for (…). I don’t really care about names either, but in this case Foo is the best name.
(4 hours of discussions about the name, that end up with a resolution that will be overturned a couple of times before the spec is completed)

If you think I am exaggerating, I know of a set of patterns for which we had all agreed on the definitions but we could not agree on the names. Since there happened to be 7 of them, we almost ended up naming them after the 7 dwarfs as a tie-breaker. Those are the WSDL 2.0 message exchange patterns. And in retrospect it’s good that we didn’t go with the dwarfs since an eighth one was later added (after I left the group). They now have names that sound like they come out of the Kama Sutra: In-Only, Robust In-Only, In-Out, In-Optional-Out, Out-Only, Robust Out-Only, Out-In, Out-Optional-In.

Harlequin and Pantalone would be proud.

5 Comments

Filed under Everything, Off-topic, Standards

WS-RT feedback workshop

Next week, the WS-ResourceTransfer authors are hosting a short (2 hours) feedback session. It’s at HP in Cupertino CA. For all the details, please read the invitation. Here are the feedback agreement and the campus map mentioned in the invitation. This entry is late (we are already past the RSVP date) but as the host of the event I know that we haven’t reached the room capacity, so you can still join us. Just let me know.

Comments Off on WS-RT feedback workshop

Filed under Everything, Standards, WS-ResourceTransfer

Too hot to count

Here is another one to file in the “lies, damn lies and statistics” category: an article dated yesterday titled “Dutch bask in warmest autumn in three centuries” that starts with “The autumn of 2006 has been the warmest in the Netherlands for over 300 years, 12.5 percent hotter than the previous year which was already a record, meteorologists said.” We find out later where this 12.5% comes from: “The average temperature for the months leading up to November 17 was up to 13.5 degrees (56 degrees F), as compared to 12 degrees last year.” Except that such percentages don’t make much sense when applied to units that have an arbitrary zero. The same calculation using Fahrenheit degrees results in only a 5% temperature rise. Use the Kelvin scale and you’re down to a paltry 0.5% rise. Now imagine that a city has a 0.5C average one year and 1.5C average the next year. That’s a 200% increase in temperature! And if you live in a place that at some point gets a 0 degree temperature average, I would recommend moving out before the next year because you’re very likely to experience a terrifying *infinite* rise (or decrease) in temperature the following year!

This article comes from Agence France-Presse. And the French education system is criticized for putting too much emphasis on Mathematics…

1 Comment

Filed under CrazyStats, Everything, Off-topic

The S stands for satire

The cynical view of SOAP is not new, but this piece (“The S stands for Simple” by Pete Lacey) puts it down in the best form I’ve seen so far. What makes it such a good satire is not the funny writing (“Saints preserve us! Alexander the Great couldn’t unravel that” on reading the XSD spec) but how true it is to what really took place. There was plenty of room for exaggeration to get additional comic effect but Pete staid clear of that and the resulting piece is much more powerful for it.

I am impatiently waiting for the second installment, when the poor developer gets introduced to the WS-Addressing disaster.

I love the piece, but it doesn’t mean I have given up on SOAP. The fact that there was a lot of bumping around trying to find out how SOAP is most useful is not bad per se even if the poor developer left a few handfuls of hair on the floor in the process (that’s the joy of being an early adopter, right?). Many other good technologies go through that, in fact this is what makes them good, figuring out what they should not do.

SOAP is indeed for doc exchange (not “wrapped-doc/lit”). If you need end to end security, reliability or transaction then it helps you with that. If you don’t need them but think you might need them someday then the cost of putting your message in a SOAP envelope it pretty low, so do it. If you know you won’t need that then by all means POX all you want. And BTW, while the “role” attribute is indeed useless, “mustUnderstand” is very important. In fact, it would be very nice to have something like this for any portion of the message, not just headers. And speaking of extending header goodies to the body, EPRs would be useful if they were a real mechanism for templatizing SOAP messages (any part of the message, with a way to indicate what portions are there because of the template) instead of a dispatching crutch for sub-standard SOAP stacks. And since I have switched into “Santa Claus list” mode, the other piece we need is a non-brittle XML contract language. That’s for a future blog entry.

Comments Off on The S stands for satire

Filed under Everything, SOAP, Standards, Tech

SML news

Interesting SML news today. We published an updated SML spec (PDF, XSD) and, more importantly, a first version of the SML-IF (PDF, XSD) spec. IF stands for “Interchange Format” and this spec describes how to package an entire SML model (including instance documents, schemas and schematron constraints) in one XML document. This is where the real SML interoperability is going to come from. Just as important is the fact that we also published a list of interop scenarios with the associated SML-IF models. What you get is a list of SML-IF documents, each one containing an SML model that exercises some feature of SML. And the interop scenarios document tells you what the result of the validation of this document should be. So you can use your SML-IF code to import this document and then your SML code to validate it. By then comparing the results of this validation with what is expected, you can find potential interop problems in your code.

There is going to be an interop session on January 16/17 where implementers will come together to compare their results with these scenarios (HP will be there). But even if you don’t plan to come to the interop, these interop scenarios provide very useful test cases for your code. It’s true that by its nature SML lends itself well to such unit testing, but really there is little excuse for other specs to not also come out with such tests. And I speak as someone guilty of having pushed some of these other specs out.

If you are interested in coming to the interop event, here is the invitation. All the details (including the legal agreement) are at http://serviceml.org.

Comments Off on SML news

Filed under Everything, Standards

Working backwards

Werner Vogels describes Amazon’s approach to product definition as working backwards, starting with, in order, the press release, the FAQ, a definition of the customer experience and the user manual(s). A few comments:

  • When I was an R&D manager we didn’t go as far as starting from the press release. Well, to be honest none of the projects I managed was big enough to get its own press release anyway (things are different now that some of my work is on multi-company standards efforts where press releases are cheap). But we did write the user manual first in some cases. I can testify that in addition to providing a lot of clarity for the development team it also results in much better user manuals. Because they are written based on what the thing does, rather than based on how the thing is implemented as is often the case with after-the-fact user manual.
  • When you do the way Werner Vogels describes, the FAQ is more a list of “expected questions” than a real list of “frequently asked questions” but that still beats 80% of FAQs out there that are lists of “questions we’d like you to ask”.
  • This kind of reminds me of the French approach to dating. Starting from the end and working your way back to small talk.

1 Comment

Filed under Everything, Off-topic