Technical White Paper The JourneyApps Platform
CONTENTS Introduction Mobile Opportunities and Challenges What is JourneyApps? The JourneyApps Platform Introduction JourneyApps Platform Architecture Solution Integration Architecture Data Security in the JourneyApps Platform In Focus: The JourneyApps Backend In Focus: State-of-the-Art Offline Functionality About JourneyApps 01 01 02 04 04 05 07 08 10 12 13
INTRODUCTION Mobile Opportunities and Challenges Mobile apps offer an unprecedented opportunity for organizations to streamline their internal business processes dramatically. Since a tight fit is required between process requirements and mobile solutions, a strong need exists for fully customized mobile solutions that model an organization s exact business processes. Most of the time, off-the-shelf point solutions simply don t suffice. Developing such customized mobile solutions has traditionally been fraught with risk and high barriers to entry. Most enterprises lack the in-house skills and expertise to develop these solutions. Whether developed in-house or outsourced, custom development is also complex, expensive and moves very slowly. Large capital investments are required, especially to drive the solution towards a point of maturity and robustness in order to guarantee data integrity, stable operation and a high level of security. Given the continuous rapid changes in both the mobile landscape and changes in internal processes and requirements, enterprises also need to budget for ongoing solution maintenance. A variety of mobile platforms are available in the market, although many of these are either too rigid to provide the level of sophistication required by organizations executing business processes in the field, or they focus on very low-level functionality, which means the development team is still faced with a large burden of technical complexity. Some of the enterprise mobility platforms from large ERP vendors are also associated with extremely high barriers to adoption in terms of cost and complexity. 01
What is JourneyApps? Get all the benefits of Software-as-a-Service (SaaS) combined with rapid custom app development, delivery and ongoing maintenance. JourneyApps isn t like other mobile app development platforms or software development companies. Instead, we provide customers with something unique called Solution as a Service (SolaaS). Customers get all the benefits of Software-as-a-Service (SaaS) combined with rapid custom app development, delivery and ongoing maintenance. Our comprehensive model combines our powerful JourneyApps Platform with a team of highly experienced business process engineers who help customers understand their business process challenges. They jointly define a solution and deliver tailormade mobile solutions combining power tools with master craftsmanship. Our solution delivery engineers also continuously update the solution as each customer s business process evolves. Companies partner with JourneyApps for no-hassle, sustainable end-to-end solutions. This includes companies that need to gain better visibility over their operations, enforce better control over remote workforces, boost profits by equipping workers with mobile tools, or improve the efficiency of their employees. The JourneyApps Platform The JourneyApps Platform has been purpose-built to provide all the tools necessary to develop robust, flexible and secure enterprise mobile solutions quickly. It also allows solutions to run in the cloud on an ongoing basis with all data being safe and secure, while requiring zero maintenance by the customer. The platform provides our process engineers with the ability to develop and ship mobile applications rapidly, while easily implementing changes to apps over-the-air as the need arises. The JourneyApps Solution Delivery Team We have a large team of process engineers based in San Carlos, California, and Cape Town, South Africa, who deliver solutions worldwide. Having a keen understanding of the traditionally slow and expensive nature of developing mobile solutions, our team s mission is to turn this around by enabling customer success at astounding speeds. 02
Our Solution Delivery Team members boast with engineering qualifications with a focus on process optimization, which allow them to map out data models and process flows quickly. They utilize a tested end-to-end consultative methodology. They make use of lightweight customer workshops and follow a highly iterative approach to app development and incorporating customer feedback. This method allows them to deliver and roll out tailor-made apps in days and weeks, rather than months and years. Deliver and roll out tailor-made apps in days and weeks, rather than months and years. Years of Experience in the Mobility Industry For years, JourneyApps has been building enterprise mobile solutions across widely varying industries all over the world. This means that our technology, team and approach are all battlehardened and highly refined. When you work with JourneyApps, you work with the best. Your Solution as a Service At JourneyApps we realize that for solutions to be sustainable, they need to be flexible and able to adapt as our customers business requirements change. That s why JourneyApps is a subscription service. Everything needed to build, host, maintain, update and even integrate the solution is included in a single monthly fee, with no risk of spiralling costs or vague, time-based professional services bills. We provide the full package our customers don t have to worry about a thing. 03
THE JOURNEYAPPS PLATFORM Introduction The JourneyApps Platform is a full-stack platform that provides the right mix of functionality to deliver robust, flexible and secure enterprise mobile solutions quickly. It combines rapid UI and business logic development with a fully integrated cloud backendas-a-service. It s the best-in-class for business process apps. In essence, JourneyApps is a cloud-based technology platform for rapidly mobilizing business processes. The abstraction in JourneyApps is fully geared towards expressiveness on the business process level rather than on the technology level, with many of the lower-level technical details being taken care of automatically by the platform. The JourneyApps Platform allows data models, screens and process flows to be customized and modelled graphically in an online editor. The JourneyApps Platform allows data models, screens and process flows to be customized and modelled graphically in an online editor. These customizations are instantly deployed over-the-air and dynamically rendered as a native smartphone, tablet-based or Chrome-based application. The end result of this approach is the ability to deliver business process mobilization solutions within a matter of days or weeks, and allowing business results and substantial ROI to be realized shortly after solutions are deployed. The life cycle of an app on the JourneyApps Platform 04
JourneyApps Platform Architecture Platform Architecture The high-level architecture of the JourneyApps Platform is shown here, with more details on the various architectural components below. JourneyApps Backend This is the fully integrated cloud-based backend-as-a-service to which apps are deployed. It provides various cloud-based services that support your apps: App Life Cycle Environment Management Data Storage User Management Push Notifications The JourneyApps Backend provides environments for Development/ Testing, Staging and Production on your behalf. App releases can be moved between the environments with a single click. The JourneyApps Backend provides data storage of sophisticated relational data, based on custom-defined data models specific to each app. Access to the mobile application for specific users can be managed directly from the intuitive backend user interface. Various enrollment modes are supported, including barcode and link-based enrollment for specific users, allowing users to sign up using their email address from the app, as well as enterprise Single Sign-On (SSO) integration. Push notifications can be sent to Chrome, ios and Android apps. The logic behind who receives which notifications is configured in the application according to your business rules. 05
App Versioning & Automatic Updates PDF Document Generator & Mailer Background Tasks REST API Webhooks Updates to your application are deployed over-the-air, which means updates will reach your users immediately. The backend automatically manages app versioning and updates. If you have PDF documents that need to be sent out as part of a business process, custom PDF templates containing data captured in the mobile application can be configured in the PDF Document Generator & Mailer service. This service provides the ability to run sophisticated automatic background tasks to execute custom business logic. The service is typically used for data manipulation, reporting, and integrations with external systems. Our REST API is well documented and allows you to easily integrate with our existing systems, so that you have simple way to retrieve or modify your data programmatically. Each app exposes its own REST API, which is automatically generated from the app s data model, eliminating the need for API maintenance. Webhooks can be configured to automatically send a payload to external endpoints under configured conditions, making outbound integration lightning fast and simple. JourneyApps Editor The JourneyApps Editor is fully cloud-based and serves as the development environment for building and maintaining apps. JourneyApps Container on Mobile Devices and Chrome The JourneyApps Container is provided in the form of a mobile app (with support for Android and ios) and a desktop app (running as a Chrome app). When initially installed, it is simply an empty generic container, not containing any of your data or proprietary app customizations. Once you link the container to an instance of the JourneyApps Backend, your app customizations are deployed to it over-the-air, and the app is dynamically rendered. This makes deploying new versions of your app to users extremely easy: you don t have to distribute new binaries to users. 06
Solution Integration Architecture The JourneyApps Platform supports various types of integration with existing customer systems, allowing flexibility to easily adapt to specific integration requirements. Integration Types Integration Type Example Use Case Implementation Continuous Data Sync Scheduled Integration and/or Data Sync Event Driven Integration Real-time Online Calls Hybrid Keeping service orders in sync with a customer s back-office system Keeping products and prices in sync with a customer s back-office system If an order is captured in a mobile app, an invoice is created in Quickbooks immediately Real-time lookup of parts availability on a customer s back-office stock management system More complex scenarios consisting of a combination of the above JourneyApps API Broker JourneyApps API Broker Webhooks, in some cases combined with a third party service such as Zapier Synchronous mobile HTTP calls (JourneyApps Platform capability) A combination of any of the previous types JourneyApps API Broker Architecture For the Continuous Data Sync and Scheduled Integration and/or Data Sync integration types, a customized instance of the JourneyApps API Broker is provisioned in the JourneyApps cloud environment for integration with existing customer systems, including on-premise systems such as SAP or Oracle. 07
The JourneyApps Platform supports various types of integration with existing customer systems, allowing flexibility to easily adapt to specific integration requirements: Data Security in the JourneyApps Platform This section provides details on various data security measures that are built in to the JourneyApps Platform. Infrastructure-Level Security The JourneyApps Backend is hosted on Amazon Web Services Elastic Compute Cloud (EC2), which provides world-class security measures and certifications for infrastructure-level security. For more details, refer to our Data Security White Paper or the AWS Security White Paper and AWS Risk and Compliance White Paper. All JourneyApps servers have protections and access controls built in to protect against unauthorized access to customer data. Access and security policies are in place for JourneyApps technical staff performing maintenance on infrastructure, and these conform to the highest industry security standards. JourneyApps servers are equipped with firewalls to restrict network access. Servers are penetrationtested and operating system upgrades, patches and infrastructure software updates are applied on a regular basis. As a further security measure, JourneyApps makes use of extensive audit trails: any data modifications on the platform, as well as many other activities, are monitored and recorded. Audit trails are securely stored in line with best practices. Access to customer data for troubleshooting and support services by JourneyApps personnel is also tightly controlled and audited. 08
Protection of Data Through Encryption Data is protected in various states: State Definition Encrypted in JourneyApps? Encryption Details At Rest When data is stored in the cloud of the JourneyApps Backend Yes Block storage encryption (AWS) In Transit When data is transferred over the internet Yes SSL/HTTPS for all network communications In Use When data is handled on the mobile device Yes Full on-device encryption of data PIN/Password Locking Built-in PIN/Password locking optionally adds an additional layer of security on mobile devices. Our mobile applications can be configured to require a PIN or password, which means that even if a device is stolen, unauthorized users are unable to access the application. Single Sign-On (SSO) Integration The JourneyApps Platform provides native support for federated identity authentication, making signing in to your enterprise apps secure and simple. Out of the box, your apps will work with Ping Identity and Active Directory Federation Services. Since our authentication subsystem is SSO-provider agnostic, we re constantly adding support for additional Identity Management Software as the JourneyApps Platform evolves. Data Life Cycle Management When a relationship with a customer comes to an end, JourneyApps deletes all data associated with that customer s solution. A customer can request a copy of the data, in which case a data download can be made to a client-specified storage unit before being deleted. Backups are kept for 2 months, and data modification audit logs are held for 3 years. Data can also be removed from backup storage on request. Therefore all data can be handed over to clients and will be completely removed from JourneyApps servers, as well as backups, if the need arises. Data always remains the property of the customer. 09
IN FOCUS: The JourneyApps Backend Availability Regions The cloud-based JourneyApps Backend is available in multiple regions, and configuring the region where data is hosted is effortless. Being able to select the geographic location of where your data is hosted makes it easier to comply with data security legislation. For example, it is easier to comply with the EU Data Protection Directive if you host data in the EU, while the same applies to the Patriot Act in the United States. To select the geographic location of where your data is hosted makes it easier to comply with data security legislation. Once a location has been selected, all of the data for that specific app will be stored in the selected geographic region. In most regions the backend is hosted on Amazon Web Services Elastic Compute Cloud (EC2). In other regions such as Africa and the Middle East, equivalent hosting providers are used with regard to security and reliability. The current supported regions are: Region Geographic Location Infrastructure Provider United States Virginia Amazon Web Services European Union Ireland Amazon Web Services Australia & Asia-Pacific Australia Amazon Web Services Africa & Middle East South Africa Hetzner 10
High-Availability and Scalability Deliver and roll out tailor-made apps in days and weeks, rather than months and years. The JourneyApps Platform provides various measures under the hood to ensure high availability. We provide fault-tolerance for various infrastructure failure cases: the JourneyApps Platform utilizes redundant load-balanced application-server clusters and replicated database clusters. JourneyApps employs proactive infrastructure monitoring and paging systems that are in line with industry best practices, supporting our SLAs to guarantee a high level of cloud service uptime. Data Backups and Disaster Recovery Data backups are automatically performed in the JourneyApps Platform through continuous replication of databases and creation of hourly snapshots. In the case of disaster, new virtual machines are booted using infrastructure automation tooling, and backups are restored. Backups are held for 2 months. Data modification audit trail logs are kept for 3 years. Recovery Time Objective (RTO) Recovery Point Objective (RPO) 24 hours 24 hours High Scalability in the Cloud There is no software to install or development environments to configure. JourneyApps takes the entire enterprise app development process to the cloud. There is no software to install or development environment to configure. Code editing, data configuration, revision management and application deployment all happens within the same interface. This eliminates costly setup times and the complexity of multiple tools. The cloud infrastructure automatically scales as you add users and increase your load. You never have to worry about commissioning more servers, running out of storage or configuring load balancers all of this is already done for you. 11
IN FOCUS: State-of-the-Art Offline Functionality A major advantage of the JourneyApps Platform lies in its global automatic data synchronization capability. Offline Data Sync functionality makes data available to users to access offline. The Offline Data Sync functionality comes with intelligent Synchronization Rules that allow you to have a very large global data set, but only synchronize data to selected individual users. For example, only synchronize field service jobs that are assigned to a certain technician, or only synchronize assets that are in a user s region. Store and Forward technology allows workers to continue with their work even if they don t have connectivity and synchronize with the server as soon as they go back online. Data that is synchronized to the JourneyApps cloud environment can be exported and is also available through the JourneyApps REST API. Data can also be imported into JourneyApps through the API or JourneyApps Backend web interface, triggering automatic synchronization of the data to mobile users. 12
About JourneyApps When JourneyApps was founded, we had one goal in mind: to reduce, and eliminate where possible, the risks, challenges and workload typically associated with mobile solution development. Headquartered in San Carlos, California, JourneyApps also has offices in Chicago, Cape Town (South Africa), Johannesburg (South Africa) and Sydney (Australia). JourneyApps solutions are used throughout six continents in various industries, ranging from retail and field service to financial services and healthcare. More and more companies are realizing the value of mobility in their organizations and are choosing the JourneyApps approach to solving mobile challenges. Learn more about JourneyApps hello@ 13
Delivering results through mobility. United States South Africa Australia 973 E. San Carlos Ave. San Carlos California 94070 Unit 109, Block C Bosman s Crossing Square Distillery Road Stellenbosch, 7599 Level 20, Tower 2 201 Sussex Street Sydney 2000