Archive for the 'Dr LiveCycle Question' Category

Mar 17 2009

Working around a “Turnkey service JBoss for Adobe LiveCycle does not exist” error

Published by Waldo Smeets under Dr LiveCycle Question

Disease:
After installing a new Jboss turnkey instance of Adobe LiveCycle, some people run into an issue when the LiveCycle Configuration Manager is doing it’s work. At about 40%, the configuration manager might display the following error:

Failed on ‘Verifying JBoss for Adobe LiveCycle ES service is installed’
Windows turnkey service JBoss for Adobe LiveCycle ES does not exist

When checking in the Windows Service Panel, indeed there is no such service defined, even though the installer should have created it. I have not been able to replicate this issue, but it happened to me at a customer site and by searching Google it seems that others have run into it as well.

Prescription:
The Google search results tells us that some people forget to set the Java_Home system variable and that you should be using the right version of the JDK. However, this did not seem to be the problem in this case.

Through the install documentation you can find the steps needed to re-create the JBoss for Adobe LiveCycle ES service (page 62). You can use those to try and create the service ‘manually’. For our install, the problem seemed to be in the [LC_INSTALL_ROOT]\jboss\InstallJBossService.bat script file. Somehow the username / password did not seem to work, whatever we tried it failed. Well, sort off: strangely enought the command prompt output first mentions that there was an error, though still reports that the script was executed succesfully. Still no service created though.

The solution was too simple to come up with: just remove the username / password parameters from the script and execute it. This time the script did not fail and as expected created the service for us. Next thing to do is go into the service panel, select the ‘JBoss for Adobe LiveCycle’ service, right click to go to it’s Properties and in the Log On tab specify Log In As This Account. Then specify the username password (in my case “.\administrator” and the password), click OK and you are done.

Now run the LiveCycle Configuration Manager again and most likely it won’t fail anymore cause of the missing service. This seemed to have overcome our issue.

Tip to stay healthy:
When installing the turnkey solution, it is highly recommended to keep the right documentation at hand: Installing and Deploying LiveCycle® ES Using Turnkey.

Did you run into this issue as well? Please let us know if this worked for you or if you have additional tips for our readers.

One response so far

Oct 23 2008

Adobe on Business Process Modelling Notation (BPMN)

Recently I was asked by a large system integrator about Adobe’s standpoint on the Business Process Modelling Notation (BMPN) specification.

Not many people know that Adobe participates in quite some industry standards and supports their maturity/evolution such as BPMN, BPEL, BPDM and XPDL and that we are voting members of standard bodies such as OMG, OASIS and WFMC. Adobe is represented in all these standards bodies and actively participates in reviewing and authoring of these standards. We take a lot of that knowledge back into the decisions we make when developing our enterprise products, especially Adobe’s LiveCycle Enterprise Suite.

BPMN (Business Process Modelling Notation) is a specification for a couple of things:

  • A graphical notation. E.g. How different activities are represented in a process diagram.
  • Semantics of the graphical notation. E.g. What does it mean when you connect activities with a line.

From wikipedia:

The primary goal of BPMN is to provide a standard notation that is readily understandable by all business stakeholders. These business stakeholders include the business analysts who create and refine the processes, the technical developers responsible for implementing the processes, and the business managers who monitor and manage the processes. Consequently BPMN is intended to serve as common language to bridge the communication gap that frequently occurs between business process design and implementation.

Using the Process perspective in LiveCycle Workbench, one can visually create process maps that define and control your automated business processes. Since Workbench implements the main constructs for the graphical notation and the semantics of that notation as specified by BPMN, business analysts can create process diagrams using swimlanes, activities, events and associations following common modeling methodologies (we still have a gap to cover when it comes to modeling of Gateways).

LiveCycle Process Designer

To summarize: if you have been trained in BPMN, you will find it easy to model a process using LiveCycle Workbench.

If you want to read more on Adobe’s comments on BPEL and general standards, you should read this article on de LiveCycle DevNet:

ps: One should know that the current BPMN spec (v1.1) does not specify how a process diagram should be persisted by a modeling tool. There is no XML schema for example. However, there is another specification – XDPL – which does provide this and the BPMN v2 specification currently in review also has a defined schema for persistence. Since standards have not been defined or widely accepted, LiveCycle Workbench currently persist that process definition using custom XML for which Adobe has publish the XML Schema (which after installation can be found under the LiveCycle SDK/schema directory).

One response so far

Oct 22 2008

LiveCycle Data Services 2.6 Capacity Planning Guide Now Available

Finally the Capacity Planning Guide for LiveCycle Data Services 2.6 has been published on the Adobe site. A document like this was asked for a few times during a DrLiveCycle consult, so it seems very welcomed by Flex developers leveraging Adobe LCDS.

As Damon Cooper, Director of Engineering, wrote on his website:

With LiveCycle Data Services 2.6, you can create Adobe Flex applications that can deliver thousands of messages per second to thousands of end users simultaneously:

