Difference between runtime/enterprise/repository/app API

cancel
Showing results for 
Search instead for 
Did you mean: 
bhchemss
Established Member

Difference between runtime/enterprise/repository/app API

Jump to solution

Hello everyone,

Could you please explain me the difference between those API.

Thank you.

1 Solution

Accepted Solutions
cjose
Senior Member II

Re: Difference between runtime/enterprise/repository/app API

Jump to solution

Hello,

Since you have mentioned "enterprise", I am assuming that you are referring to Alfresco Process Service (formerly known as Alfresco Activiti Enterprise). The REST API root of the enterprise product is "activiti-app/api/".

Since the enterprise product is built on top of the core engine which is open source, all the following core "Process Engine APIs" are available directly under activiti-app/api/. Process Engine REST API | Alfresco Documentation 

  • activiti-app/api/repository
  • activiti-app/api/runtime
  • activiti-app/api/history
  • activiti-app/api/management
  • activiti-app/api/identity

There is also a set of Enterprise APIs to support some of the enterprise only features which are available under "activiti-app/api/enterprise". They are known as "Process Services APIs". They are documented at http://docs.alfresco.com/process-services1.6/topics/process_services_api.html

If you have an enterprise implementation, the usage of these APIs depends on your requirement.

  • For example: Implementation of identity is different in enterprise and hence the users and groups are stored differently. For the same reason, "activiti-app/api/identity" may not return the results you need. In this case, you will have to use an API under /enterprise.
  • Another example: if you want to get a list of executions, you will want to use the core engine API "runtime/executions".

I also noticed that you have "/app" in your question. Please note that those APIs are there mainly for the OOTB activiti-app UI use and is secured using the cookie approach based on the logged-in user, device etc. They are classified as "Internal" APIs and are subject to change in newer versions.

Hope I answered your question!

Regards,

Ciju

View solution in original post

6 Replies
cjose
Senior Member II

Re: Difference between runtime/enterprise/repository/app API

Jump to solution

Hello,

Since you have mentioned "enterprise", I am assuming that you are referring to Alfresco Process Service (formerly known as Alfresco Activiti Enterprise). The REST API root of the enterprise product is "activiti-app/api/".

Since the enterprise product is built on top of the core engine which is open source, all the following core "Process Engine APIs" are available directly under activiti-app/api/. Process Engine REST API | Alfresco Documentation 

  • activiti-app/api/repository
  • activiti-app/api/runtime
  • activiti-app/api/history
  • activiti-app/api/management
  • activiti-app/api/identity

There is also a set of Enterprise APIs to support some of the enterprise only features which are available under "activiti-app/api/enterprise". They are known as "Process Services APIs". They are documented at http://docs.alfresco.com/process-services1.6/topics/process_services_api.html

If you have an enterprise implementation, the usage of these APIs depends on your requirement.

  • For example: Implementation of identity is different in enterprise and hence the users and groups are stored differently. For the same reason, "activiti-app/api/identity" may not return the results you need. In this case, you will have to use an API under /enterprise.
  • Another example: if you want to get a list of executions, you will want to use the core engine API "runtime/executions".

I also noticed that you have "/app" in your question. Please note that those APIs are there mainly for the OOTB activiti-app UI use and is secured using the cookie approach based on the logged-in user, device etc. They are classified as "Internal" APIs and are subject to change in newer versions.

Hope I answered your question!

Regards,

Ciju

jearles
Established Member II

Re: Difference between runtime/enterprise/repository/app API

Jump to solution

/app - Queries only intended to be available to the internal functions of the Activiti.

/api - Queries intended to be open and available as REST endpoints for the user to hit.

/runtime - Queries for runtime data.

/history - Queries for historic data.

/repository - Queries pointing to the stored data pertaining to models/tasks/process-instances, etc. These URLs are typically returned in the 'contentURL' or 'url' portion of a successful response body.

/enterprise - Queries made available in a valid instance of Activiti enterprise.

Hope this clarifies,
-JEarles

gdharley
Intermediate

Re: Difference between runtime/enterprise/repository/app API

Jump to solution

Adding a little more colour commentary.
The latest version of Alfresco process Services powered by Activiti (a mouthful for sure) includes Swagger documentation and test utilities over the /enterprise API.

Details can be found here: Using the REST API Explorer | Alfresco Documentation 

This means for application developers can test the API can verify request and result payload outside the context of the application itself, hence saving  great deal of time and effort.

Cheers,

Greg

#bp3

bhchemss
Established Member

Re: Difference between runtime/enterprise/repository/app API

Jump to solution

Thank you , great answer

bhchemss
Established Member

Re: Difference between runtime/enterprise/repository/app API

Jump to solution

Thank you !

bhchemss
Established Member

Re: Difference between runtime/enterprise/repository/app API

Jump to solution

Thanks for the help