Main

April 22, 2008

The Acrobat User Community is hosting a PDF Forms contest!

Forms creation, distribution and response tracking are one of the most popular uses for Acrobat.  But users need more samples of great forms and useful templates.

The purpose of the PDF forms contest is to create a public library of sample Forms and LiveCycle Designer templates that other PDF creators can use. The contest is open to qualified participants in any industry. You can even use a free 30-day trial copy of Acrobat 8 Professional to create your entries.

There are two entry categories:

Category: Fillable Forms

Show sophisticated and visually interesting fillable PDF Forms created using the forms toolbar in Acrobat 8 Professional, and may include interactive form elements, auto-formatting, calculations and Javascripting.

Category: LiveCycle Designer Templates

Develope form templates that can be used in LiveCycle Designer 8, and may include graphics, interactive form elements, library elements, auto-formatting, calculations and Javascripting. (LiveCycle Designer is included with every copy of Acrobat 8 Professional for Windows)

Notable entries will appear in the PDF Forms gallery. Entries may also qualify to win Adobe software, video cams and t-shirts.

The contest runs from Mar 10, 2008 until Apr 30, 2008.

Full details at http://www.acrobatusers.com/contests/forms/

April 02, 2008

Implementing SOA Principals in LiveCycle ES

A couple of months ago, I talked about how LiveCycle ES uncovers the holy grail of SOA. Pretty bold statement to make without any description of what exactly LiveCycle ES does and how it does it. So this is a first of several articles that will attempt to demystify Adobe LiveCycle ES and why I think it ROCKS! :)

Before talking about process serving and composite application development, we should spend a little time talking about architecture. Don't worry - I won't get into a long winded discussion about architecture and design patterns... That's what Duane Nickull is for :) In his post about the new SOA Whitepaper, Duane talks about Web 2.0 as a common set of architecture and design patterns. The bottom line is that Web 2.0 applications are made up of a Service Oriented Architecture which is accessed by a Service Oriented Client.

image 

In this diagram, we quickly recognize the Resource Tier and the Service Tier. This is where IT professionals have spent a vast amount of time and resources ensuring that backend resources are available and accessible. Web Services have been created, Java Beans developed, services were born. So, what's the problem? The problem is that the needs of the business often outpace the bandwidth of the IT department. New requirements flood the IT shop, new services are born to meet the demand. Seems harmless enough... right? Turns out, not so much. All of a sudden, specialized services are invading the once clean and sterile SOA scene. The reality is, service multiplication causes maintenance nightmares.

Concept: Process Serving

What books like Secrets of SOA are telling us is that we need to take a step back and re-evaluate SOA approaches and implement what we have learned. One of those key lessons learned is that we need the ability to "string" multiple generic services together in order to create specific composite services. This is what Terry Borden and Bill Mitlehner refer to as process serving. Process serving is the ability to link two or more services together, the execution path of these links are driven by business rules specific to the implementation, and deployed as a new "composite" service with the same availability and accessibility as the atomic services themselves.

Theory: Service Container

For process serving to occur, you need to have an extremely flexible environment that would be able to expose a "workflow" like process engine that could invoke generic services synchronously or asynchronously while maintaining complete control over execution flow and state. Among other things, this service container would require:

  • Registry/Repository where all execution assets and state information can be stored.
  • Sophisticated foundation would be required to manage common tasks like logging, file system access
  • Job management to handle the various requests 
  • Invocation layer that would be able to dynamically register endpoints for new composite services
  • Granular security model
  • Design tools to facilitate process definition and deployment

Reality: LiveCycle ES

This is exactly what Adobe LiveCycle ES provides. Sure, we talk about PDF documents and document services, that is our bread and butter. But when you take a serious look at what the LiveCycle ES platform delivers... you get process serving. LiveCycle ES implements a service container on top of the J2EE stack (Weblogic, WebSphere, JBoss) with a dynamic invocation layer which automatically exposes multiple endpoints for each new service or composite service. A sophisticated foundation with common services and integration points. A security model (User Manager) which leverages existing user registries. A service registry/repository to store and maintain service execution and state. Of course, LiveCycle ES comes with a complete set of design tools built on Eclipse (Workbench).

A good friend of mine, Greg Wilson, has recently posted several interesting articles around LiveCycle ES.  His latest post is particularly of interest since it is directly related to what I have begun to cover here. I highly recommend that you take 15 minutes and watch his introduction to LiveCycle ES video. Also, take the time to have a look around the LiveCycle Developer Center... Read some of the great content posted there and download a trial copy. The download is quite large, if you would like to receive a DVD shipped to you, please drop me an email with your shipping information.

In the next article, I will introduce LiveCycle Workbench ES and how it is used to create composite services that can be deployed to the service container.

