Over the past 5 years or so, the hype around web services has grown continuously. At the same time, the complexity of the relevant specifications has steadily increased. Just think of all the buzzwords like SOAP, WSDL, XML Schema, etc. Now it seems like many developers are taking a step back and thinking of simpler solutions to lower the barrier of entry into web services, which seems like a good thing.

One interesting Java based framework that caught my eyes is XINS (XML Interface for Network Services). Its purpose is to expose APIs using various protocols, such as SOAP, XML-RPC, or REST, while avoiding unnecessarily complex descriptor formats such as WSDL. I have not had a chance to look at it in great detail, but apparently you implement the Java classes that make up your API, provide some relatively simple XML configuration files, and XINS automatically makes your API available using all the protocols it supports (as well as custom ones!). It also generates appropriate Javadocs as well as test pages that allow you to easily invoke your remote APIs with arbitrary parameters, which seems very useful for debugging purposes. You can see this illustrated in the primer.

It looks like you can even plug in your own protocol implementations (which XINS refers to as “custom calling convention”).

I’ll make sure to give this a shot the next time I need to remote-enable an API.