SlideShare una empresa de Scribd logo
1 de 22
Alfresco Process Services
REST API
Dennis Koch
Learn. Connect. Collaborate.
Questions to be (hopefully) answered in 5 minutes
• Which REST APIs exist for APS?
• Why is the REST API so important?
• Who can access the REST API?
• Where can I get an overview of all available API calls?
• How do I use the API Explorer?
• How can I extend the REST API?
Learn. Connect. Collaborate.
Questions to be (hopefully) answered in 5 minutes
• Which REST APIs exist for APS?
• Why is the REST API so important?
• Who can access the REST API?
• Where can I get an overview of all available API calls?
• How do I use the API Explorer?
• How can I extend the REST API?
Learn. Connect. Collaborate.
Which REST APIs exist for APS?
• Activiti Engine REST API
• This API is part of the core Activiti engine used in APS
• API can be used temporary for migrations from Activiti Community to APS
• As APS has a slightly different permission concept than Activiti Community,
not all API calls will work with APS
• Documentation: https://www.activiti.org/userguide/index.html#_rest_api
Learn. Connect. Collaborate.
Which REST APIs exist for APS?
• Activiti Engine REST API
• This API is part of the core Activiti engine used in APS
• API can be used temporary for migrations from Activiti Community to APS
• As APS has a slightly different permission concept than Activiti Community,
not all API calls will work with APS
• Documentation: https://www.activiti.org/userguide/index.html#_rest_api
1
Learn. Connect. Collaborate.
Which REST APIs exist for APS?
• APS Internal REST API used for UI functions in activiti-app
• Calls are running under context /activiti-app/app/rest/
• As API calls are used in the UI, they require additional cookies, like CSRF
or ACTIVITI_REMEMBER_ME token that are stored server side per user
session
• Those API calls are undocumented as they are mainly used internally.
• One can activate the browsers network console and would see the calls
while browsing through the activiti-app UI
Learn. Connect. Collaborate.
Which REST APIs exist for APS?
• APS Internal REST API used for UI functions in activiti-app
• Calls are running under context /activiti-app/app/rest/
• As API calls are used in the UI, they require additional cookies, like CSRF
or ACTIVITI_REMEMBER_ME token that are stored server side per user
session
• Those API calls are undocumented as they are mainly used internally.
• One can activate the browsers network console and would see the calls
while browsing through the activiti-app UI
Learn. Connect. Collaborate.
Which REST APIs exist for APS?
• APS Public REST API as enterprise pendant to the engine API
• Recommended API to use when integrating APS with external systems
• Calls are running under context /activiti-app/api/enterprise/
• Documentation: https://docs.alfresco.com/process-
services1.7/topics/rest_api.html
Learn. Connect. Collaborate.
Why is the APS REST API so important?
• Integrate APS with existing systems using the REST API
• REST API can be used to build a customized UI on top of APS
• There are certain functionalities in APS that can only be reached via REST
API
2
Learn. Connect. Collaborate.
Why is the REST API so important?
• Alfresco Application Development Framework (ADF) makes use of the
REST API
Alfresco ADF Web Application
REST API REST API
APS ACS
ServiceLayer
Learn. Connect. Collaborate.
Who can access the REST API?
• Access to REST API is controlled on a per user/group base and so called
capabilities
• An Administrator can add users/groups to the “REST Access” capability.
Learn. Connect. Collaborate.
Who can access the REST API?
• Obviously, the REST API is enforcing the APS permission model
• i.e. a calling user will only see and can modify data he/she is allowed to
access
• If permissions are not correct, the REST response is giving 401 status
code with ACCESS_DENIED
• Administrators can impersonate other users if needed by using
Authorization header in the REST API call
Learn. Connect. Collaborate.
Where can I get an overview of all available calls?
• APS comes with an API Explorer as known from ACS
• API Explorer is based on swagger resources
• Available public REST API calls are grouped logically/functionally
• Per API call we list optional and required parameters, response codes,
sample responses and the response content type
• Accessed via http://host:port/activiti-app/api-explorer.html
3
Learn. Connect. Collaborate.
Where can I get an overview of all available calls?
• APS comes with an API Explorer as known from ACS
• API Explorer is based on swagger resources
• Available public REST API calls are grouped logically/functionally
• Per API call we list optional and required parameters, response codes,
sample responses and the response content type
• Accessed via http://host:port/activiti-app/api-explorer.html
Learn. Connect. Collaborate.
How to use the API-Explorer?
• Call the API Explorer and inspect the sections
Credentials
API Group
Learn. Connect. Collaborate.
How to use the API-Explorer?
• Simply click on a group to list all relevant API calls, e.g. expand the Admin
Tenants logical group
HTTP method URL Description
Learn. Connect. Collaborate.
How to use the API-Explorer?
• Select any call to review further details and hit the “Try it out”” button to
test the API call against your local APS deployment
• As a result you will see
– Produced curl command
– Request URL
– Request headers
– Response Body
– Response Code
– Response headers
4
Learn. Connect. Collaborate.
How can I extend the REST API?
• Internal API (using Cookies) and public API (using basic authentication)
can be extented
• Documentation: https://docs.alfresco.com/process-
services1.7/topics/custom_rest_endpoints.html
• To build against the REST logic of Process Services and its specific
dependencies, add following dependency to your Maven pom.xml file:
Learn. Connect. Collaborate.
How can I extend the internal REST API?
• A bean needs to be added to the com.activiti.extension.rest package
Learn. Connect. Collaborate.
How can I extend the public REST API?
• A bean needs to be added to the com.activiti.extension.api package
Learn. Connect. Collaborate.
How can I extend the REST API?
• Having added your custom logic, all you need to do is building an APS
extension library and placing it under activiti-app/WEB-INF/lib
• After a server restart, the custom API endpoint will be available and can
be called as defined
• For further information on how to build extensions using an APS extension
project, I recommend reviewing the slides to my lightning talk “APS
Extension Project”
Alfresco Process Services
REST API
Thank you!

