I’d like to share with you my experience of working with LiveCycle ES 8.2. This version has been released in July of 2008. The letters ES stand for Enterprise Suite. This tiger can do a lot of things.
LiveCycle ES server is deployed under a J2EE server of your choice utilizing EJB and Java servlet containers. Its metadata repository is stored in a DBMS. But all this is hidden from people developing business processes. It includes Eclipse based IDE called LiveCycle Workbench that allows them to create and configure business processes using graphic designer. For example, you can design a process of applying for a mortgage as shown below. You connect users and processes by dragging line between the boxes – these connections are called activities, i.e. Approve, Reject.
Depending on the results of execution of each of the sub-processes hidden behind these boxes, the process goes into appropriate state and performs various activities.
The user interaction can be configured with minimal or no coding at all. For example, you can design a PDF form using LiveCycle Designer. A form is an interactive PDF file – the user fills out a mortgage application, and presses the button Submit on the form, which automatically sends an email to one of the approving officers based on the requested mortgage amount. Email end points are also configurable. By the way, a process can be automatically invoked just by sending an email.
If you don’t like the user interface based on PDF forms, you can configure it as HTML or Flex-based UI. Again, you don’t have to program in Flex, the UI is auto-generated – just configure so called form guides with inclusion of audio/video fragments if needed. If you don’t want to deal with these code generators, write Flex code yourself, and using API invoke the sub-processes in your own code.
The same form designed in LiveCycle Designer can be rendered to the user either as PDF or as HTML or inside Flash player. You can create custom renderers too. The augmenter service allows to enable PDF forms for online and offline use of PDF forms.
Interaction with the database is also as simple as adding yet another box to the process in the Workbench. On the property sheet configure the JDBC driver for your DBMS and enter an SQL statement. The rest is the same – the plumbing between the boxes is done via input/output variables. The results of one box execution goes into a set of output variables through which the data is poured into another box via its set of matching input variables.
Another interesting feature of LiveCycle is the rights management service. You can configure document protection on various levels – for a user or for a group. You can restrict access to the entire document or just not allow copy/paste its text. And this can be done not only with PDFs, but also with Microsoft Office documents (.doc, .docx, .xslx, .xsl, and others).
An HTML based administrative UI offer you pretty intuitive administration and configuration of processes.
I just mentioned some features of this powerful enterprise platform, but there is more: designing processes with events, branching out a process with so-called gateways (i.e. more than one person has to approve an application), digital signatures in your PDF forms, embedding bar codes in your PDF forms to name a few.
Even though LiveCycle is a good product, it has room for improvement, that’s for sure.
LiveCycle Workbench is slooow. If in the past I was complaining about Flex Builder, LiveCycle Workbench is even slower. The startup of the server is slow. Adobe offers several turnkey downloads of preconfigured LiveCycle ES 8.2 with JBoss, WebLogic and some other J2EE servers. I’m running LiveCycle on a server with 3Gb RAM and 2.8Ghz CPU, but restarting JBoss that runs LiveCycle ES can take 20 minutes.
The user interface of LiveCycle development tools is not great. I’m surprised that Adobe, the company that creates excellent tools for designers, lags behind in the area of tools for developers. The Workbench has quite a few things that cry for a good UI designer.
But despite these annoyances, LiveCycle ES is a very serious platform that helps in creating and managing long and short running business processes. If you need to automate a business process such as new account offering, secure work with customer documents or an internal business workflow you can either configure it using a commercial BMP tool or build it yourself. Based on our company’s experience, manual programming of just one activity like arranging and processing of user email notifications with attached documents can easily take a couple of months of for a senior developer. With LyveCycle it can be done within a day.
The good part about LiveCycle ES is that you don’t have to use it as is. You can manually program your own front end in Flex that will invoke the processes, but reuse the other functionality that is readily available from LiveCycle ES 8.2. Application developers will be more productive, if equipped with quad CPU machines and 4Gb of RAM. I know that the LiveCycle Enterprise Suite is expensive, but try to negotiate a deal and purchase only those components that you need rather than buying the entire package.
If you’d like to see a demo of an application created with LiveCycle, attend a one day Enterprise Flex Symposium on August 19, 2008 in New York City. We are including a chapter on using LiveCycle in the upcoming book “Enterprise Application Development with Flex” that will be published next Spring by OReilly.
Overall, I like the product. Give it a shot a see for yourself.