April 01, 2008

The Beta 3 Eagle Has Landed!

imageToday, we are launching the public beta of LiveCycle ES Update 1. As I mentioned in my previous post - there is a lot to be excited about in the Update 1 release. In addition to LiveCycle.

Make sure that you sign up for the pre-release program by visiting the LiveCycle Developer Center.

March 24, 2008

LiveCycle ES Update ONE is around the corner

A vast number of improvements have been made to LiveCycle ES. A sample of some of the new features includes:

LC_Box
  • Improved development and authoring tools, including process record and playback, and validation of process definitions
  • Improved end-user experience including 508-Compliance, single sign-on support, and many LiveCycle Designer enhancements
  • Improved process management tools such as business calendars, out-of-office support, and customized e-mail notifications
  • Improved installation with two turnkey options (JBOSS and WebLogic) as well as command-line installation
  • Improved administration and platform maturity with improved backup and recovery support (hot backup), expanded platform, database, and JVM support
  • Improved Web Service support within XFA-based forms
  • PDF/A Support

February 25, 2008

The AIR rocket has launched

Adobe has finally released Flex 3 and AIR 1.0. This is a major milestone in the evolution of RIA and business applications as we know them.  I'll be the first one to admit that I did not jump on the AIR bandwagon from the start. Obviously, my focus on enterprise level applications has blurred my vision. As time passed and I actually tried building a couple LiveCycle ES applications using AIR as the client, I quickly realized that my initial "poo poo" opinion of AIR was dramatically incorrect. AIR is going to revolutionize the way enterprise applications are built and distributed.

Take the time to check it out. The buzz is all around consumer type applications for now, but as more and more enterprise developers discover the power and flexibility or AIR; it will spread like wild-fire.

December 06, 2007

LiveCycle ES uncovers the holy grail of SOA

"The ultimate value of SOA is the ability to combine automated business services to create new market offerings that may reduce time-to-market and development costs."

This statement was made by Terry Borden and Bill Mitlehner in chapter 4 of the Secrets of SOA. I find this statement very interesting since this is exactly was Adobe LiveCycle ES offers.  This new release has been completely re-designed to enable you to visually "string" document services together to match your requirements. Now, I say document services because that's what we are in the business of selling. But don't let that fool you. The LiveCycle ES architecture is built on SOA principals which enable extensibility and flexibility beyond just documents. Mike Hodgson wrote up an excellent article on Adobe DevNet on how to deploy your own POJOs in LC ES 

Everything LiveCycle sits on what we have dubbed the Foundation. The foundation is powered by a service container which exposes two types of services:

  • Packaged POJO (Plain Old Java Objects) classes: Java class accompanied by a component.xml file which describes which methods, inputs and outputs are supported by the class.
  • Orchestrated services: Using Workbench (Eclipse based graphical editor), a designer drags the above mentioned packaged POJO classes onto a canvas and links them together based on business rules and/or application requirements.

In each case, once the service is activated, it is registered in the invocation layer which automatically creates invocation methods (endpoints) for that service. The default endpoints are: Web Service, Flex Remoting and EJB. Additional available endpoints (configured manually) are: Watched Folder, Email and Task Manager (only used in conjunction with LC Workspace ES).

The latter type of service (Orchestrated Service) is exactly what Terry and Bill are describing in their chapter. LiveCycle ES provides developers and business analysts with the ability to build processes in a graphical environment, set service properties using property pages and link services together based on their requirements. The key here is that the second that "process" is activated, it is deployed within the service container and from that moment on, is available just like any other service. Of course, there are security constraints that are applied, etc. The point is that very few people understand the power and flexibility that LiveCycle ES provides. With this introduction, I will post several examples in the next few weeks that illustrate my point.

image Get the LiveCycle ES Trial now

February 19, 2007

Get more out of xForms!

Today, Adobe posted an alpha release of the xForm Converter utility on Adobe Labs. The converter will accept xForm container files such as HTML or XHTML but can be another language such as XML or XFDL. XFDL is IBM's propritary form description language used in IBM Workplace Forms. The converter will extract the xForm definition from these host files and generate Adobe’s XML Forms Architecture (XFA) documents. Since xForms by definition does not specify the layout, the converter will place all form elements using left to right - top to bottom layout. Business logic will be converted to JavaScript and data bindings will be maintained. This will prove to be a huge head start to people that wish to take their xForms to the next level and leverage Adobe's presentation while maintaining xForm data sturcture for submitted transactions.

To view the results of the conversion, get the free trial version of Adobe Designer here.

The xForm Converter will be part of the Adobe Designer 8.1 release scheduled for later this spring. At that point, it will no longer be a standalone utility. The coverter will be invoked when using the File/Open... menu option and selecting the xForm option in the file type dropdown.

