Adobe Experience Manager platform
A flexible, modern platform promoting technical agility and tight integration of services.
As users demand more personal, customized experiences across a variety of devices, businesses need to be sure all their web and mobile assets are integrated and coordinated. Adobe Experience Manager allows you to create robust digital experiences, including quickly creating, reviewing, and approving campaign assets; building mobile apps; launching and managing email and social campaigns; building and managing landing pages and microsites; and managing all digital content. This is acutely valuable given the multitude of digital device types customers are using to engage with brands. Using a modern platform such as Adobe Experience Manager that can grow with your business allows you to more easily adapt to emerging trends such as mobile and the Internet of Things.
Experience Manager lets you manage content and applications in an integrated fashion on one platform, so you can deploy your applications as easily as content. When applications and content can be treated the same — deployed and managed on a single platform — they work better together. This is what makes Experience Manager a powerful alternative to conventional content management systems.
When applications and content can be treated the same — deployed and managed on a single platform — they work better together.
The Experience Manager platform enables content specialists to create, manage, measure, and optimize online experiences with ease to deliver immersive experiences across all digital channels.
This white paper outlines the features and underlying architecture of the Experience Manager platform to highlight the agility of this digital experience management solution.
The foundation of Adobe Experience Manager.
Experience Manager is built on the Java™ platform and is powered by open source standards and state-of-the-art frameworks and technologies, such as the Content Repository for Java API (JCR) and a structured Representational State Transfer (REST) architecture. JCR is a programming interface, defined by players from across the content management industry, that provides developers with a stable and well-defined, yet extensible, content and query model.
The Experience Manager platform is a state-of-the-art composite content applications platform, natively managing content in the JCR content model. It is highly scalable and can easily be deployed in the cloud. It contains a sophisticated, enterprise-grade content repository that offers unparalleled flexibility in the design and deployment of content-orientated applications. In a single, lightweight, and cloud-ready package, the Experience Manager platform enables technical agility for faster time to market and tight integration of services with support for all major web standards.
Some of the important features of the Experience Manager content repository are:
- Stores content in a hierarchical folder structure, which allows for referring to nodes and properties using paths
- Allows you to restrict access to content based on policies and access control lists (ACLs)
- Supports unstructured content but can be configured to enforce constraints on data structure
- Supports querying using a variety of query languages
- Supports full-text search on content
- Supports versioning of repository content
New repository foundation.
In an effort to enhance scalability and performance, the Experience Manager platform is now based on Apache Jackrabbit Oak. Oak is a scalable implementation of the JCR API with support for structured and unstructured content, full text search, versioning, transactions, observation, and more. It is used as the foundation of the content repository.
Oak is a new JCR implementation with a completely new architecture. Based on concepts like eventual consistency and multiversion concurrency control, and borrowing ideas from distributed version control systems and cloud-scale databases, the Oak architecture is a major leap forward.1
Modern, world-class digital experiences profit from the revised system architecture, which combines the advantages of the industry-leading JCR specification with significant performance improvements.
The JCR repository model
The main feature of the JCR repository model is that it contains a hierarchy of nodes and properties that can be addressed by path and, where necessary, by unique identifiers. Properties store the actual content of the repository, while nodes provide the structural organization of the content.
One of the most important elements of the Experience Manager platform is flexibility at the repository level. Oak supports multiple persistence mechanisms including Tar files and MongoDB. A variety of search capabilities are available natively, and Apache Solr can be plugged in as a remote search application if necessary. This flexibility allows you to effectively and easily integrate Experience Manager into existing infrastructure and support structures.
OSGi application framework.
Experience Manager is built within an OSGi application framework. OSGi is a dynamic module system for Java that provides a framework within which small, reusable units can be composed into an application and deployed. These units, called bundles, can contain compiled Java code, scripts, and content to be loaded in the repository or configuration information. Bundles are loaded and deployed dynamically at runtime during normal operation of the application, enabling, for example, runtime upgrades to Experience Manager without stopping the server.
The glue — Apache Sling.
Apache Sling is a web framework that uses a JCR to store and manage content. Sling applications use either scripts or Java servlets, selected based on simple name conventions, to process HTTP requests in a RESTful way. Sling decomposes URLs and maps incoming HTTP requests onto JCR nodes and to scripts or servlets that are executed to render the output. The rendering process delivers the node content as HTML or another format, such as text, JSON, or PDF, as requested by the client application or the end user. This gives content authors control over the URL space, allowing them to create natural and intuitive URLs, which leads to better content discoverability by both search engines and users.
The embedded Apache Felix OSGi framework and console provide a dynamic runtime environment, where code and content bundles can be loaded, unloaded, and reconfigured at runtime. Sling makes it easy to implement simple applications, while providing an enterprise-level framework for more complex applications.
Sling started life as an internal project of Day Software (now Adobe Research) and was later contributed to the Apache Software Foundation, where its active development continues, including such recent innovations as Sling Models, Sling Content Distribution, and Sling Query.2
The Experience Manager platform includes the CRXDE Lite tool, a lightweight browser-based editor focused on the repository itself. It allows developers to browse, add, and manipulate JCR nodes and properties, query the repository, trigger replication, and more. CRXDE Lite is a great tool to quickly check the code of a page or to make minor changes when the benefit of a fast try-refresh cycle outweighs the need for full IDE functionality, such as code completion and refactoring support. It is also useful for quick prototyping if a complete IDE is not available and for implementing hotfixes directly in production environments.
While CRXDE Lite is embedded in the Experience Manager platform and enables you to perform standard development tasks in the browser, Adobe also provides plug-ins for the Eclipse and Brackets IDEs. This allows both front-end and back-end developers to work with Experience Manager in tools with which they are already familiar.
Unlocking value from content, whether the content is destined to be consumed via an intranet, mobile platform, ordinary web page, or other digital devices, means having powerful, standards-based tools that allow you to store, version, analyze, repurpose, optimize, search, and control access to that content. The Adobe Experience Manager platform offers the flexible, sophisticated infrastructure needed to build, deploy, manage, measure, and optimize content of all kinds, as well as the composite content applications that provide dynamic, immersive experiences for users.
1 Durig, Michael, senior developer at Adobe Research, “Oak, the Architecture of the New Repository,” SlideShare presentation, September 22, 2014.
2 Apache Software Foundation, http://sling.apache.org.