Great user experiences today and into the future are and will be embodied in mobile apps, responsive web applications, and interactions with the Internet of Things. The need for these great user experiences has already transformed the way consumer applications are designed, built, delivered, and maintained.
The same consumers are now demanding similar experiences from enterprise applications. New enterprise applications have to be what Forrester calls “Systems of Engagement,” where the focus is on elegantly adapting processes to people instead of focusing just on the processes themselves. This blog outlines why you need a new mobile development platform such as Progress Kinvey’s Backend as a Service to succeed in delivering these new user experiences.
The initial tactics to enable this new wave of enterprise applications have been two-fold:
The first approach is a recipe for disaster for a variety of reasons:
Read our paper on the value Kinvey can bring to your business
The shadow IT approach is rife with issues as well:
In short, the realities of web application architectures fall woefully short of meeting the new application requirements in three key areas: agility, flexibility, and scalability. The shadow IT applications fall short in even more areas: flexibility, security, compliance, governance, and availability – what is needed in a new, modern mobile application development platform.
Before we explore the requirements of the technology stack required for successful application delivery, it’s important to identify key requirements for both the development process and the applications themselves.
In no particular order, they are:
The typical web-based enterprise application platform consists of 3 tiers – web, application, and data/services. Replacing the tightly coupled application tier with aggregation and delivery tiers enables the separation of concerns and leads to a loosely coupled architecture. The new 4-tier application architecture is illustrated below (Source: Forrester report, Mobile Needs a Four-Tier Engagement Platform, Michael Facemire, Tech Schadler, John C. McCarthy, May 23, 2016). The ideal solution would deliver these tiers as a cloud-based mobile development platform to address automatic performance scaling and an agile development cycles.
©Forrester 2016
Kinvey provides a mobile development platform as a Backend as a Service cloud that directly aligns with the Forrester 4-Tier Architecture and addresses all the requirements of the Client, Delivery, and Aggregation tiers.
This tier of the mobile development platform architecture needs to enable the client developer to focus on the user experience on the device at hand, without regard to how the mobile development platform backend services expose and deliver data. Specifically, this tier must:
The Kinvey service provides the client developer with an easy-to-use SDK. The SDK enables the client developer to focus on the user experience by supporting the widest variety of languages and development environments. The developer is not constrained to a single “studio” environment; native, cross-platform, and hybrid environments are all supported. Kinvey supports the following:
Kinvey provides common mobile development platform services used by application developers using protocols and data formats that are familiar to them. Enterprise authentication systems typically use LDAP, SAML, RADIUS, and other proprietary protocols. Kinvey provides a standard, secure, consistent, and, most importantly, familiar OAuth 2 interface for identity management. The client developer is isolated from the backend authentication service and its protocol.
Other common services like Push notifications, location services, and network state are provided in an easy-to-use, consistent manner.
Offline caching of data and content in the client app is enabled via the Kinvey SDK with just a few lines of code. The caching comprehends the network state of the device to intelligently sync data.
Network management is provided by the SDK so the developer does not need write code to handle common network functions.
Most importantly, the SDKs isolate the developer from changes to the platform. When Apple upgrades the iOS platform, the library is immediately upgraded and available for developers to use. The Kinvey service was built from the ground-up to serve the needs of the developer community. Over 85,000 developers use Kinvey, and more than 30,000 apps have been developed with Kinvey over the past 5 years.
Intelligence from the client layer will determine the content that is delivered by this tier of the mobile development platform. Content must be customizable based on context, location, and other device states. To ensure successful customization, this layer must:
Kinvey provides Business Logic that includes pre and post collection hooks to process data from the underlying Services tier so it can be customized for the Delivery tier. The Business Logic scripts are quickly customizable by client developers and are written in Javascript, a language familiar to most client developers.
Custom endpoints are another powerful Kinvey feature that enables developers to easily connect to services or customize data from the Aggregation tier based on user context.
Kinvey provides easy-to-use user management features to manage users and authentication internally in Kinvey or to connect externally to enterprise authentication providers. In both cases, the user management features are delivered using a protocol and architecture that is very familiar to client-side application developers.
The Kinvey solution generates client SDKs that encapsulate data access APIs with mobile features like offline access. These client SDKs are available for every development environment: native iOS, Android, node.js, Xamarin, angular.js, Swift, PhoneGap, and more.
In order to develop rapidly, application developers require a consistent architecture and pattern to access data. Learning the nuances of different access protocols like SOAP, RPC, and CORBA, as well as data/service formats like WSDL, SQL, DCOM, COM, etc., causes inordinate delays in application development. As a result, this layer of the mobile development platform requires:
Kinvey provides both Rapid no-code and Flex low-code integration services for data and identity integrations. These services provide the bridge between enterprise systems of record in the Services tier and the Delivery tier. The Rapid and Flex services enable protocol and data format translations to provide a RESTful interface using a JSON data format.
Kinvey provides reference Rapid and Flex data services as well as enabling developers to tap into the open source NPM ecosystem and run these services on our Flex Services Runtime.
Data integrations can be used stand alone or used in conjunction with Kinvey’s Business Logic scripts to provide the required federation of services.
Business Logic and the Custom Endpoints features of Kinvey are used to combine raw data APIs provided by the Rapid and Flex services to compose higher level business process APIs. This composition can be done easily using the Kinvey Console with low or zero code.
Learn how Kinvey can augment your current API management software
The Kinvey mobile development platform is based on asynchronous, non-blocking I/O architecture provided by nginx and node.js. Backend developers can write their data compositions and other business logic in asynchronous Javascript, making it very efficient and cost-effective for mobile application development.
This tier is part of the existing enterprise application architecture stack. It exposes the enterprise systems of record and identity management and also includes 3rd party external services, including new messaging tools (e.g. Slack and HipChat) that are required for modern mobile application experiences.
Typically, the internal application stack will have an ESB (Enterprise System Bus) that enables communications between multiple services in a Service Oriented Architecture (SOA) or application middleware like Tibco or API management.
Enterprise services are usually exposed via a host of different protocols like SOAP, RPC, CORBA, DCOM, REST, etc. They also use varying data formats – XML, JSON, COM, and other proprietary data formats. Therefore, layers above will need to provide the necessary translation from these protocols and formats to ones that are easily consumable by the new generation of applications.
The services exposed by this tier are consumed by other legacy applications so it is critical to understand and deal with the performance impacts of the new applications. Reliability and availability of these services are very high (99.99 is typical). Any new consumers need to be mindful of their impact to these service levels.
The services tier serves a number of different consumers with varying needs and change is usually very slow.
There are several factors that are key to developing and delivering the next wave of applications that are digital and mobile-first:
And as we’ve seen, shifting from the three-tier web architecture to a loosely coupled four-tier architecture can accomplish all of these things. Once you have a four-tier architecture in place, you are free to quickly build consumer-grade, secure, and performant B2B, B2E, and B2C enterprise app experiences.
Learn more about how Progress Kinvey can help you build successful apps quickly, including HIPAA compliant apps with Progress Health Cloud.
Rob helps businesses design and build effective, targeted marketing campaigns that drive revenue growth. He looks beyond just filling the top of the funnel and creates programs that generate demand and turn it into sales. Rob’s passion is using technology to design innovative strategies that focus on the customer and create loyal, happy, profitable users.
Let our experts teach you how to use Sitefinity's best-in-class features to deliver compelling digital experiences.
Learn MoreSubscribe to get all the news, info and tutorials you need to build better business apps and sites