Más contenido relacionado

La actualidad más candente

Tech Talk Live - 5.2 REST APIs
Tech Talk Live - 5.2 REST APIsTech Talk Live - 5.2 REST APIs
Tech Talk Live - 5.2 REST APIsGavin Cornwell
 
O365Con18 - SharePoint Framework for Administrators - Waldek Mastykarz
O365Con18 - SharePoint Framework for Administrators - Waldek MastykarzO365Con18 - SharePoint Framework for Administrators - Waldek Mastykarz
O365Con18 - SharePoint Framework for Administrators - Waldek MastykarzNCCOMMS
 
Serverless Delivery
Serverless DeliveryServerless Delivery
Serverless DeliveryCasey Lee
 
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...Martin Bergljung
 
Lambdaless and AWS CDK
Lambdaless and AWS CDKLambdaless and AWS CDK
Lambdaless and AWS CDKMooYeol Lee
 
2019 DevCon - The future of Authentication by Codrin Chirica
2019 DevCon - The future of Authentication by Codrin Chirica2019 DevCon - The future of Authentication by Codrin Chirica
2019 DevCon - The future of Authentication by Codrin ChiricaCodrin Chirica
 
Serverless Media Workflow
Serverless Media WorkflowServerless Media Workflow
Serverless Media WorkflowMooYeol Lee
 
Extensibility for ADF applications
Extensibility for ADF applicationsExtensibility for ADF applications
Extensibility for ADF applicationsDenys Vuika
 
Alfresco javascript api - Alfresco Devcon 2018
Alfresco javascript api - Alfresco Devcon 2018Alfresco javascript api - Alfresco Devcon 2018
Alfresco javascript api - Alfresco Devcon 2018Mario Romano
 
Flexible Permissions Management with ACL Templates
Flexible Permissions Management with ACL TemplatesFlexible Permissions Management with ACL Templates
Flexible Permissions Management with ACL TemplatesJeff Potts
 
Integrating Alfresco @ Scale (via event-driven micro-services)
Integrating Alfresco @ Scale (via event-driven micro-services)Integrating Alfresco @ Scale (via event-driven micro-services)
Integrating Alfresco @ Scale (via event-driven micro-services)J V
 
Infrastructure Automation with Chef
Infrastructure Automation with Chef Infrastructure Automation with Chef
Infrastructure Automation with Chef REAN Cloud
 
