Service-oriented architecture (SOA) policy customization using W3C Semantic Web concepts is the next step in the development of the governance registry from WSO2.
Triples, a programming grammar developed by W3C for its Semantic Web initiative, is incorporated into WSO2's newly released Registry 1.1. The open source SOA vendor is moving toward a triples-based language that will allow users to encode their own governance rules and policies, said Paul Fremantle, co-founder and vice president of WSO2, in a recent phone interview from his home base in the UK.
Asked to explain triples for the uninitiated, he told SearchSOA.com: "Triples are part of the policy for the Semantic Web coming out of the W3C. It's a very useful generic idea that you have a subject, an object and a verb. It's kind of like English sentences spelled in technical terms."
WSO2 found that developers working on SOA policies need a way to express associations, Fremantle said. The triples concept provides a straightforward way to say two resources have a relationship or this service relies on this external URI, he added.
"It's a very simple, but powerful way of managing that information," he said. "It's not just that this WSDL depends on that schema. That's a useful thing to capture, but I might want to have a different association that says this service is running on that machine. Or these three services are used by this BPEL process."
WSO2 has created a way to graphically express these relationships using the user interface for the new registry product, Fremantle said, although developers have the option of coding it themselves.
"You don't need code," he explained. "Just through the UI you can add an entry by clicking on the two resources and typing in the name of the association. A lot of this you can do graphically. Then there are extension points where you can write code if you need to. If you want to implement a particular check or a particular analysis for dependencies then you can write code that follows those dependencies."
Glen Daniels, director of Java platforms and product lead for the WSO2 Registry, said the open source vendor is working on expanding the triples options with customization for specific industries.
"One thing you can expect to see coming down the pipe from us would be at lot of these different plug points so we would give you JAR files that contain filters and handlers that automatically set up these associations between things that meet particular needs for particular verticals or particular styles of service development," Daniels said.
Fremantle sees three basic use cases for using triples to express SOA policy.
"In the first case, a lot of customers are going to be able to use what's there out-of-the-box to manage their environments, straightaway without having to write any code," he said. "That's the primary use case and we've done a lot of work to help you do governance without having to do any extensions. The level of customization might be to go in and edit your lifecycles. Such as 'my lifecycle is create, develop, test, production.'"
The next two use cases involve more sophisticated policy development.
"The second use case is you'll get some advanced customers who like to tinker," Fremantle said. "What we've done is enable the right plug points so you can tinker as much as you like. You can reconfigure. You can build your own lifecycle handling. You can do all kinds of dependency management."
The third use case involves policy tailored for vertical industries, which WSO2 will be working on during the summer, he said.
"Over the next few months we're going to be using those plug points to further enhance the SOA governance capabilities," Fremantle said. "We will take particular use cases from an industry and build up industry specific handlers."