Category Archives: Standards

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

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

Is SML to CIM what WS is to RPC?

The question I hear most often when talking about SML, is how it relates to CIM. The easy part of the answer is to explain that SML is a metamodel, like MOF, not a set of model elements/classes like CIM. SML per se doesn’t define what a blade server or a three tier application looks like. So the question usually gets refined to comparing SML to MOF, or comparing an SML-based model to the CIM model. Is it a replacement, people want to know.

Well, you can look at it this way, but whether this is useful depends on your usage model. Does your usage model include a distinction between observed state and desired state? You can use SML to model the laptop in front of you, but if all you’re doing is reading/writing properties of the laptop directly you don’t get much out of using SML rather than CIM, definitely not enough to justify modifying an existing (and tested) manageability infrastructure. But if you change your interaction model towards one where there is more automation and intermediation between you and the resource (at the very least by validating the requested changes before effectuating them), then SML starts to provide additional value. The question is therefore more whether you would benefit from the extra expressiveness of constraints (through schematron) and the extra transformability/validation/extensibility (through the use of XML) that SML buys you. If you’re just going to assign specific values to specific properties then CIM is just as good. And of course keep in mind that a lot of work has already gone into defining the domain-specific semantics of many properties in CIM and that work should, to the extent possible, be leveraged. Either directly by using CIM where SML doesn’t provide additional value, or indirectly by carefully surfacing CIM-defined elements inside an SML model. Finally, CIM defines operations while SML doesn’t have such a concept. The most natural way to do a “start” using SML is not to invoke a “start” operation as it is in CIM, it is to request the configuration to be changed to a state in which the resource is started. In conclusion, there is a lot more to the “CIM versus SML” question than a direct replacement. Those who just look at ways to do syntactical translation between the two approaches will repeat the same errors that created (and still create) so many problems for those who saw Web services as just another way to do object to object RPC. The usage model (some would say the architecture) is what matters, not the syntax.

1 Comment

Filed under Everything, SML, Standards, Tech

WS-Notification is an OASIS standard

WS-BaseNotification v1.3, WS-BrokeredNotification v1.3 and WS-Topics v1.3 are now OASIS standards. Congrats and many thanks to the whole working group and especially the editors. Here is the announcement and here are the specs (these are the committee drafts that were voted on, they haven’t yet been edited to reflect the fact that they are now standards):

[UPDATE: here are the links to the final versions of the standard: WS-Notification spec, XSD, WSDL; WS-Topics spec, XSD; WS-BrokeredNotification spec, XSD, WSDL]

Comments Off on WS-Notification is an OASIS standard

Filed under Everything, Standards

Network World article about SML

I wrote a short article on SML for Network World that was just published on-line and in the paper edition.

1 Comment

Filed under Articles, Everything, Standards

WS-ResourceTransfer published

HP, IBM, Intel and Microsoft just published the first specification described by the WS-Management/WSDM convergence roadmap from March 2006. It’s WS-ResourceTransfer (WS-RT), which builds on top of WS-Transfer to allow more flexible access to the representation of the resource (e.g. retrieving only a portion of the representation instead of the whole thing). This level of features corresponds to the WS-Transfer extensions present in WS-Management or to what WS-ResourceProperties offers in the WSRF world. Attentive readers of the roadmap might remember that it mentions a WS-TransferAddendum specification. There won’t be any such specs, instead there will soon be a backward-compatible update of WS-Transfer.

2 Comments

Filed under Everything, Standards

Is SCA to SML what SOA is to ITIL?

I very much agree with Eric Newcomer’s recent post about service-oriented tooling. In discussions around SML, when people debate the decision of creating yet another metamodel I usually make three points:

  • Need for powerful mechanism to convey constraints beyond the structure of the model
  • Need for alignment w/ XML-based messaging
  • It’s not really a new metamodel anyway since it borrows so much from XSD.

