Should we call it "REST-star" or "REST-splat"?
Paul Krill reports that Red Hat has launched a community-based standards set it is calling REST-*, which could serve as a counterpoint to the WS-* specifications for Web services. Red Hat says it hopes to work with major vendors such as IBM and Microsoft, "to define standards or recommendations for REST-based system integration."
Mark Little, CTO of JBoss/Red Hat, announced the new initiative at the recent JBoss World conference in Chicago, noting that the WS-* series of Web services have become complex. "Maybe REST is a better way of doing certainly Internet-scale integration, but one of the problems of REST is it lacks clear guidelines," for enterprise capabilities, such as security, transactions, and high availability."
Red Hat even now has a home page for the REST-* effort, which outlines the vision, specifications, and community for the standards set.
Red Hatter Bill Burke makes the case for REST-* thusly:
"While REST has gained huge momentum in the SOA community, there hasn’t been a lot of standardization of traditional middleware services. The REST-* community aims to introduce new REST-based standards for these traditional services where none exist and provide well-defined guidelines where protocols do exist."
There are two efforts now underway as part of the REST-* set:
REST-* Transactions: A specification that attempts to define a RESTful interface for transactions. "It describes the interaction between coordinator services and transaction participants as well as how transactions can propagate in distributed applications. It defines both a 2-Phase-Commit model as well as a Forward-Compensation protocol."
REST-* Messaging: Messaging encompases publish and subscribe and point-to-point protocols. This specification defines a RESTful interface for queues (p2p) and topics (pub/sub).
Not everyone is welcoming the new initiative with open arms. Anne Thomas Manes, for one, says she's "got a bad feeling about this." She points out that REST-* may stray from REST principles, and "you won't attain the desirable RESTful characteristics (scalability, serendipity, network effects, etc) that REST is supposed to enable."
"A more useful effort would be one that defines RESTful patterns that support and enable mission-critical capabilities like reliable delivery, transactional integrity, and the like. But please, let's not reinvent CORBA on REST. Here's hoping the whole REST-* thing just dies out."
Sure, mistakes were made with SOAP and WS-*, and Burke admits that "blind idealism," combined with Red Hat's experience with communities, will guide this latest effort past obstacles, complexities, and pitfalls. Red Hat is "jumpstarting and founding the standards body itself," and is "battle tested in specifications efforts at the JCP and other bodies." Burke adds that "we’ve often been frustrated by the closed and inflexible attributes of these organizations. We feel our open source roots and ideals make us an excellent candidate to drive and host standardization efforts."