How Sapho works

Sapho offers flexible deployment options to fit easily into your existing environment.

Deployment architecture

Sapho is purpose built to fit into your existing infrastructure and to isolate and secure your data. The Sapho server can run in your data center as a Java application or deploy cloud native into Amazon, Google, or Microsoft private clouds. These options give you the flexibility to make the deployment decision that best fits your IT requirements and capacity.

Sapho deploys directly into your data center as a native Java application and uses a SQL 92 database to store metadata and cached data. Sapho operates as a standard Java EE application and is very easy to manage, upgrade, and scale.

Sapho offers a cloud native application with a step-by-step wizard to deploy into Amazon AWS, Google Cloud, and Microsoft Azure. On Amazon AWS, Sapho uses Amazon Beanstalk and Relational Database Service to auto-scale and provide database snapshots. On Google Cloud, Sapho uses Kubernetes and CloudSQL to auto-scale. On Microsoft Azure, Sapho is offered as turnkey Marketplace instance. From a virtual private cloud, Sapho can access your internal systems via a secure connection.

Client architecture

Sapho securely delivers micro apps to modern channels in a manner that is compliant with common security practices in large enterprises.

Sapho’s native mobile app uses a hybrid architecture and is designed to work like any of your internal web applications, making it easy to offer mobile micro apps without compromising security or compliance. Sapho accomplishes this by using Apache Cordova to wrap the device’s web browser within a native iOS or Android app. The native wrapper handles features like push notifications and location services, and the wrapped web browser delivers Sapho micro apps.

Sapho micro apps then run within the Sapho native app as fully responsive HTML5 web applications and use HTTPS and a VPN to connect to a Sapho server within your data center or virtual private cloud. Sapho micro apps follow Material Design user interface standards and are extremely fast. And, because the micro apps are composed of text and images, users cannot distinguish them from fully native apps.

Sapho micro apps can be embedded into existing internal websites using an API key. This allows users to access Sapho micro apps as part of an existing intranet experience. Features such as approvals can be centralized in a single intranet location. Supported embedding technologies include SharePoint, asp.net, JSP, Python, PHP, and iframe.

In addition, since Sapho works like any other internal web application, employees can also use Sapho micro apps on directly their desktops, laptops, and mobile devices using web browsers such as Internet Explorer, Chrome, Safari, and Firefox.

Sapho uses the APIs from each messenger vendor to securely send information from your enterprise system via the Sapho server, to your employees via the vendor’s messenger system. Sapho delivers information to messengers in two ways: 1) via a “channel” or “team” workspace to enable a group of relevant employees to receive the information and be able to communicate and take action in real time or 2) as a private, direct, or one-on-one message giving a single employee the ability to review and take action on the information.

When using a messenger, Sapho supports delivering rich cards with buttons to perform transactional tasks, such as approvals or opening a new window with a Sapho micro app that provides additional details and actions. When using Microsoft Teams, Sapho micro apps can be directly integrated into the messenger.

Data architecture

Sapho’s proprietary Extract, Transform, prepare to Notify (ETN) technology integrates with each source system to distill the “active” data. “Active” data differs from system to system: the active data in an ERP system is typically open Purchase Orders, while the active data from a CRM system is typically new leads or changed opportunities.

Sapho uses each target system’s API to transform its data into a format that enables Sapho to easily monitor for changes – or events – that occur. Sapho then stores a local copy of only the active data in its SQL 92 Server. The Sapho Administrator can specify exactly what data to monitor and can set a refresh interval for each system. Upon refresh, Sapho detects changes to the underlying data and notifies users on their preferred channel that there is a relevant event for their attention.

Since all active data from a source system is stored in the SQL 92 database of your choice, it can be fully secured like your other internal data stores. This data should be considered a cache that is automatically refreshed as needed and not another version of the “truth” that must be maintained.

Sapho can easily combine data from multiple data sources. The Sapho ETN process transforms data to ensure that data elements, such as customer IDs and employee user names, are easily available. This data can then be used to directly join data across systems, or through a join table that links identifiers across systems.

Once the active data from different systems are in one place, it is easy to include often overlooked but critical data into workflows, such as adding recent incidents from your customer service system about a contract renewal opportunity to a workflow notification for a sales person.

When a user performs a write back action, such as approving a Purchase Order, Sapho uses an admin account to the target system to perform the write back.

For databases, Sapho can directly write back using JDBC. For applications, Sapho calls direct APIs and uses a method of delegated authentication so that there is an audit trail of who performed the action. At the time of write back, Sapho checks to make sure that the source data has not changed since the last data synchronization.

Sapho maintains an audit table of all write backs in the SQL 92 database.

Ready to get started?

Getting started with Sapho takes minutes and is completely free.

Download