The second bullet resonates well with Eric’s argument. One of the consequences of using OO for modeling is the difficulty of mapping it to XML processing.

Now, despite its name SML is not really a service modeling language. What Eric has in mind is something more like SCA. SML is less specialized than that. Surely it can be used as a foundation for modeling services. But if you give just the SML spec to two persons and ask them to model services with it, don’t expect much useful interoperability between them. At least until common service modeling elements are defined on top of SML. Which begs the question, how does this relate to what SCA already provides?

In a very simplified way, what we see happening between SCA and SML is a smaller scale version on what is happening between SOA and ITIL. ITIL came from an operations perspective, with the goal of increasing the flexibility and responsiveness of the IT infrastructure. SOA came from a software design perspective, with similar goals. ITIL covers the whole spectrum of IT resources while SOA is focused on services. Similarly, SML came from an operations perspective and is generic enough to potentially apply at all levels of the IT infrastructure. While SCA came from the software design side of the house and is focused on software services.

This still doesn’t answer the question of the relationship between SML and SCA (e.g. can SCA be an SML-based model?) though. Stay tuned.

Comments Off on Is SCA to SML what SOA is to ITIL?

Filed under Everything, Standards

WS-MeX 1.1

WS-MetadataExchange was updated and republished today. While technically not part of the WS-Management/WSDM convergence effort, this is part of the same wave of consolidation/clarification. This update was described and pre-announced in the white paper describing the Web services management convergence, including the move towards using WS-Transfer’s GET operation. While WS-MetadataExchange doesn’t say anything about this (it doesn’t need to), this move towards using WS-Transfer also means that if the provider and the requestor both support the WS-ResourceTransfer extensions to WS-Transfer they will be able to exchange portions of the metadata rather than the entire thing, in the same way than a management system would retrieve a portion of the representation of a system. This allows better re-use and composition between specifications.

Comments Off on WS-MeX 1.1

Filed under Everything, Standards

SML feedback session

The public feedback session on SML will take place on September 12 in Mountain View. All are invited, but there is one of these pesky feedback agreements to sign. You can find the agreement at http://serviceml.org/. Once you’ve signed it, please send email to sml-feedback@external.cisco.com announcing your intention to come to the face to face meeting. Or you can directly email your feedback to that same address.

Comments Off on SML feedback session

Filed under Everything, SML, Standards

CMDB overview

This Network World article provides a pretty good overview of what the value of a well-used CMDB is. The statement that CMDBs are “enabled by open interfaces among management systems” is giving us (management system vendors) a bit more credit than we deserve at this point, but there is plenty of work in progress to make this be true (example 1, example 2, example 3).

Comments Off on CMDB overview

Filed under Everything, Standards

Announcing SML

BEA, BMC, Cisco, Dell, EMC, HP, IBM, Intel, Microsoft and Sun just published a new modeling specification called SML (Service Modeling Language). This is the next step in the ongoing drive towards more automation in the management of IT resources. The specification makes this possible by providing a more powerful way (using Schematron) to express system constraints in a machine-readable (and more importantly machine-actionable) way. It also has the advantage (being based on XSD) to align very well with XML document exchange protocols and the Web services infrastructure.

Here is the SML spec on the HP site. Very soon there will be an HTML version of the spec there in addition to the PDF. In addition, the serviceml.org Web site is a basic but vendor-neutral home for the spec.

Those familiar with the QuarterMaster work will see a lot of commonality and know that HP has a lot of experience to contribute in this domain: paper 1, paper 2 and paper 3.

This is an initial draft, not a final specification. The major hole in my mind at this time is the lack of support for versioning. Something to address soon.

There are many good things about this specification, but unfortunately not the name. Just for kicks, here are some better candidates:

  • ITSOK (IT Systems Operational Knowledge) “it’s ok”
  • ITSON (IT Systems Open Notation) “it’s on”
  • ITSUP (IT Systems Upkeep Profile) “it’s up”

