Author Archive: Craig Randall

My Developer Lab at Adobe MAX

This year at MAX I have prepared a developer hands on lab session with Seth Reilly called, “Creating Mashups with ADEP’s Composite Application Framework”.

During the session we build a composite application from scratch using all the cool new ADEP features in Flash Builder 4.5.1. Then we dive into a really interesting use case that mashes up existing Flash UI components, Services, HTML and JavaScript to build a fun application. We start with a simulated stock quote streamer (yes, I know .. but stay with me here!) and then we build it out to show a Google Map which automatically jumps to the city location of the company whose stock you select. Pretty nifty, eh.

Here is a screen shot (after some deliberately loud skinning!)

(Click to enlarge)

Here are the basic points we will hit in the session:

  1. Using Flash Builder to author, deploy and debug a Composite Application
  2. Adding a “Service” to your Composite Application. In this case an address look up.
  3. Adding an HTML Tile to your Composite Application In this case an HTML and Action Script Tile to drive a Google Map
  4. Communicating objects between Flex Tiles and HTML. In this case we share an Address Object and access it in JavaScript using JSON to reset the Google Map when you choose an address.
  5. Tips ‘n Tricks for Skinning. We apply a .CSS and a new MXML Skin to the application, for example allowing you to drag & drop the Tiles around within the application.

If you are lucky enough to be going to Max, come check out the Lab, grab a workstation and follow along. We start at 5:00pm sharp on Monday October 2nd in the ADEP Labs area and the session is called, “L2540 – Creating Mashups with ADEP’s Composite Application Framework”

If you would like to read the full tutorial, check it out here: http://ep.adobe.com/content/max/L2540_Gilchrist_CreatingMashupswithADEP_Final.pdf

Happy Hacking -

Gary.

 

Developing and Deploying an OSGI Bundle on to the ADEP Experience Server

The Open Services Gateway Initiative (OSGi), also known as the Dynamic Module System for Java, defines architecture for modular application development. ADEP Experience Server is developed on the OSGi container implementation Apache Felix, which allows you to break your application … Continue reading

Introduction on Experience Services sample applications

For developers who are interested in Experience services and eager to build ADEP applications themselves, “Getting Started” is a surely a good place for you to get started, where you can find many samples that are built with different services and frameworks provided by ADEP Experience services. Most of the samples are out-of-the-box, which means they are up running with the server start  automatically without any further manual steps. Also for each sample, you can find document that explains what the sample tries to showcase and how to do that under ADEP.

As Gary mentioned in his blog, the samples are split into two groups. In this post, I’d like to give you a more in-depth introduction on the “Application use case samples”. Basically these are sample applications that gather together could cover all the main services or frameworks provided by Experience services. I will introduce them one by one and for each one of them, I will introduce what experience service and technical points the sample covers so that when you try to build your own application, you can easily find out which one best suit your needs as reference.

(Click on Images to enlarge..)

samples_list

Data integration – A sample to showcase user interface aggregation and data access capability on ADEP. And it demonstrate that capability by using Composite Application Framework and Data Services.

data integration

Interface aggregation capability is provided by Composite Application Framework. 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 applications are dynamically instantiated during run time on the client and display content according to the current context. 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.

Data Services provides various kinds of data sources access capabilities on ADEP and is a core framework within ADEP used by all ADEP solutions. Data Services provides Remoting (RPC), Messaging (publish/subscribe), Proxy(HTTPService/WebService) , and Data Management capabilities for the creation of rich Internet application (RIA’s) as well as multi-screen, mobile, or occasionally-connected applications.

In this sample, you can learn how to develop and deploy a Composite application, how to get data from different kinds of back end data sources include CRX content repository, how to work with HTML tiles and how to develop and deploy a simplest bundle, etc.

 Model Driver Development with CRX – A sample to showcase Data Services’ highly productive set of Model-Driven Development capabilities that enable developers to focus on application and business logic.

mdd

In the sample, we author a data model in Flash Builder and deploy it to the Experience Server. This creates new Data Services destinations, which expose CRUD (create, read, update delete) and filter operations for the entities in the data model. At runtime, these operations are implemented on the server by a new Data Services Assembler that built using JCR for persistence.

Stand Alone Task Management and Task Management with Document Services – They are put together because they both showcase the Task Management capabilities.

http://blogs.adobe.com/eptech/wp-content/plugins/wp-o-matic/cache/3104e_tms.jpg

http://blogs.adobe.com/eptech/wp-content/plugins/wp-o-matic/cache/3104e_tmd.jpg

The Experience Server provides the following capabilities for Task Management, utilized by developers as part of the Experience Services SDK:

  • A framework to manage the lifecycle of User Tasks. The framework provides two default provider implementations for User Tasks as follows. Regardless of the implementation chosen, the APIs and UX components used by the web application do not need to change:

    • Stand-alone User Task:  These User Tasks do not need to originate from a BPM process. Instead, they can be created and assigned in an ad-hoc fashion by applications that manage appointments or To-Do items for their end users. Stand Alone User Tasks are managed in the CRX Repository as data in a JCR node tree.
    • Document Server User Task: User Tasks are generated by a business process management process running on the Document Server, using Process Management.
  • A set of UX components available in Flash Builder to help build applications that manage User Tasks and display the work payload of a User Task.
  • A set of services (exposed via Data Services Remoting) that can be used in Flex applications to interact with Stand-alone and Document Server User Tasks.

You can learn from these two samples about how to implement task management with Experience server by utilize all these capabilities. The difference lies in the provider implementations.

Authentication and Single Sign On – A sample designed to showcase how to address typical security related requirements during development of rich Internet applications.

authentication

As you can see, this sample itself provides a login page. After login, user is provided with the links to Experience Server contents and other Experience Services samples. By learning the source code and document for the sample, you should find the sample covers:

  • Username/password authentication using either the Content Repository or a Document Server as the provider of user identity. There is also a plug-in model based on the Java Authentication and Authorization Service (JAAS) for delegating authentication to some other LDAP system.
  • Single Sign-On and identity propagation for an already logged-on end user across all Experience Services. For example, when a client application is invoking Data Services, accessing Composite Application Services or making HTTP Requests using Apache Sling, re-authentication is not required.
  • Client access to the user details for the current logged in user with the notion of an ActionScript User object.
  • Log out handling.

In summary, these use case application samples cover all the main frameworks and technologies of Experience services, therefore they are very good stuff to developers who are new to ADEP. Moreover, each sample has good document to further explain the details and you can even build your own sample application by following the steps in each document.