Alfresco DevCon 2019 - Do you know what the Alfresco heartbeat is?
Alfresco DevCon 2019 - Do you know what the Alfresco heartbeat is?Alfresco DevCon 2019 - Do you know what the Alfresco heartbeat is?
Alfresco DevCon 2019 - Do you know what the Alfresco heartbeat is?Francesco Corti
 
Accelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWSAccelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWSAmazon Web Services
 
Serverless with Azure Functions
Serverless with Azure FunctionsServerless with Azure Functions
Serverless with Azure FunctionsAndreas Willich
 
A Tasty deep-dive into Open API Specification Links
A Tasty deep-dive into Open API Specification LinksA Tasty deep-dive into Open API Specification Links
A Tasty deep-dive into Open API Specification LinksTony Tam
 
Azure functions
Azure functionsAzure functions
Azure functionsvivek p s
 
Mock Servers - Fake All the Things!
Mock Servers - Fake All the Things!Mock Servers - Fake All the Things!
Mock Servers - Fake All the Things!Atlassian
 
ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...
ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...
ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...European Collaboration Summit
 

La actualidad más candente (20)

Tech Talk Live - 5.2 REST APIs
Tech Talk Live - 5.2 REST APIsTech Talk Live - 5.2 REST APIs
Tech Talk Live - 5.2 REST APIs
 
O365Con18 - SharePoint Framework for Administrators - Waldek Mastykarz
O365Con18 - SharePoint Framework for Administrators - Waldek MastykarzO365Con18 - SharePoint Framework for Administrators - Waldek Mastykarz
O365Con18 - SharePoint Framework for Administrators - Waldek Mastykarz
 
Serverless Delivery
Serverless DeliveryServerless Delivery
Serverless Delivery
 
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
 
Lambdaless and AWS CDK
Lambdaless and AWS CDKLambdaless and AWS CDK
Lambdaless and AWS CDK
 
2019 DevCon - The future of Authentication by Codrin Chirica
2019 DevCon - The future of Authentication by Codrin Chirica2019 DevCon - The future of Authentication by Codrin Chirica
2019 DevCon - The future of Authentication by Codrin Chirica
 
Serverless Media Workflow
Serverless Media WorkflowServerless Media Workflow
Serverless Media Workflow
 
Extensibility for ADF applications
Extensibility for ADF applicationsExtensibility for ADF applications
Extensibility for ADF applications
 
Alfresco javascript api - Alfresco Devcon 2018
Alfresco javascript api - Alfresco Devcon 2018Alfresco javascript api - Alfresco Devcon 2018
Alfresco javascript api - Alfresco Devcon 2018
 
Flexible Permissions Management with ACL Templates
Flexible Permissions Management with ACL TemplatesFlexible Permissions Management with ACL Templates
Flexible Permissions Management with ACL Templates
 
Integrating Alfresco @ Scale (via event-driven micro-services)
Integrating Alfresco @ Scale (via event-driven micro-services)Integrating Alfresco @ Scale (via event-driven micro-services)
Integrating Alfresco @ Scale (via event-driven micro-services)
 
Infrastructure Automation with Chef
Infrastructure Automation with Chef Infrastructure Automation with Chef
Infrastructure Automation with Chef
 
Alfresco DevCon 2019 - Do you know what the Alfresco heartbeat is?
Alfresco DevCon 2019 - Do you know what the Alfresco heartbeat is?Alfresco DevCon 2019 - Do you know what the Alfresco heartbeat is?
Alfresco DevCon 2019 - Do you know what the Alfresco heartbeat is?
 
Accelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWSAccelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWS
 
Serverless with Azure Functions
Serverless with Azure FunctionsServerless with Azure Functions
Serverless with Azure Functions
 
A Tasty deep-dive into Open API Specification Links
A Tasty deep-dive into Open API Specification LinksA Tasty deep-dive into Open API Specification Links
A Tasty deep-dive into Open API Specification Links
 
Azure functions
Azure functionsAzure functions
Azure functions
 
Mock Servers - Fake All the Things!
Mock Servers - Fake All the Things!Mock Servers - Fake All the Things!
Mock Servers - Fake All the Things!
 
Bring api manager into your stack
Bring api manager into your stackBring api manager into your stack
Bring api manager into your stack
 
ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...
ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...
ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...
 

Similar a Alfresco Process Services REST API - Alfresco DevCon 2018