Comments Off on Announcing SML

Filed under Everything, SML, Standards, Tech

Looking at AMQP

If you spend a large part of your day reading and writing XML-related specs and artifacts, what do you do in the evening for a change? You read a non-XML spec. That’s what I did tonight, with the newly-released AMQP specification.

The clear aim of AMQP is to open up and commoditize the message queuing middleware space. Some customers in the financial services industry and smaller software vendors are fed up with, respectively, IBM/Tibco fees and IBM/Tibco market dominance. And this is how they plan to bring change. Definitely something to watch. And not just if you’re in banking, many other domains have demanding messaging needs, including IT management. So they have my attention.

I am not a messaging guru, so my comments are not about the core content of the spec (it seems very well thought-through though) but mostly around the interconnection between this spec and the domain I focus on. Basically, how this would fit in the landscape of standards-based management integration for increased automation and flexibility.

So how would this map to WS-Eventing, which is the basis for the eventing part of the ongoing Web services management convergence? To a large extent, they are orthogonal and complementary. WS-Eventing is about creating and managing subscriptions, not how the notifications get delivered. As long as you can create an EPR that indicates that AMQP is the delivery mechanism, WS-Eventing will be ok with that protocol. And conversely, AMQP has limited support for the function of subscribing. The closest thing is the ability, defined by AMQP, for a consumer application to create message queues and then to pass bindings to the server to drive messages into these queues. But in AMQP there is no concept of notifying the publisher application that there is now interest from a consumer for some type of message. So, in the general case, a mapping of a WS-Eventing subscribe call to AMQP would require two steps, one to create the appropriate queue and binding on the server and another (if applicable to the system), to notify (through a mechanism not specified by AMQP) the publisher application that there is interest for a specific type of messages. In some systems the publisher app always sends the same notifications and lets the messaging infrastructure deal with dropping those that no-one cares to get. But in other use case (including some in the management space), the system that plays the role of publisher application is able to vary the amount of notification it sends depending on its configuration. This is not addressed by AMQP.

Another interesting aspect is to look at how something like WS-Topics can be used with AMQP. AMQP does have a built-in “Topic” exchange type just for this. But it specifies that “the routing key used for a topic exchange MUST consist of words delimited by dots. Each word may contain the letters A-Z and a-z and digits 0-9”. This wouldn’t allow a direct mapping from WS-Topics since the topics in WS-Topics are XML elements, therefore their names are of type NCName, which includes the “dot” character.

What I find more puzzling is the claim (not in the spec but in the announcement) that “The AMQProtocol can be used with most of the current messaging and Web Service Specifications such as JMS, SOAP, WS-Security, WS-Transactions, and many more, complimenting (sic) the existing work in the industry.” I can easily see how AMQP can be used with JMS and as I described above it can also be used with the WS specs that manage subscriptions. But I don’t understand how it relates to things like WS-Security and WS-Transaction. AMQP defines a binary protocol that doesn’t conform to the SOAP model, so how does it compose with SOAP-based specifications? This is especially important because AMQP is very light on security. And when it comes to transactionality and reliability it just says that “there are no confirmations in AMQP. Success is silent, and failure is noisy. When applications need explicit tracking of success and failure, they should use transactions.” And leaves it at that.

The AMQP announcement is covered in this eWeek story. BTW, unless he is quoted out of context ZapThink’s Jason Bloomberg seems to miss the point when he compares AMQP with JMS and its “vendor-specific implementations”. The fact that JMS is not a on-the-wire protocol and has therefore vendor-specific implementations is actually the very reason why something like AMQP is needed. AMQP asserts that the protocol can be mapped to JMS and indeed I didn’t see anything in the spec that would prevent this from being true.

I also wonder if it’s for the irony or as a Freudian slip that the topic example they use in the spec happens to be STOCK.USD.IBM.

[UPDATED 2008/10/27: Microsoft announced that they will join the group.]

