<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic REST revisited (JAX-RS and JAXB) in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/rest-revisited-jax-rs-and-jaxb/m-p/148509#M103671</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I realise that last year the feeling was that there were more important things to work on that a revised REST implementation but I wondered if now might be a good time to revisit that?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;First a bit about motivations. I think there would be benefits in terms of more seamlessly and automatically generating a RESTful API from the existing Activiti API (RepositoryService, RuntimeService etc.) as well as other advantages in terms of generating documentation &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Another motivation, or perhaps just a different way of saying the same one, is to make Activiti 'natively' RESTful. In other words, presentation as XML / JSON for machine consumption or HTML for human consumption is orthogonal to the resource being requested. Thus concerns are separated and transport is transparent. In practical terms it would be possible to have a single webapp instead of activiti-webapp-explorer2 and activiti-webapp-rest2 &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This would require that the *Service classes are annotated and the various model beans (Deployment, ProcessDefinition, ProcessInstance etc.) are serialisable as JSON and / or XML (more annotations). I recognise that the model beans contain quite a lot of behaviour that may make simply annotating them quite painful in practice but let's leave that aside for now. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I think the basic set of resources looks like this (new methods are marked with a *):&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Method&amp;nbsp;&amp;nbsp;&amp;nbsp; Path&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; POJO&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Method&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;PUT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /repository/{resourceName}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RepositoryService&amp;nbsp; * deploy(String resourceName, String text)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;GET&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /repository/deployment/{id}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RepositoryService&amp;nbsp; getDeploymentResourceNames&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DELETE&amp;nbsp;&amp;nbsp; /repository/deployment/{id}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RepositoryService&amp;nbsp; deleteDeployment &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Well you get the idea… The basic set is available in my github fork: &lt;/SPAN&gt;&lt;A href="https://github.com/tstephen/Activiti" rel="nofollow noopener noreferrer"&gt;https://github.com/tstephen/Activiti&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You'll notice this is not the full set of public methods on the service classes. In some (few, I think) cases there are methods that don't lend themselves well to REST patterns but for the most part I just chose a minimal subset to get started with and to see what other people think about the idea. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The new behaviour does not work yet but you can explore the source code impact. All previous behaviour should be completely unchanged but I have done no regression testing at this point. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I look forward to your ideas. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Tim &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 03 May 2013 09:07:02 GMT</pubDate>
    <dc:creator>tstephen</dc:creator>
    <dc:date>2013-05-03T09:07:02Z</dc:date>
    <item>
      <title>REST revisited (JAX-RS and JAXB)</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/rest-revisited-jax-rs-and-jaxb/m-p/148509#M103671</link>
      <description>I realise that last year the feeling was that there were more important things to work on that a revised REST implementation but I wondered if now might be a good time to revisit that?First a bit about motivations. I think there would be benefits in terms of more seamlessly and automatically generat</description>
      <pubDate>Fri, 03 May 2013 09:07:02 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/rest-revisited-jax-rs-and-jaxb/m-p/148509#M103671</guid>
      <dc:creator>tstephen</dc:creator>
      <dc:date>2013-05-03T09:07:02Z</dc:date>
    </item>
    <item>
      <title>Re: REST revisited (JAX-RS and JAXB)</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/rest-revisited-jax-rs-and-jaxb/m-p/148510#M103672</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Tim,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We are working on a full REST API that mirrors the Java API for the 5.13 release.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;This means that we are implementing the REST API in a similar way like you describe here, but it's implemented as a layer on top of the Java API. Because our response objects like Task, and Execution are basically wrappers around TaskEntity and ExecutionEntity it's good to have this additional layer to prevent attributes leaking in the REST response.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Because our time frame for the 5.13 is pretty short, we decided to implement the REST layer with Restlet, just like we did in the previous REST implementation. Then after 5.13, we have time to decide on which implementation is best for the future and we would very much welcome your input there. But at least we will have a full REST API available in the 5.13 release and the implementation is of secondary importance I guess.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 May 2013 14:15:53 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/rest-revisited-jax-rs-and-jaxb/m-p/148510#M103672</guid>
      <dc:creator>trademak</dc:creator>
      <dc:date>2013-05-03T14:15:53Z</dc:date>
    </item>
    <item>
      <title>Re: REST revisited (JAX-RS and JAXB)</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/rest-revisited-jax-rs-and-jaxb/m-p/148511#M103673</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for the reply Tijs. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is this the API you refer to?: &lt;/SPAN&gt;&lt;A href="https://github.com/activiti/Activiti/tree/master/modules/activiti-rest/src/main/java/org/activiti/rest/api" rel="nofollow noopener noreferrer"&gt;https://github.com/activiti/Activiti/tree/master/modules/activiti-rest/src/main/java/org/activiti/rest/api&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Where can I see the plan for 5.13 (the roadmap page still refers to 5.11 as the current release)? &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cheers, &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Tim &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 May 2013 17:07:28 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/rest-revisited-jax-rs-and-jaxb/m-p/148511#M103673</guid>
      <dc:creator>tstephen</dc:creator>
      <dc:date>2013-05-03T17:07:28Z</dc:date>
    </item>
    <item>
      <title>Re: REST revisited (JAX-RS and JAXB)</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/rest-revisited-jax-rs-and-jaxb/m-p/148512#M103674</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Tim,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Yes, that's the correct location. The plan for 5.13 is available here:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://github.com/Activiti/Activiti/wiki/Activiti-roadmap" rel="nofollow noopener noreferrer"&gt;https://github.com/Activiti/Activiti/wiki/Activiti-roadmap&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 May 2013 12:24:56 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/rest-revisited-jax-rs-and-jaxb/m-p/148512#M103674</guid>
      <dc:creator>trademak</dc:creator>
      <dc:date>2013-05-14T12:24:56Z</dc:date>
    </item>
    <item>
      <title>Re: REST revisited (JAX-RS and JAXB)</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/rest-revisited-jax-rs-and-jaxb/m-p/148513#M103675</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Is there a target date for the 5.13 release? &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 May 2013 19:05:04 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/rest-revisited-jax-rs-and-jaxb/m-p/148513#M103675</guid>
      <dc:creator>tstephen</dc:creator>
      <dc:date>2013-05-17T19:05:04Z</dc:date>
    </item>
    <item>
      <title>Re: REST revisited (JAX-RS and JAXB)</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/rest-revisited-jax-rs-and-jaxb/m-p/148514#M103676</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;@Tim: first week of June if all goes well. Might be a bit later this time, cause we want to squeeze in some new stuff.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 22 May 2013 09:37:39 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/rest-revisited-jax-rs-and-jaxb/m-p/148514#M103676</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2013-05-22T09:37:39Z</dc:date>
    </item>
  </channel>
</rss>