Building Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIBuilding Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIJeff Potts
 
Recipes for API Ninjas
Recipes for API NinjasRecipes for API Ninjas
Recipes for API NinjasNordic APIs
 
REST-API's for architects and managers
REST-API's for architects and managersREST-API's for architects and managers
REST-API's for architects and managersPatrick Savalle
 
Business Applications Integration In The Cloud
Business Applications Integration In The CloudBusiness Applications Integration In The Cloud
Business Applications Integration In The CloudAnna Brzezińska
 
Best practices and advantages of REST APIs
Best practices and advantages of REST APIsBest practices and advantages of REST APIs
Best practices and advantages of REST APIsAparna Sharma
 
[WSO2Con Asia 2018] Managing API Integrations with WSO2 API Manager
[WSO2Con Asia 2018] Managing API Integrations with WSO2 API Manager[WSO2Con Asia 2018] Managing API Integrations with WSO2 API Manager
[WSO2Con Asia 2018] Managing API Integrations with WSO2 API ManagerWSO2
 
Orchestrating API Programs for your Team
Orchestrating API Programs for your TeamOrchestrating API Programs for your Team
Orchestrating API Programs for your TeamPostman
 
Webinar: Embracing REST APIs through APPSeCONNECT
Webinar: Embracing REST APIs through APPSeCONNECTWebinar: Embracing REST APIs through APPSeCONNECT
Webinar: Embracing REST APIs through APPSeCONNECTAPPSeCONNECT
 
apidays LIVE Hong Kong 2021 - Headless API Management by Snehal Chakraborty, ...
apidays LIVE Hong Kong 2021 - Headless API Management by Snehal Chakraborty, ...apidays LIVE Hong Kong 2021 - Headless API Management by Snehal Chakraborty, ...
apidays LIVE Hong Kong 2021 - Headless API Management by Snehal Chakraborty, ...apidays
 
API Documentation.pptx
API Documentation.pptxAPI Documentation.pptx
API Documentation.pptxRahulCR31
 
API Documentation.pptx
API Documentation.pptxAPI Documentation.pptx
API Documentation.pptxRahulCR31
 
Intro to the Alfresco Public API
Intro to the Alfresco Public APIIntro to the Alfresco Public API
Intro to the Alfresco Public APIJeff Potts
 
Azure API Management - why should I care?
Azure API Management - why should I care?Azure API Management - why should I care?
Azure API Management - why should I care?Jouni Heikniemi
 
Creating a World-Class RESTful Web Services API
Creating a World-Class RESTful Web Services APICreating a World-Class RESTful Web Services API
Creating a World-Class RESTful Web Services APIDavid Keener
 
Super simple introduction to REST-APIs (2nd version)
Super simple introduction to REST-APIs (2nd version)Super simple introduction to REST-APIs (2nd version)
Super simple introduction to REST-APIs (2nd version)Patrick Savalle
 
Tech talk live on new alfresco api
Tech talk live on new alfresco apiTech talk live on new alfresco api
Tech talk live on new alfresco apiAlfresco Software
 
Building A Great API - Evan Cooke, Cloudstock, December 2010
Building A Great API - Evan Cooke, Cloudstock, December 2010Building A Great API - Evan Cooke, Cloudstock, December 2010
Building A Great API - Evan Cooke, Cloudstock, December 2010Twilio Inc
 

Similar a Alfresco Process Services REST API - Alfresco DevCon 2018 (20)

Building Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIBuilding Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco API
 
Recipes for API Ninjas
Recipes for API NinjasRecipes for API Ninjas
Recipes for API Ninjas
 
REST-API's for architects and managers
REST-API's for architects and managersREST-API's for architects and managers
REST-API's for architects and managers
 
Business Applications Integration In The Cloud
Business Applications Integration In The CloudBusiness Applications Integration In The Cloud
Business Applications Integration In The Cloud
 
Best practices and advantages of REST APIs
Best practices and advantages of REST APIsBest practices and advantages of REST APIs
Best practices and advantages of REST APIs
 
[WSO2Con Asia 2018] Managing API Integrations with WSO2 API Manager
[WSO2Con Asia 2018] Managing API Integrations with WSO2 API Manager[WSO2Con Asia 2018] Managing API Integrations with WSO2 API Manager
[WSO2Con Asia 2018] Managing API Integrations with WSO2 API Manager
 