This document presents the results of software benchmark tests performed by Adobe engineers on my LiveCycle Data Services team and show how LiveCycle Data Services 2.6 can scale linearly and perform under load using various messaging scenarios that represent real-world situations. It provides a starting point for those who need to plan a hardware and software infrastructure that scales in a linear fashion to meet peak period demand.

You can download the Capacity Planning Guide for LiveCycle Data Services 2.6 from www.adobe.com/go/lcds26_cap_planning_guide.

No responses yet

Oct 21 2008

Answering LiveCycle Data Services messaging questions

This month’s DrLiveCycle consult was about leveraging the message feature of LiveCycle Data Services.

Disease:
You are planning the architecture of your LCDS Messaging based application and you asked yourself the following questions:

  • Is the order in which the messages are delivered to the clients always guaranteed, and does that depend on which channel you use?
  • If you have many concurrent consumers/producers connected to your messaging destination, but the consumers/producers don’t generate a lot of messages, would that have more impact on the processor or the memory

Prescription:
DrLiveCycle checked back with the engineering specialists (Jeff Vroom and Mete Atamel helped the doctor with the right diagnose) and learned that the order of messages from server to client are currently only guaranteed when using the RTMP channel. A RTMP channel uses only a single TCP connection and therefore the message order is always guaranteed. The AMF/HTTP channels, on the other hand, may issue concurrent HTTP requests over multiple TCP connections and even though each TCP connection guarantees its message ordering, there’s no message order guaranteed across multiple TCP connections. So, currently the order is only guaranteed with RTMP channels.

So how about memory and CPU usage of low-active consumers? The answer is that an inactive consumer would just take up memory (there is the connection memory, session memory etc.). The only CPU load that an idle messaging client would take up is any load caused by polling, or the heart-beat style functionality that was put into the HTTP streaming channel.

Tips to stay healthy:
The polling overhead is fairly easy to compute based on your settings – how long does the request wait on both the client and the server. The streaming overhead is pretty low… periodically the server has to send some bytes back on the connection to keep it alive. The RTMP channels – when not using the RTMPT HTTP polling mode – don’t have any significant overhead.

One response so far

Oct 06 2008

Sometimes the LiveCycle Turnkey installation wizard does not proceed

Disease:
You have downloaded and extracted the LiveCycle ES Turnkey installer to your desktop. When running the installer it gets stuck at the ‘Type of Installation’ dialog screen, so that you can’t continue installing the software.

Prescription:
Typically why a turnkey install won’t proceed from this point is due to a “Directory too deep for turnkey installation” error.  What this means is that the directory you are running the installer from (say, a network location such as \\SomeServer01\Software\Installations\, or a folder somewhere deep in My Documents and Settings – like your desktop folder) is too distant from the location you are trying to install to and LiveCycle and the path between them is too long for LiveCycle to use. So the solution is to choose for an install directory in e.g. your C:/ drive.

Tip to stay healthy:
LiveCycle can be installed ‘manually’ which allows you to deeply integrate it into applications (java application servers, databases etc) that have already been deployed in your environment. However, it means that there is a lot of configuration that you have to do yourself.

As a developer that is often not the first thing you want to have to bother about, especially not when you start learning what LiveCycle can do for you.  Or, you do not even have all the required software installed at all. In that case the Turnkey install option is a great trouble saver.

Adobe LiveCycle ES Updater 1 comes with Turnkey installers for JBoss, Websphere as well as Weblogic for both Windows and UNIX. As with most of the Adobe software there are trials available online, at www.adobe.com/go/lces_trial.

No responses yet

Sep 29 2008

Load test Flex and LiveCycle Data Services enabled applications

Disease:
You have built an amazing cool and data intense Rich Internet Application with Adobe Flex and expect many users to work with your application. Suddenly you get concerned; how will the server behave when hundreds or even thousands of users visit your site?

Prescription:
Some more background on this problem first; You probably know that a server in production will behave differently when interacting with a RIA than compared to serving traditional HTML apps that you have been building before.  This is mainly because UIs are not generated on the server any more. Though on the other side, there is probably increased data exchange between the client and server and most of all…. ideally you use the ActionScript Message Format (AMF) and Data Management cause it is easier to develop or faster on the client.  But how does it impact the server, can it handle the load and do traditional load testing tools still work?

LiveCycle Data Services Stress Testing Framework admin UI screenshot

Adobe currently hosts the LiveCycle Data Services Stress Testing Framework on Adobe Labs which addresses lots of these questions. The framework helps developers that use LiveCycle Data Services ES 2.6 to load test the server-side implementation of their LCDS applications. The page is stuffed with information on how to use the Framework so definitely spend some time going through all the details. The Data Services Stress Testing Framework is currently in beta form, but available for testing and evaluation. You can download and test the framework and we obviously hope you will provide us your feedback through the Adobe Labs page.

