Components and technologies

Solutions that are built on ADEP rely on both Experience Services and Document Services depending on the type of service needed and the required deployment characteristics. Adobe® Digital Enterprise Experience Server provides the frameworks to serve the Web tier needs of a solution. Adobe® Digital Enterprise Document Server provides the services required for document processing, business process management, and integration with back-end transactional systems.

Experience Server

Experience Server provides services in the Web tier for application developers using HTML5, JavaScript, Flex, and Adobe AIR.

Experience Services - Core (CRX)

Experience Services - Core (CRX) is the core technology in ADEP used to provide content management and rich internet application capabilities for web applications. Experience Services - Core (CRX) is central to Experience Server and contains a Java™ Content Repository (JCR), an OSGi Container for business logic (Apache Felix), and a Web framework used to process HTTP requests in a RESTful way. Experience Server also provides Data Services used to aid integration with 3rd party data sources (such as SQL databases and CRM systems).

Experience Services - Core (CRX) provides the Content Repository, Web framework, and Java™ runtime container for your applications through a combination of:

JCR-compliant content repository:
Apache Jackrabbit is a fully conforming implementation of the Content Repository for Java Technology API (JCR, specified in JSR 170 and 283). This is a highly scalable content repository that can be used to store and manage unstructured content such as documents, media, user-generated content, and application metadata. Apache Jackrabbit does not rely on a relational database (RDBMS). Instead, Apache Jackrabbit stores the content in a highly optimized manner within the JCR content model.

Apache Felix:
Apache Felix is an implementation of the OSGi R4 Service Platform and related subprojects that implement specific parts of OSGi and related technologies.

Apache Sling:
Apache Sling is a Web framework that uses the Java Content Repository and Felix OSGi framework to build RESTful applications with support for scripting within the server, including JSP, server-side JavaScript, and Scala.

Composite Application Services

Composite Application Framework aggregates HTML and Flex-based user interface components into a single application view that provides an intuitive user interface in the context of the user's current task. Composite Application Framework also provides and manages a context (a set of attributes). Views with their context can be persisted on the server and shared with other users. Composite applications are dynamically instantiated during run time on the client and display content according to the current context.

The dynamic composition allows developers to decouple the implementation of individuals parts of the application, which simplifies change management (that is, isolated changes, adding additional components) and hence supports the management of large implementation projects. Another aspect of dynamic composition is that the user's role and entitlements are applied before the application is sent to the client and the code gets loaded. This allows, for example, to hide parts of the application that the user is not entitled to see.

Composite Application Framework takes care of loading modules, provides the infrastructure for inter-tile communication and services, and managing assets and applications on the server.

Composite Application Services can also easily leverage Document Services capabilities around documents.

Data Services

Data Services provides Remoting (RPC), Messaging (publish/subscribe and push, and Data Management capabilities for the creation of rich Internet application (RIA's) as well as multiscreen, mobile, or occasionally-connected applications.

Data Services also provides a highly productive set of Model-Driven Development capabilities that enable developers to focus on application and business logic. Data Services also includes a wide variety of back-office data connectivity options including connectivity to server-side Java™ code, SAP, RDBMS, Hibernate, JMS, and others.

Data Services is included as part of Experience Services, providing the capabilities required to develop Customer Experience Management Solutions. Data Services is a core framework within ADEP used by all Solutions.

In addition to being integrated with Experience Services, Data Services also continues to ship separately in its current JEE form.

For more information, see Data Services in Developing for ADEP Experience Services.

Security

ADEP provides a framework for authentication and single sign-on needed by Web applications (Flash and HTML) as well as the ability to integrate with Document Server to centralize Identity Management configuration.

For more information see Developing for ADEP Experience Services.

Task Management

Task Management is a framework in Experience Server that provides support for two styles of User Task Management:

  • Manage User Tasks in an ad-hoc fashion, with data stored in the Content Repository.

  • Manage Business Process Management (BPM) tasks generated on Document Server.

Task Management framework provides solution developers with a common interface and common UX components for both styles of User Task Management depending on what the solution requires.

Document Services integration

Experience Server is integrated with Document Server in two ways:

  • Uses Document Server as the Identity Provider for authentication and group membership of users who authenticate to Experience Server. This is achieved by enabling a CRX Login Module supplied with ADEP that performs authentication using a separately deployed Document Server. An Enterprise Domain on Document Server controls authentication based on LDAP or locally administered users.

  • Invokes Document Services and processes running on Document Server by way of the Document Services SDK. This SDK can be used within an OSGi Bundle or using scripting in a JSP.

Document Server

Document Server provides ADEP with business process automation, forms automation, information assurance, and document generation as well as integration with existing Enterprise IT systems. In addition, Document Server offers an Application Model used to create and manage processes. Document Server is designed for deployment on a JEE Application Server and includes a JBoss Turnkey option for deployment. Document Server offers a Service Orientated Architecture (SOA) approach for the invocation and orchestration of Document Services, as well as custom services. Service endpoints are cleanly separated from underlying components using a service registry. Common services, such as the Assembler Service, provide capabilities that are useful for manipulating documents and data.

Integration between Experience Server and Document Server is accomplished using HTTP with the ability to configure a trusted communication channel between the two servers.

Developer tooling & SDK

Adobe® Flash® Builder™ 4.5 and Adobe® Flex® 4.5 allow developers to use one tool, one framework, and one code base to build desktop, Web, and mobile applications across Google Android™, Research In Motion BlackBerry® Tablet OS, and the Apple iOS platforms.

ADEP offers tools to support development with ADEP Experience Services. The tools include a set of additional extensions for Flash Builder and a rich SDK (Flex, Java, Mobile) for building applications. Experience Services SDK is an Experience Package distributed using Adobe Package Share. It can be downloaded using the Package Share link on the Welcome Page after launching the ADEP Quick Start.

Business analysts and process developers can use Workbench to design and deploy business processes that leverage Document Server's modules and common services.

Workbench, is an Eclipse-based development environment that lets users build applications that consist of forms, documents, and business processes. Workbench includes Designer, a graphical form design tool that simplifies the creation of forms.

UX components

UX components are reusable Flex components. The appearance and behavior of a UX component can be tailored to the final application, while retaining high levels of core functionality. The component can be inherited for specialization, and because its skin is separated from the component, the appearance of the component can be efficiently or easily tailored to the final application. UX components are available for use by developers within Flash Builder after installing the Flash Builder Extensions for Experience Services.

For more information, see Developing for ADEP Experience Services.

Deployment considerations

This section points out some important considerations for physical deployment of ADEP.

Clustering

Multiple instances of Experience Server can be deployed to assist with throughput and failover concerns in the Web tier for a solution. Experience Server employs a "shared nothing" approach to clustering such that each instance contains its own Content Repository but the contents of that repository are synchronized in a "master / slave" topology.

For more information, see Experience Services Clustering.

Packaging

Applications built on ADEP can be packaged for transportation and re-deployment on another system as Experience Packages. Experience Packages can be uploaded and shared on Adobe Package Share. The Experience Package is a type of ZIP archive with additional metadata.

JEE

Experience Server does not require deployment on a JEE Application Server and can instead be launched as a stand-alone server accessed behind a typical Web Server such as an Apache HTTP Server. However, it is also possible to deploy Experience Server as a WAR-based JEE application on a variety of JEE Application Servers for cases where an Enterprise has already standardized on such a deployment.

Document Server does require deployment on a JEE Application Server and is it is typically not deployed within the same network zone as Experience Server(s) used to handle interactions with end users through web and mobile channels.