[UPDATED 2009/3/17: There is some debate around RedHat patents related to AMQP. Kirk is not happy. Matt is not worried. RedHat says it’s pure.]

2 Comments

Filed under Everything, Standards, Tech

Public review of WS-Notification specs

I am a little late in pointing this out but we are half-way through the (hopefully final) public review of the WS-Notification family of specs (WS-BaseNotification, WS-BrokeredNotification and WS-Topics). You have one more week to review the specs and send your comments. Many of the changes in WS-BaseNotification and WS-BrokeredNotification relate to lifecycle management and how these specs relate to WS-ResourceLifetime. There is only one change to WS-Topics but I think it is a pretty major improvement. It cleans up how extension topics appear in a TopicSet document. All the links and information on how to comment are in this announcement.

Comments Off on Public review of WS-Notification specs

Filed under Everything, Standards

Security by complexity?

WSRF/CDL/WS-Addressing complexity used as a security barrier? Ouch!

Comments Off on Security by complexity?

Filed under Everything, Security, Standards

WS-Management a DMTF preliminary standard

WS-Management came out of the working group and has been published by the DMTF as a preliminary standard. Read it here.

Comments Off on WS-Management a DMTF preliminary standard

Filed under Everything, Standards

CA joining “Federated CMDB” effort

CA announced today that they are joining BMC, HP, IBM and Fujitsu in the effort announced last week to standardize ways to create a Federated CMDB out of distributed configuration repositories. Welcome!

Since I am pointing to press releases left and right, here is one more.

HP is not only tackling the challenge of supporting ITSM processes in a top-down fashion (like Federated CMDB). We are also attacking it bottom up through some very concrete integrations. Such as the SOAP-based incident exchange interface developed with SAP that is mentioned in this press release.

Comments Off on CA joining “Federated CMDB” effort

Filed under Business, Everything, Standards

The other face of WS composition

Dave Orchard is having some fun with the spec names in the convergence roadmap. I think he stumbled onto the second way that Web services specifications are composed. It goes something like this:

  • if the specs don’t overlap, compose them by putting their SOAP headers side by side
  • if the specs overlap, compose them by concatenating their names

Let’s consider ourselves lucky that others were more imaginative than us, otherwise WSDL might be called WS-NasslScl and BPEL might be called
called WS-XlangWsfl. Some of Dave’s predictions are scary though. I just hope we don’t wake up one day to realize that the foundation
language for Web services is not XML anymore but CamelCase…

Comments Off on The other face of WS composition

Filed under Everything, Standards

Tim Bray feels for me

It’s always nice to get some sympathy. When Tim Bray writes “I can’t help but feel for the H/I/I/M staff who are going to have to do the work”, I think I am included. And even thought the rest of the message is mostly ironic, I don’t think he means this sentence ironically. By “H/I/I/M” he of course means HP, IBM, Intel and Microsoft who recently published a roadmap for convergence of Web service standards for resources, events, and management, on which Tim shares his thoughts.

This kind word of support made me think back for a minute about where we are coming from in this long-winded effort to establish an interoperable way to use Web services for management.

The first instance I am aware of came from HP and WebMethods. It was the OMI work, released back in 2001. The goal was to “provide an easy, open way for systems management vendors and other interested parties to access and manage the resources associated with an integration platform, together with associated business processes.” At the time, putting Web services on simple resources was a bit of a stretch, but using Web services to manage integration platforms and the underlying business processes was already in OpenView’s agenda.

In 2002, a few of us in HP created the Web Services Management Framework (WSMF). It’s not exactly how I would write it today, but it does the job well and reliably. Especially, if you include the note on dynamic attributes and meta information that we published a few months later. This note introduces a generic GET operation qualified by an XPath statement to retrieve a portion of the XML representation of the resource. Hum, where have I seen this lately… It also provides a way to retrieve metadata associated with the entire resource, or to a given operation, attribute or notification. To this day, we integrate with several partners using WSMF.

