cancel
Showing results for 
Search instead for 
Did you mean: 

Difference between runtime/enterprise/repository/app API

bhchemss
Star Contributor
Star Contributor

Hello everyone,

Could you please explain me the difference between those API.

Thank you.

1 ACCEPTED ANSWER

cjose
Elite Collaborator
Elite Collaborator

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 answer in original post

6 REPLIES 6

cjose
Elite Collaborator
Elite Collaborator

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

bhchemss
Star Contributor
Star Contributor

Thank you , great answer

jearles
Star Contributor
Star Contributor

/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
Elite Collaborator
Elite Collaborator

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
Star Contributor
Star Contributor

Thank you !

bhchemss
Star Contributor
Star Contributor

Thanks for the help