Orchestrating API Programs for your Team
Orchestrating API Programs for your TeamOrchestrating API Programs for your Team
Orchestrating API Programs for your Team
 
Webinar: Embracing REST APIs through APPSeCONNECT
Webinar: Embracing REST APIs through APPSeCONNECTWebinar: Embracing REST APIs through APPSeCONNECT
Webinar: Embracing REST APIs through APPSeCONNECT
 
apidays LIVE Hong Kong 2021 - Headless API Management by Snehal Chakraborty, ...
apidays LIVE Hong Kong 2021 - Headless API Management by Snehal Chakraborty, ...apidays LIVE Hong Kong 2021 - Headless API Management by Snehal Chakraborty, ...
apidays LIVE Hong Kong 2021 - Headless API Management by Snehal Chakraborty, ...
 
Apitesting.pptx
Apitesting.pptxApitesting.pptx
Apitesting.pptx
 
Api manager
Api managerApi manager
Api manager
 
API Documentation.pptx
API Documentation.pptxAPI Documentation.pptx
API Documentation.pptx
 
API Documentation.pptx
API Documentation.pptxAPI Documentation.pptx
API Documentation.pptx
 
Intro to the Alfresco Public API
Intro to the Alfresco Public APIIntro to the Alfresco Public API
Intro to the Alfresco Public API
 
Azure API Management - why should I care?
Azure API Management - why should I care?Azure API Management - why should I care?
Azure API Management - why should I care?
 
Open Banking & Open Insurance
Open Banking & Open InsuranceOpen Banking & Open Insurance
Open Banking & Open Insurance
 
Creating a World-Class RESTful Web Services API
Creating a World-Class RESTful Web Services APICreating a World-Class RESTful Web Services API
Creating a World-Class RESTful Web Services API
 
Super simple introduction to REST-APIs (2nd version)
Super simple introduction to REST-APIs (2nd version)Super simple introduction to REST-APIs (2nd version)
Super simple introduction to REST-APIs (2nd version)
 
Tech talk live on new alfresco api
Tech talk live on new alfresco apiTech talk live on new alfresco api
Tech talk live on new alfresco api
 
Building A Great API - Evan Cooke, Cloudstock, December 2010
Building A Great API - Evan Cooke, Cloudstock, December 2010Building A Great API - Evan Cooke, Cloudstock, December 2010
Building A Great API - Evan Cooke, Cloudstock, December 2010
 

Último

%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationShrmpro
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 

Último (20)

%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 