As a side note, WSMF didn’t suffer from not using WS-Addressing. What we did need that wasn’t available at the time, was a way to subscribe for events and deliver them using Web services. So we wrote WS-Events to do just this. Not being in the messaging business, we didn’t really want to write it and wanted to let the messaging vendors drive it, but at the time there was nothing like WS-Notification or WS-Eventing available. These days, I often hear people use the name WS-Events to mean WS-Eventing, so at least I have the satisfaction to know that by being first we got to pick the more intuitive name. Maybe we should have done the same thing with WSMF and called it WS-Management…

The goal of course was to have industry-wide interoperability so in 2003 we submitted WSMF to the OASIS WSDM technical committee. Along the way, we picked up WS-Addressing, WSRF, WS-Notification (as a way to merge our foundation with that used by the Global Grid Forum) and WS-Manageability (a submission from IBM, CA and TalkingBlocks for the management of Web services, for which WSMF also had a subcomponent called WSMF-WSM). The result is WSDM 1.0, now an OASIS standard.

But the quote from Metropolis provided by Tim (“Nobody cared about the slaves who died laboring to raise the Tower of Babel”) is especially relevant here, not just because non-one cared about the slaves (many people on the planet do a much more painful work for much less reward than the engineers involved in these specifications, so am I not too sorry for us), but because, as in Babel, someone up in the clouds (or rather, up North where the weather is often cloudy) didn’t like the looks of the tower we were building and created incompatible languages, preventing the tower from reaching the heavens.

I am of course referring to the publication of WS-Management. But our goal of industry-wide interoperability hadn’t changed, so off we went again. Along two threads actually (yes, it gets worse before it gets better). Since the submission of WS-Management to the DMTF we’ve been working there on fixing it up. The spec is expected to soon come out of DMTF. And at the same time, as is now well-known, HP, IBM, Intel and Microsoft have been working on a convergence of the two stacks, which is what the roadmap published last week describes.

So, anyway, here is my brief personal history, to this day, of Web services for management. From a very HP-centric viewpoint, one way to look at it is that HP was the very first to create a spec to use Web services for management, then we had to bring IBM on board so we did another iteration, and now we have to bring Microsoft on board so here we go with yet another iteration.

Yes, there is more work to come. Thank you Tim for your support. I, for one, am ok, really. I am actually more worried about the consumers of our specs. The developers of course, including those who spent a lot of time implementing these specs, for example for Apache or for CDDLM. And our partners and customers, who make planning decisions based on the industry landscape. It’s for these people that we wanted to publish this roadmap as soon as possible and make it specific enough that people can extract useful information to plan accordingly. From my perspective at least, they are the reason why it made sense to publish the roadmap even though we are not yet ready to provide the actual specifications being developed. And also to provide Tim with some pinata practice just before Easter.

Tim also ironically notes that some of the vendors participating in the convergence are “supporting the existing to-be-superseded and to-be-amended specs in the interim, and are apparently suggesting, straight-faced, that it might be sane for customers to use them”. From HP’s perspective, we are only listed as planning to eventually support the converged specifications. For the rest, in such a context every situation is unique when determining the smartest way to use available information about the convergence and available specifications. One needs to find the most appropriate way to move forward today (the benefits of applying SOA principles and Web services technologies to management are reachable today and many customers are seizing them) while protecting the investment in the long run. We are working with our customers and partners on this.

All in all though, I am not quite sure what to make of Tim’s message. Calling the roadmap a WS-Pinata clearly illustrate his eagerness to hit it hard. But those hitting a pinata tend to be blindfolded and the pinata also contains candy. I am probably pushing the analogy further than Tim intended but, irony aside, he doesn’t seem to disagree with the value of having the industry standardize on a set of specifications rather than having competing stacks.

2 Comments

Filed under Everything, Standards