October 25, 2006

LiveCycle Productivity Kit... Get your copy now!

I am pleased to announce a new project on RIAForge - the LiveCycle Productivity Kit. The LiveCycle Productivity Kit is a collection of Java classes that implement common programming tasks when using the Adobe LiveCycle APIs. This kit will serve more than the LiveCycle developer community, it will also be essential for Flex and ColdFusion developers that wish to invoke LiveCycle from their applications.

The LiveCycle Productivity Kit is an open-source project. The source is also posted in subversion, so feel free to download, update and extend :)

I will be posting some Flex and CF samples using the kit in the near future. I am working on a Flex sample right now that uses the LiveCycle Productivity Kit to communicate with LiveCycle Workflow. The potential for enterprise applications is impressive!

October 14, 2006

A great day - Adobe LiveCycle Developer Toolbox now available.

This is a big deal folks!!! All of you now have access to the Adobe LiveCycle Toolbox. "What is the Adobe LiveCycle Toolbox" you ask? It's a self-extracting zip file of a pre-configured and pre-deployed LiveCycle 7.02 installation on JBoss and MySQL. With the Adobe LiveCycle Toolbox, you will have local access to the Adobe LiveCycle platform; you will be able to teast the samples I post on this blog locally - not just take my word for it :)

All you have to do is download the self-extracting EXE file and run it on your machine. You'll be able to play with all of the super cool features available in LiveCycle without having to engage in a formal pilot. I stongly recommend that you get the toolbox and try out the Flex Meets Adobe LiveCycle Forms sample I posted a few weeks ago.

September 19, 2006

Flex meets LiveCycle Forms...

Similar to my previous ColdFusion sample that uses LiveCycle Forms, this is part 1 of a Flex and LiveCycle Forms sample.

The goal of this sample is to demonstrate how you can create a Flex application that can use LiveCycle Forms to render PDF and HTML forms from XML form templates (XDP) created in Adobe Designer. The Flex application will display a list of pre-designed forms, sample xml data files (that can be used to pre-populate the forms) and available transformations. Once a form and optional XML data file have been selected, click on the Render Form button. This will make a call to LiveCycle Forms which will render the form on the server and return the result to the Flex application. Since Flash cannot embed PDF or HTML, I have lifted Christophe's IFrame sample. Basically, the PDF and HTML content returned from LiveCycle Forms is displayed in an IFrame on top of Flash. There are still some issues I have to work out regarding re-sizing etc. I'll post an update as soon as I have time to look into it.

An optional part of this sample is to display performance numbers. When LiveCycle Forms is rendering the form template into PDF or HTML, I collect the number of milliseconds that it took to render the form. That performance data can be pushed to the flex application using JMS. This option is turned off by default, please read the README.HTML file to see what needs to be done to turn this option on.

This sample will showcase several Flex Data Services 2 capabilities. The first one being RPC Services. This sample uses a Java Object named FileUtils that I created that implements several file I/O functions. One of these function is listFilesFromURL(url). This function will return a string array of files available at the provided URL. That is the function that is used to display the list of available forms and XMl data files. This function was tested with JRun as well as WebLogic directory listings. If there any issues with the code, let me know. The other Flex Data Services 2 capability showcased in this sample is real-time messaging. If you choose to enable the JMS capabilities of this sample, everytime a form is rendered, the performance data is sent to a JMS topic and Flex will detect that message and grab the value which will be displayed in the graph. The really cool thing about this feature is that every person running this application will see all of the performance data, not just their own.

You will need LiveCycle Forms as well as Flex Data Services. Check out these links to get access to the software.

Get the LiveCycle Developer Toolbox 

Get Flex Data Services 2 Trial

I'm working on getting the application hosted somewhere accessible to you can try it... Stay tuned.

Sample Installation Instructions

Download the Sample Files

September 11, 2006

Adobe MAX 2006 - Viva Las Vegas Baby!

I think that the theme for MAX 2006: "Beyond boundaries" is dead on! This year's MAX is not just about the familiar players - Flash,Flex, ColdFusion and Dreamweaver... Make sure you check out the LiveCycle sessions. Among these sessions, you'll hear about Titan (the next generation of LiveCycle) - you DO NOT want to miss that one!!! Also, Christoph Rooms will be talking about integrating Flex and LiveCycle - truly going beyound boundaries. On that note, please read Steven Webster's blog entry on Flex and LiveCycle... Other LiveCycle sessions at MAX will cover Designer, Workflow and Forms.

Thanks to Mike Potter for setting up a Google Calendar for the sessions. 

Register for MAX 2006 NOW!