Alfresco Process Services REST API - Alfresco DevCon 2018

  • 2. Learn. Connect. Collaborate. Questions to be (hopefully) answered in 5 minutes • Which REST APIs exist for APS? • Why is the REST API so important? • Who can access the REST API? • Where can I get an overview of all available API calls? • How do I use the API Explorer? • How can I extend the REST API?
  • 3. Learn. Connect. Collaborate. Questions to be (hopefully) answered in 5 minutes • Which REST APIs exist for APS? • Why is the REST API so important? • Who can access the REST API? • Where can I get an overview of all available API calls? • How do I use the API Explorer? • How can I extend the REST API?
  • 4. Learn. Connect. Collaborate. Which REST APIs exist for APS? • Activiti Engine REST API • This API is part of the core Activiti engine used in APS • API can be used temporary for migrations from Activiti Community to APS • As APS has a slightly different permission concept than Activiti Community, not all API calls will work with APS • Documentation: https://www.activiti.org/userguide/index.html#_rest_api
  • 5. Learn. Connect. Collaborate. Which REST APIs exist for APS? • Activiti Engine REST API • This API is part of the core Activiti engine used in APS • API can be used temporary for migrations from Activiti Community to APS • As APS has a slightly different permission concept than Activiti Community, not all API calls will work with APS • Documentation: https://www.activiti.org/userguide/index.html#_rest_api 1
  • 6. Learn. Connect. Collaborate. Which REST APIs exist for APS? • APS Internal REST API used for UI functions in activiti-app • Calls are running under context /activiti-app/app/rest/ • As API calls are used in the UI, they require additional cookies, like CSRF or ACTIVITI_REMEMBER_ME token that are stored server side per user session • Those API calls are undocumented as they are mainly used internally. • One can activate the browsers network console and would see the calls while browsing through the activiti-app UI
  • 7. Learn. Connect. Collaborate. Which REST APIs exist for APS? • APS Internal REST API used for UI functions in activiti-app • Calls are running under context /activiti-app/app/rest/ • As API calls are used in the UI, they require additional cookies, like CSRF or ACTIVITI_REMEMBER_ME token that are stored server side per user session • Those API calls are undocumented as they are mainly used internally. • One can activate the browsers network console and would see the calls while browsing through the activiti-app UI
  • 8. Learn. Connect. Collaborate. Which REST APIs exist for APS? • APS Public REST API as enterprise pendant to the engine API • Recommended API to use when integrating APS with external systems • Calls are running under context /activiti-app/api/enterprise/ • Documentation: https://docs.alfresco.com/process- services1.7/topics/rest_api.html
  • 9. Learn. Connect. Collaborate. Why is the APS REST API so important? • Integrate APS with existing systems using the REST API • REST API can be used to build a customized UI on top of APS • There are certain functionalities in APS that can only be reached via REST API 2
  • 10. Learn. Connect. Collaborate. Why is the REST API so important? • Alfresco Application Development Framework (ADF) makes use of the REST API Alfresco ADF Web Application REST API REST API APS ACS ServiceLayer
  • 11. Learn. Connect. Collaborate. Who can access the REST API? • Access to REST API is controlled on a per user/group base and so called capabilities • An Administrator can add users/groups to the “REST Access” capability.
  • 12. Learn. Connect. Collaborate. Who can access the REST API? • Obviously, the REST API is enforcing the APS permission model • i.e. a calling user will only see and can modify data he/she is allowed to access • If permissions are not correct, the REST response is giving 401 status code with ACCESS_DENIED • Administrators can impersonate other users if needed by using Authorization header in the REST API call
  • 13. Learn. Connect. Collaborate. Where can I get an overview of all available calls? • APS comes with an API Explorer as known from ACS • API Explorer is based on swagger resources • Available public REST API calls are grouped logically/functionally • Per API call we list optional and required parameters, response codes, sample responses and the response content type • Accessed via http://host:port/activiti-app/api-explorer.html 3
  • 14. Learn. Connect. Collaborate. Where can I get an overview of all available calls? • APS comes with an API Explorer as known from ACS • API Explorer is based on swagger resources • Available public REST API calls are grouped logically/functionally • Per API call we list optional and required parameters, response codes, sample responses and the response content type • Accessed via http://host:port/activiti-app/api-explorer.html
  • 15. Learn. Connect. Collaborate. How to use the API-Explorer? • Call the API Explorer and inspect the sections Credentials API Group
  • 16. Learn. Connect. Collaborate. How to use the API-Explorer? • Simply click on a group to list all relevant API calls, e.g. expand the Admin Tenants logical group HTTP method URL Description
  • 17. Learn. Connect. Collaborate. How to use the API-Explorer? • Select any call to review further details and hit the “Try it out”” button to test the API call against your local APS deployment • As a result you will see – Produced curl command – Request URL – Request headers – Response Body – Response Code – Response headers 4
  • 18. Learn. Connect. Collaborate. How can I extend the REST API? • Internal API (using Cookies) and public API (using basic authentication) can be extented • Documentation: https://docs.alfresco.com/process- services1.7/topics/custom_rest_endpoints.html • To build against the REST logic of Process Services and its specific dependencies, add following dependency to your Maven pom.xml file:
  • 19. Learn. Connect. Collaborate. How can I extend the internal REST API? • A bean needs to be added to the com.activiti.extension.rest package
  • 20. Learn. Connect. Collaborate. How can I extend the public REST API? • A bean needs to be added to the com.activiti.extension.api package
  • 21. Learn. Connect. Collaborate. How can I extend the REST API? • Having added your custom logic, all you need to do is building an APS extension library and placing it under activiti-app/WEB-INF/lib • After a server restart, the custom API endpoint will be available and can be called as defined • For further information on how to build extensions using an APS extension project, I recommend reviewing the slides to my lightning talk “APS Extension Project”