This document explains how human users and information systems interact with ArkCase.
Incoming Interfaces (Users and Systems Call ArkCase Services)
Users typically interact with ArkCase through a web application. The webapp is written in AngularJS. Aside from the login page itself, the entire user interface requires user login. If the user does not interact with the server for some time, the webapp session ends and the login page is shown again.
ArkCase exposes a REST API, documented at a special URL, /swagger-ui.html; this special link is available on any ArkCase installation. These REST services provide all data shown in the user interface, so that REST API callers see the same information as users of the user interface. Any other system may call this REST API; this allows other systems to show and update ArkCase data.
ArkCase has an Advanced Message Queuing Protocol (AMQP) interface, which can be used for purpose-built integration to meet specific customer requirements. Based on an Interface Control Document (ICD), ArkCase can be extended to listen for messages on an AMQP queue, and take whichever action is defined in the ICD. ArkCase may or may not reply to the original message, based on the ICD requirements. This allows for disconnected, uncoupled integration between ArkCase and the other system.
For example, a customer's Customer Relationship Management system may post a message with a list of new, updated, or removed customers. ArkCase would respond to this message by adding, updating, or removing the corresponding customers in its internal customer database.
Every ArkCase instance has an email address. Incoming emails are added automatically to an ArkCase case file, complaint, or task, as indicated by the email subject; for instance, if the subject includes "Case 20180831_115", the email will be added to case number 20180831_115. Optionally, if an email does not refer to an existing case file, complaint, or task, ArkCase may create a brand new case file, and attach the email to the new case file's document list.
This feature can be extended based on customer requirements. ArkCase can take action based on any email header (From, To, Subject, Content-Type, Content-Length, presence or absence of file attachments, etc). In principal the email interface could provide all the functionality of the REST services.
Outgoing Interfaces (ArkCase Calls Other Systems)
ArkCase has an Advanced Message Queuing Protocol (AMQP) interface, which can be used for purpose-built integration to meet specific customer requirements. Based on an Interface Control Document, ArkCase can be extended to put messages onto a message queue; which some other application may then consume. This allows for disconnected, uncoupled integration between ArkCase and the other system.
From the user interface, users can email documents to other system users, or to any email address.
Based on configurable rules, ArkCase also sends automated notifications; for instance, when a new case file is added to ArkCase, the assigned user receives an email with a link to the case file.
ArkCase also has generic interfaces to Spring Integration and Apache Camel modules. In principle, ArkCase supports integration with any other system supported by Spring Integration or Apache Camel (e.g. SalesForce, Box, AWS services...).
Authentication is a specialized interface in its own right. By default, ArkCase authenticates with a specific LDAP or Active Directory server, based on system configuration. ArkCase also supports Active Directory Federation Services (ADFS) integration via SAML or Kerberos.