[midPoint] Development of the REST API

Radovan Semancik radovan.semancik at evolveum.com
Fri Apr 1 10:57:28 CEST 2016


Hi,

In fact the RESTful interface is very stable for several releases 
already. Currently we do not plan any big changes and we definitely do 
not plan any incompatible change in any midPoint interfaces in the next 
year or two.

So, just the wiki page was out of date. I have edited the wiki page to 
reflect current state.

In fact, the REST interface should be OK for production use. Both REST 
and SOAP services are based on the same underlying interface 
(https://wiki.evolveum.com/display/midPoint/IDM+Model+Interface) that's 
the reason why REST service is similar to SOAP. But it is a proper 
resource-oriented service. Even our SOAP interface has some REST-like 
character because that's the way how the underlying Java API is designed 
(object-oriented CRUD-like mechanism).

So the REST service is stable and mostly feature-complete. One thing 
than I'm aware which is missing from REST is the comprehensive 
executeChanges() operation that is available in SOAP and Java 
interfaces. The reason that this operation is missing is that there is 
no clean RESTful way how to make operations on several web resources in 
one invocation. This is a inherent limitation of RESTful approach. 
However there are usual RESTful modification operations that can be used 
per web resource and that is almost equivalent for most cases.

But you might be right when it comes to a useful feedback from the REST 
operations. We have been struggling a bit with this. In SOAP there is a 
standard concept of SOAP Fault and we are using that. But I'm not aware 
of any good way how to do similar thing in RESTful service. As far as I 
know we are trying to properly return HTTP response codes. But is there 
anything more that we can do? Some kind of standard or a widely accepted 
convention for REST services? I would really like to know. We have a 
very good structured diagnostic info for each operation. We just need a 
way how to expose that in a RESTful way.

We do not have a specific roadmap for the development of RESTful service 
yet. But maybe we can do that. Can you please be a bit more specific 
about the things that you would like to see in the REST interface?

-- 
Radovan Semancik
Software Architect
evolveum.com



On 03/31/2016 06:23 PM, Beat Rohrer wrote:
> As I've mentioned in my previous Mail "SOAP API: WSDL File", we're 
> currently evaluating midPoint's APIs for use at our university. We 
> would prefer to use the REST API, but the documentation 
> (https://wiki.evolveum.com/display/midPoint/REST+API) states:
>
> "Current version of REST API is able to execute few basic operation. 
> Please note that it is not yet stable and it can change in the future."
>
> Nevertheless, I've started testing the REST API and confirmed that its 
> current state is not ready for production: it feels more like a thin, 
> REST-like wrapper for SOAP. I was especially missing any useful 
> feedback in case of an error.
>
> Is there a published roadmap for the further development of the REST 
> API? When can we expect a stable version? What features can we expect 
> in the release version of the REST API?




More information about the midPoint mailing list