Tips to stay healthy:
The stress / load testing problem itself has been around for long, and many software vendors have created solutions to help web developers test their servers for large rollouts. However, most of these solutions are still based on the traditional HTML web metaphor and do not work well with AMF. Also, the Data Services Stress Testing Framework currently does not support BlazeDS or other AMF server implementations. Adobe is currently working with a number of testing tool vendors to implement all of the data transport protocols available in Flash. It seems that Borland’s SilkPerformer is one of the first to have AMF3 support. I have not worked with it myself and would love your feedback. Obviously if you know of other tools that are useful for load testing your Flex applications, feel free to leave a comment!

ps: I heard internally that we are working on a new Capacity Planning Guide for LiveCycle Data Services ES 2.6 whitepaper, but it has not yet been finalized. I assume it will be posted in the coming weeks on the LiveCycle Development Center so stay tuned.

UPDATE: You can download the Capacity Planning Guide for LiveCycle Data Services 2.6 from www.adobe.com/go/lcds26_cap_planning_guide.

4 responses so far

Sep 25 2008

Get the filename of a document that is the input for a LiveCycle process

Published by Waldo Smeets under Dr LiveCycle Question

Disease:
Your process takes a Document type as input parameter and you need to know its file name somewhere in your process.

Prescription:
In LiveCycle you can use XPath to write expressions to get access to document attributes and write those values into a process variable. The expression to get the filename would be:

getDocAttribute(/process_data/@doc_input, “basename”)

Tips to stay healthy:
The getDocAttribute function is documented on LiveDocs but it does not list all the string names for document attributes that you can retrieve (read on….). There is also a page on Document attributes for attachments and notes.

A really cool way to find out what attributes are available to you, is to use a new feature of LiveCycle Workbench named Record and Playback. This way you just Record a running process which takes a document as input parameter. Then during playback you can introspect that document variable and then Workbench will list all attribute variables available! When I did this in my processes I noticed that the available attributes depends on the document you submit (and it might explain why they are not documented) to just name a few; ‘Length’, ‘ContentType’, ‘Wsfilename’, ‘Basename’ and ‘file’.

[updated on 25th] Added the tip to use Workbench Record and Reply to find document attributes.

No responses yet

Sep 24 2008

How to ‘switch off’ mandatory fields when the subform they belong to becomes invisible

Disease:

Putting objects ‘visible/invisble’ is a great feature to guide end-users to fill-out forms in an easy way. However, when putting a subform, which contains mandatory fields to invisible, the mandatory fields still remain mandatory. This can off course be solved by putting all mandatory fields to ‘non-mandatory’ through scripting but can become a development nightmare. 

Prescription:

The idea is to have a general procedure which would specify for each subform which fields are mandatory.  We will define an array inside the form which will contain a list of mandatory fields for each subform. Secondly, a procedure is built which will loop through this array for the given subform and will put the fields to mandatory/non-mandatory depending on the fact whether the subform has been set to visible/invisble.

  

A sample form can be found here

Tips to stay healthy:

When analyzing your forms take in consideration how objects will be grouped and which fields are mandatory within a group. This makes it afterwards easy to introduce these fields/subforms in the array. 

 

 

No responses yet

Jun 20 2008

Signing pdf documents on Vista using the Belgian eid card

Disease:
When signing a pdf document in Acrobat/Reader on Vista using the Belgian eid card, it is possible that the signing process is interrupted, and that the Acrobat/Reader gets closed.

Prescription:
The actual cause of this problem is not at all related to the Acrobat/Reader software installed.
Vista uses DEP (Data Execution Protection) which, in combination with the current Belgian eid middleware 2.6, causes the signing process to stop. Also Acrobat/Reader is then stopped.

A workaround is to disable the DEP mechanism. This can be done following
http://www.vistax64.com/tutorials/120778-dep-enable-disable.html

A new version of the Belgian eid card middleware has been tested and works well on Vista (with DEP enabled). This version will be made available on http://eid.belgium.be probably in fall 2008.

Tip to stay healthy:
In the mean time testing other middleware can help as well to see if this works. The quickest workaround is to disable DEP, and upgrade to the new Belgian eid card middleware as soon as it becomes available.

No responses yet

Jun 01 2008

LiveCycle Designer for dummies: Tip 1 – Don’t forget to Save As Adobe Dynamic XML Form

Disease:
From scratch you have created your first PDF Form using Adobe LiveCycle Designer and you have defined an area where you on the fly want to render new form elements (for example an Add button to allow multiple lines of products to be added to an order form by the end user).

You looked at other form examples and learned that you can use scripts like form.subform.instanceManager.addInstance() to create new instances of subforms on the page. However, when you Preview the form the new instance is not added to the page.

Prescription:
The most common mistake – I’ve been there myself – is that newbies forget to save the form as an Adobe Dynamic XML Form.

Tip to stay healthy:
There is a good collection of form samples available from the Adobe LiveCycle Designer Help menu. They are all located in the LiveCycle Designer ES installation folder in the directory \EN\Samples\. Once you get more into scripting your forms you definitely should also check the LiveCycle Designer Scripting Samples that are available at www.adobe.com/devnet/livecycle/designer_scripting_samples.html.

2 responses so far