Main

May 27, 2009

Tour de LiveCycle launches

Based on the success of Tour de Flex, the platform evangelism team decided to offer a similar tool exploring the features of LiveCycle ES. They combined forces with Avoka Technologies’ LiveCycle gurus and created a vast collection of content including samples, videos, whitepapers and more.

If you are curious about LiveCycle ES, this is a great first step. If you are an existing LiveCycle ES customer, you will find Tour de LiveCycle a valuable reference tool.

More information on Tour de LiveCycle is available here.

May 26, 2009

Ask the Experts - Thursday, May 28, 2009

Starting Thursday, May 28, 2009 at 9:00 a.m. Pacific / 12:00 p.m. Eastern we are starting a monthly series of eSeminars called "Ask the Experts".  Each month we will feature a new guest speaker with a new topic of interest for LiveCycle developers and architects. This month's featured speaker: Scott MacDonald on The Adobe LiveCycle SDK and Quick Starts.

For details on the events and to add them to your calendar, please go to http://asktheexperts.host.adobe.com/.


March 11, 2009

Security Updates available for Adobe Reader 9 and Acrobat 9

The first set of updates to resolve a critical vulnerability found in Acrobat 9 and Reader 9 has been posted. It is recommended users of Adobe Reader and Acrobat 9 update to Adobe Reader 9.1 and Acrobat 9.1.

March 3, 2009

Re-Directing X11 (UNIX/Linux) Displays to Windows

LiveCycle's InstallShield-based installer is GUI-based. If you are installing LiveCycle on an AIX/Solaris or Linux environment hosted in a datacenter, this will force you to connect to the desktops on those boxes via an X11 server from a remote Windows XP or Vista machine. Cygwin works fine in Windows XP but not on Windows Vista. Cygwin also has a very large disk footprint since in addition to being a X11 server, it is also a complete UNIX environment for Windows.

A much smaller footprint option is Xming. For Windows Vista as well as XP, Xming, along with an SSH client such as PuTTY will work great to export displays to Windows.

1) Download and install PuTTY from here.

2) Download and install Xming from here.
Follw installation instructions here.

3) Start Xming

4) Start PuTTY
Create a profile for your server. Make sure that the SSH->X11 setting is set to 'Enable X11 Forwarding'. Save the profile.

5) Load the profile

6) Connect and login

7) Test using xclock
If the X11 packages are properly installed and configured on the server, you are now ready to test. For example, in Solaris 10, run the command:
/usr/openwin/bin/xclock
and if everything works, you should have a clock window pop up on your Windows machine.

In SUSE Linux Enterprise Server 10, the command is /usr/X11R6/bin/xclock

8) Run the LiveCycle installer.

On some operating systems like AIX, this approach might not work. In those cases, try the following:

1) Create a batch file with the following contents:
@echo off
SET DISPLAY=127.0.0.1:0.0
SET REMOTE_HOST=bladerunner.company.com
SET LOCAL_HOST=10.20.30.40
start Xming -query %REMOTE_HOST% -nodecoration -lesspointer -from %LOCAL_HOST% -notrayicon -clipboard

where bladerunner.company.com is the DNS name of your UNIX host and 10.20.30.40 is the IP address of your Windows client.

2) Copy it to the Xming folder. Run it to start Xming. You should get the UNIX machine's login screen displayed on your Windows desktop. Login.

3) Run the LiveCycle installer.

July 2, 2008

Adobe Reader 9 Download

As you are probably aware, Adobe Reader 9 is now available on the download site. You can find out more about Adobe Reader 9 here: http://www.adobe.com/products/reader/features/. If you are looking for reasons to upgrade, then start here: http://www.adobe.com/products/reader/reasons_to_upgrade/and for general questions go to: http://www.adobe.com/products/reader/faq/.

If you are a LiveCycle customer with external facing forms you should ensure your customer-facing teams are familiar with the new version.

April 4, 2008

Adobe LiveCycle ES Update 1

If you would like to get a taste of the new features and functionality of Adobe LiveCycle ES Update 1 be sure to sign up to the pre-release program here:
http://www.adobe.com/cfusion/mmform/index.cfm?name=prerelease_interest

When you register for LiveCycle ES Updatex 1, be sure to also register for the Acrobat / Reader pre-release program to get the best of both of these new worlds.

November 23, 2007

The Assembler sample application

Another useful web application, included in the Livecycle SDK, but not automatically deployed is the Assembler sample application.

The Livecycle ES Assembler service can assemble multiple PDF documents into one PDF document or disassemble one PDF document into multiple PDF documents. The Assembler service can manipulate documents in various ways such as changing page size and rotating contents. It can insert additional content such as headers, footers, and a table of contents, as well as preserve, import or export existing content such as annotations, file attachments, and bookmarks.

You use an XML-based language called Document Description XML (DDX), to interact with the Assembler service. Find more info on DDX in the LiveCycle ES SDK documentation.

The Assembler sample application gives you an interface to test your DDX files, which improves productivity.

image

Fill in your DDX, link the input files you use to files on your file system, and the execute button will invoke the Assembler service and show you the generated PDF on the left side.

You can find the Assembler sample application EAR in the SDK folder ...

C:\Adobe\LiveCycle8\LiveCycle_ES_SDK\samples\PDFAssembler\WebApp\pre-built

Deploy the EAR file, and you'll be able to access this information through this url :

http://localhost:8080/adobe/livecycle/samples/assembler/

October 12, 2007

Tuning the Sun HotSpot JVM

If you have Adobe LiveCycle ES running on JBoss using Sun's HotSpot JDK, the following tuning ideas might help:

* run the JVM in server mode (using the -server JIT compiler) with -server (slower startup, faster runtime performance)

* enable the 'Parallel (Throughput) Garbage Collector' with --XX:+UseParallelGC (this is new in J2SE 5 update 6 - it enables multi-threaded garbage collection). Our experience with the 'Parallel Compacting Collector' (-XX:+UseParallelOldGC) and the 'Concurrent Mark-Sweep Collector' (-XX:+UseConcMarkSweepGC) have been bad so far.

* Configure garbage collector threads to the number of CPU cores available (n) with:
-XX:ParallelGCThreads=n

* Set both the minimum as well as the maximum heap size to 1 GB with:
-Xms1024m -Xmx1024m This is very important in Windows. The JVM requires contiguous memory for its heap. If it grabs all of the heap it needs right at startup when RAM is not highly fragmented, you can prevent potential OutOfMemoryExceptions later on.

* Set the size of the minimum and maximum 'Permanent Generation' to 256 MB with:
-XX:PermSize=256m -XX:MaxPermSize=256m

* Prevent the garbage-collection of classes when no instances of them are left with:
-Xnoclassgc. This option is a little risky, test thoroughly before applying into production use.

* On Windows, use large memory pages with -XX:+UseLargePages. To do this, you also need to give the user whose authorization JBoss uses to run, the User Right to "Lock pages In Memory". You can do this using Group Policy Editor (gpedit.msc). This option is a little risky, JBoss might have trouble coming up.

For a comprehensive list of options for the Sun HotSpot JVM, please see this.

October 2, 2007

LiveCycle for the SQL Server 2005 DBA

If you are a SQL Server 2005 DBA tasked with configuring a database for Adobe LiveCycle ES 8.0.1, the following scripts will help. You can run them using SQL Server Management Studio in the following order as the Instance-wide Administrator (sa). Make appropriate changes for your server envrionment.

Best practice (from a LiveCycle perspective) calls for:
1) the instance login, the database user and the schema to be exactly the same
2) this to be less than or equal to 12 characters in length
3) this to not contain any characters other than letters and numbers (no hyphens)

Also, SQL authentication is preferred over Windows authentication.

Minimum required storage is:
LC ES (8.0.1) : 300 MB, 500 MB is better
LC ES Update 1 (8.2.1) : 800 MB, 1 GB is better

Create Database
Create Instance Login
Create Database Schema
Create Database User
Alter the Schema
Add dbowner role to Database User

Please note: The Database Instance "Login" name and the LiveCycle Database "User" name have to be the same for LCM bootstrapping to work.

After LiveCycle has been completely configured (all users in your directory have been synchronized with the LiveCycle database), run the following system stored procedure to update database statistics:
sp_updatestats;

To determine the amount of storage used by the LiveCycle database, run the following system stored procedure:
sp_spaceused;

October 1, 2007

Configuring JBoss 4.0.3 SP1 for SSL

- Stop JBoss if it is running.

Assuming you are on Windows:
- Change directory to the \conf\ folder of your JBoss configuration ("all").

Run the JDK's keytool to create a keystore and a key for SSL
Assuming the JDK's bin folder is at C:\Java\jdk1.5.0_12\bin\:
C:\Java\jdk1.5.0_12\bin\keytool -genkey -keyalg RSA -validity 3650 -alias livecycle -keystore chap8.keystore -storepass livecycle -keypass livecycle -dname "cn=server3.can.adobe.com, OU=Technical Marketing, O=Adobe Systems Canada Inc., L=Ottawa, ST=Ontario, C=ca"

Edit Tomcat's server.xml, uncomment the entry for enabling SSL, change the keystore password
- Go to %JBOSS_HOME%\server\all\deploy\jbossweb-tomcat55.sar\
- Edit server.xml with something other than Notepad or Wordpad (UltraEdit recommended)
- Uncomment entry that says SSL/TLS Connector configuration
- Ensure the value of keystorePass is changed to the proper password ('livecycle' in the example)
- Save and re-start JBoss

The console log should now have an entry that says [Http11Protocol] Starting Coyote HTTP/1.1 on http-0.0.0.0-8443

Verify using a browser:
- try the LiveCycle AdminUI URL https://server:8443/adminui
- ignore the warning about the "security certificate not having been issued by a trusted certificate authority". It is "normal" in this case because we are using a self-signed certificate.
- Make sure the Login page is loaded

September 26, 2007

JBoss MQ Tables

Configuration for LiveCycle ES in JBoss 4.0.3 SP1 re-directs JBoss MQ persistence from the embedded HyperSonic DBMS to whatever database the LiveCycle repository uses. The tables related to JBoss MQ are the following and should not be dropped:
- HILOSEQUENCES
- JMS_MESSAGES
- JMS_ROLES
- JMS_SUBSCRIPTIONS
- JMS_TRANSACTIONS
- JMS_USERS
- TIMERS

August 1, 2007

Adobe Max coming up !

If you are a Livecycle developer you should attend Adobe Max this year ! There will be one in North America (Chicago), Europe (Barcelona) and Japan. More information on the Adobe Max website.

There will be a number of different sessions on Livecycle, but the one session i need your help on is the Livecycle bootcamp session. In the bootcamp session a number of product specialist and Livecycle developers can share experiences, code samples, best practices, etc ... So it's a great session for every Livecycle developer to get to share and learn together with the community.

If you are planning to come to this session, post your questions as a comment to this blog item if you want to get them answered during this session ... If you have some code or a best practice you would like to share with other developers ... ofcourse you are also more then welcome !

You can find more info here.

July 31, 2007

what are those SIB...tables in my database??

If you are a LiveCycle Administrator, you might wonder about the presence of some tables in your LiveCycle database whose names all start with SIB. SIB is an acronym for System Integration Bus.

This only applies if you are running LiveCycle 7.2.2 or 8.0.1 (on WebSphere 6.0 or 6.1 respectively) with WebSphere AS Embedded Messaging.

The tables will be called:
SIB000
SIB001
SIB002
SIBCLASSMAP
SIBKEYS
SIBLISTING
SIBOWNER
SIBXACTS

These are the tables used by the WebSphere AS Embedded JMS Engine as a datastore for persisting messaging data as well as its own configuration information. These are absolutely required for the proper functioning of LiveCycle.

Before backing up the LiveCycle database, you should shutdown the appserver instances hosting LiveCycle as well as any messaging server instances used by LiveCycle for JMS messaging. This is because the messaging engines maintain exclusive locks on these tables.

April 13, 2007

Adobe Idol

At Adobe we are encouraged to think about innovation and look for new opportunities. In the Ottawa, Canada office we have set up a group that meets on Friday afternoon to discuss ideas and trends. One of the founders of this group and an euthusiastic member is LiveCycle Product Manager Mark Manca.

On a recent trip to headquarters in San Jose, Mark presented one of his ideas to an internal innovation review board run by Rick Bess called the Idea Showcase. Rick is a mentor for Adobe employees with bright ideas and is a huge supporter of the Ottawa group.

A writer from Fast Company was there to capture the event and likens it to software's version of American Idol. See the article and read about Mark, our local Adobe Idol on Fast Company's website or pick up a copy of the magazine's May edition.

Way to go Mark!

April 5, 2007

Configuring WebLogic AS 9.2 for Policy Server SSL Access via Acrobat

Here are my notes for configuring SSL using a self-signed certificate on WebLogic 9.2 on Solaris 10:

Make sure the following environment variables are created
- JAVA_HOME (/usr/local/bea/jdk150_04/)
- PATH ($JAVA_HOME/bin:$PATH)

Confirm settings by the following commands:
which java should return this:
/usr/local/bea/jdk150_04/bin/java

Create a self-signed certificate valid for 1 year (365 days) using Sun's keytool with a command that resembles this:
$JAVA_HOME/jre/bin/keytool -genkey -keystore /usr/local/bea/weblogic92/server/lib/eTechIdentity.jks -storepass etechpass -keypass etechpass -keyalg RSA -validity 365 -alias etechalias -dname
"cn=bladerunner2.can.adobe.com, ou=Technical Marketing, o=Adobe Systems Canada Inc., st=ON, c=CA"

where:
bladerunner2.can.adobe.com is the fully-qualified domain name of the server

You might have to change ownership of this file (eTechIdentity.jks) to the user WebLogic runs as.

In the Admin Console, click the "Lock and Edit" button so that you establish an exclusive Admin lock on the domain to make configuration changes.

In the WebLogic Admin Console left navigation pane, navigate to :Environment:Servers::General
- check the checkbox for 'SSL Listen Port Enabled'
- for SSL Listen Port:, enter a number that is one up on the server's T3 port. Make sure the port is not being used on the box. The command netstat -an will tell you that.

Navigate to :Environment:Servers::Keystores
- For the 'Keystores' dropdownlist, choose 'Custom Identity and Java Standard Trust'
The page will take some time to reload.

- For 'Custom Identity Keystore', copy-paste (avoid typing) the full qualified path to the keystore you created at the beginning (/usr/local/bea/weblogic92/server/lib/eTechIdentity.jks)
- For 'Custom Identity Keystore Type', the value is "jks"
- For 'Custom Identity Keystore Passphrase:', use the password you used for the keystore ("etechpass")

The following might be optional, I am not sure:
- For 'Java Standard Trust Keystore Passphrase', the password is "changeit" (this comes form Sun Microsystems).

Navigate to :Environment:Servers::SSL
- For 'Private Key Alias:', the value is the alias you chose when you created the key ("etechalias")
- For 'Private Key Passphrase:', the value is the key password you chose when you created the key ("etechpass")

Click 'Save' and then 'Activate Changes'.
Re-start the managed server.

Start IE and point it to https://server:SSLport/adminui
Choose to Proceed to the Website (IE 7)
Click on the "Certificate Error" button at the top, to the right of the address bar (IE 7) and import the certificate.
Re-start IE, point it to https://server:SSLport/adminui and this time there should be no error messages or warnings.

Start Acrobat Professional 8 and point it to the Policy Server (use the SSL port).

February 19, 2007

XForms converter now on Adobe Labs

Today, we posted an alpha release of the xForm Converter utility on Adobe Labs. Projects on Adobe Labs are not final releases. We’re excited to have you review our work in progress, just keep in mind that neither the quality nor the features are complete yet. We want to show you our direction and listen to your feedback so we can continue to incorporate your needs into future betas and releases.

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 proprietary 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.

xForms does not specify the presentation of a form, so 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 is a great head start to people that wish to take their xForms to the next level and leverage Adobe's presentation capabilities.

We have provided a conversion method through both the console and an easy to use graphical user interface.
The output from either the console or UI is an *.XDP. The *.XDP file can be opened in LiveCycle Designer 8.0. If you don't have LiveCycle Designer 8.0, you can download a trial version as part of the Acrobat 8 Professional trial .


February 6, 2007

Adobe Products certified by SAFE

Today we announced that we have been certified by SAFE(Signatures and Authentication for Everyone)-BioPhama Association. Acrobat, Reader, LiveCycle Reader Extensions, and LiveCycle Document Security server are the first software products ever certified. This certification will allow the pharmaceutical industry to use Adobe products to create secure and legally compliant collaboration and document control solutions Read all about it

January 26, 2007

LiveCycle and Wikipedia

I was doing a quick search in Wikipedia for an offical definition on some typographic controls and decided to plug in LiveCycle for fun. I was suprised to find an entry for both LiveCycle and LiveCycle Designer. Both of these entries are quite detailed and largely correct. The definition of LiveCycle provides a good map of the products and desribes their core purpose. The defintion of LiveCycle Designer describes the history of the electronic forms technology that Adobe aquired from Accelio. The Designer entry doesn't mention the release of version 8 with Acrobat 8 in November of 2006. I'll have to go in and add that.

December 13, 2006

LiveCycle For Santa - Of Course!

JP Terry from SmartDoc Technologies sent me a Christmas card that I received today. If you're familiar with LiveCycle, you're going to like this.

LiveCycle could do wonders for Santa... Rather than the simple pen and paper method we have now, kids everywhere could be filling in their dynamic PDF Christmas lists, and then submitting them to Santa's LiveCycle installation, where LiveCycle Workflow could interface with the elves' SAP system, possibly calling into web services from Amazon and others to order the goods. The addition of LiveCycle Policy Server could ensure the integrety of the wishlists, so others wouldn't be able to "request" gifts for others - we wouldn't want someone to end up with a lump of coal now.

December 4, 2006

LiveCycle Install-Config Doc Versioning

With release 7.2 of LiveCycle, the install-config documentation is now hosted on the Adobe website at http://www.adobe.com/support/documentation/en/livecycle . The product install binaries themselves only contain PDF files that point to the online location of the full document.

As a result of this change, versioning has become an issue, especially when discussing install-config documentation so that everybody is on the same page!

The version info is provided on page 2, at the top left. It will say something like as follows:

© 2006 Adobe Systems Incorporated. All rights reserved.
Adobe® LiveCycle™ 7.2 Installing and Configuring LiveCycle for JBoss® for Microsoft® Windows® and Linux®
Edition 1.2, November 2006

The key information is the Edition and the Date, which in this case is 1.2, Nov 2006.

This only applies to the install-config guides. API reference guides, developer guides, javadocs and other documentation are still shipped with the product binaries.

November 23, 2006

LIveCyclePortal.org Provides Easy Access to LiveCycle Resources

There's a new community website up that's dedicated to LiveCycle resources. The site, which is run by community members, is called livecycleportal.org, and provides a single page that outlines the latest blog postings from MXNA for LiveCycle, a number of LiveCycle links, easy access to all the forums, datasheets, patches and more. Check it out.

Oh, and the site is built using ColdFusion on the backend.

November 16, 2006

PDF of LiveCycle Resources

Today I presented an overview of the resources that are available to LiveCycle developers to a group of developers here who where here at Adobe. They requested a PDF document that they could send out to fellow LiveCycle developers, so here it is. The original blog post had an incorrect URL for the LiveCycle mailing list. Its actually at groups.google.com/group/livecycle/. Note that there's no "s" on the second group.

November 14, 2006

How do you learn LiveCycle software?

Adobe is running a survey to try and learn how developers learn Adobe LiveCycle software. Take the brief survey and let us know how we can improve our communications with you, and let you build solutions with LiveCycle software more quickly.

October 19, 2006

LiveCycle Community Resources

There are a number of LiveCycle community sites and resources that are available to the public, but its come to my attention that some people don't know all of them, or what's available and when you'd use which one. Here's a list of what I consider to be the top resources for LiveCycle.

The following lists a number of resources available to LiveCycle developers.

LiveCycle Developer Center - The LiveCycle Developer Center is the best source for Adobe LiveCycle content. Its updated on a weekly basis, so you’ll want to check back every week for new content. New content is almost always posted on the front page before being moved to subsections, so once you’ve browsed the subsections, hitting the front page on a weekly basis should be all you need.

MXNA Aggregator - MXNA aggregates a number of blogs into a single source, and is a great way to see what the Adobe community is talking about. Search for “livecycle” to filter out unwanted content.

Adobe Forums – There are LiveCycle specific forums on this site. These forums are monitored by Adobe employees, including Product Management and Developer Support. There’s no guarantee you’ll get an answer to any question, you’ll need to register for the Adobe Enterprise Developer Program if you want that guarantee, but a lot of people watch these forums on a regular basis.

Adobe LiveCycle Blog – Fairly new, this blog will feature content from LiveCycle team members, with a variety of technical detail. (You're reading this right now).

Stefan Cameron’s Blog – Stefan Cameron is an engineer on the Adobe LiveCycle Designer team, and blogs regularly about the product.

Adobe LiveCycle Mailing List – This email based group allows developers to stay in touch with one another, and is monitored by many Adobe employees as well. The questions on this list are for more advanced users than in the LiveCycle Forums.

Adobe Enterprise Developer Program - $1495 subscription program provides unlimited email based support for one year, as well as access to the individual LiveCycle products, on all operating systems and application servers. If you are a member of the program, you can sign in at http://partners.adobe.com/asn/main.do to download the individual pieces of LiveCycle software.

Adobe LiveCycle Toolbox – The LiveCycle Toolbox is a pre-configured LiveCycle install, running on Windows / JBoss / MySQL. Removes the need to manually install the LiveCycle products, but is not available on other platforms or application servers. This download is now free.

Email – Email the Developer Relations team with questions about LiveCycle software, community resources or any other related questions.

October 14, 2006

Configuring JBoss on Windows 2003 to Startup on Server Reboot

There are several ways of configuring the JBoss application server to automatically startup on server reboot. JBoss itself recommends using third-party tools to set up a Windows service for this.

There is another, easier way - configure it as a scheduled task.

Once you have fully configured JBoss 3.2.5 for LiveCycle and have verified that it works:
- go to Start->All Programs->Control Panel->Scheduled Tasks->Add Scheduled Task
- click Next
- browse to %JBOSS_HOME%\bin\run.bat
- Give it a name like "JBoss"
- click the radiobutton for 'When my computer starts'
- provide a local userID and password JBoss can use to run
- check the checkbox for 'Open advanced properties for this task when I click Finish'
- in the 'Task' tab, add -c all to the 'Run' field so that it looks something like this : C:\jboss-3.2.5\bin\run.bat -c all This 'c' switch will tell JBoss to run using the 'all' configuration.
- in the 'Settings' tab, uncheck the checkbox for "Stop the task if it runs for 72 hours 0 minutes". We don't want it stopping for any reason.
- uncheck all checkboxes in the 'Power Management' section. You probably won't be running JBoss AS on a laptop running on batteries!

October 9, 2006

Running Multiple JBoss Instances On Same Server

In many customer situations, you might be required to run multiple JBoss instances on the same server. For example, LiveCycle Workflow on JBoss 3.2.5 and BAM (Business Activity Monitor) on JBoss 3.2.6

To avoid port conflicts, you will have to change the ports for one of the JBosss instances. Here is a list of what you'd have to do if you are using the "all" configuration:

Please note : some of these recommended ports might conflict in your particular environment. In such cases, you might have to experiment until you get one that does not conflict. The JBoss server.log will tell you if there are any port conflicts. In Windows, you can use TCPView from Microsoft to inventory currently used ports. On Linux, you can use the netstat -an command.

%JBOSS_HOME%\server\all\deploy\jbossweb-tomcat50.sar\server.xml
Change HTTP/1.1 Connector port from 8080 to 8888
Change AJP 1.3 Connector port from 8009 to 8099
Change SSL/TLS Connector port from 8443 to 8493

%JBOSS_HOME%\server\all\conf\jboss-service.xml
Change WebService port from 8083 to 8899
Change NamingService Port from 1099 to 9999
Change RMIport from 1098 to 9998
Change RMIObjectPort from 4444 to 9444
Change PooledInvoker ServerBindPort from 4445 to 9445

%JBOSS_HOME%\server\all\deploy\cluster-service.xml
Change ha.jndi.HANamingService port from 1100 to 1190 and correspondingly in...

%JBOSS_HOME%\server\all\deploy\jms\hajndi-jms-ds.xml
Change java.naming.provider.url from 1100 to 1190

%JBOSS_HOME%\server\all\conf\jacorb.properties
Change OAPort from 3528 to 9528
Change OASSLPort from 3529 to 9529

%JBOSS_HOME%\server\all\deploy-hasingleton\jms\oilservice.xml
Change ServerBindPort from 8090 to 8099

%JBOSS_HOME%\server\all\deploy-hasingleton\jms\oil2-service.xml
Change serverBindPoa from from 8092 to 8199

%JBOSS_HOME%\server\all\deploy-hasingleton\jms\uil2-service.xml
Change ServerBindPort from 8093 to 8993. For the "default" configuration (BAM), the uil2service.xml is in /default/deploy/jms/

%JBOSS_HOME%\server\all\deploy\snmp-adaptor.sar\META-INF\jboss-service.xml
Change from port 1162 to 1182 and correspondingly in...

%JBOSS_HOME%\server\all\deploy\snmp-adaptor.sar\managers.xml
Change from port 1162 to 1182

For JBoss 4.0.3, this article might help.

October 5, 2006

Configuring JBoss 3.2.5 With A Real (CA-signed) SSL Certificate

1) Create a keystore as well as a certificate-key pair using the following command:
$JAVA_HOME\jre\bin\keytool -genkey -keystore [keystore_filename]
-storepass [keystore_password] -keypass [keystore_password] -keyalg RSA
-validity 365 -alias [alias_name] -dname
"cn=[fully_qualified_DNS_name_of_server], OU=[department_name],
O=[company_name], ST=[complete_state_or_province_name], C=[two-letter_country_code]"


note: the quotes are required. -storepass and -keypass should be the same. Make sure you get the fully_qualified_DNS_name_of_server exactly right, if not you'll regret it later. The country_name should be the two-letter code for the country. You can get the IANA-provided two-letter TLD codes for all countries here: http://www.iana.org/root-whois/index.html. IANA is the Internet Assigned Names Authority. TLD = Top Level Domain.

2) Create a Certificate Signing Request (CSR) for the certificate in the certificate-key pair you just created with the following command:
$JAVA_HOME\jre\bin\keytool -certreq -keystore
[full_path_to_the_keystore_filename] -alias [alias_name] -storepass
[keystore_password] -keypass [keystore_password] -keyalg RSA -file
[filename_for_the_CSR]


3) Get the customer's IT person in charge of the customer's SSL certificates to login to their Certificate Authority's website to request the Certificate Authority to sign the new certificate with their own certificate. Copy-paste the contents of the [filename_for_the_CSR]. It'll look like gobbledygook. The Certificate Authority can be VeriSign, Entrust, Thawte or any other.

4) Get the customer's IT person in charge of the customer's SSL certificates to forward to you the response from the Certificate Authority. If it is in the body of an e-mail, copy-paste the contents (including the BEGIN CERTIFICATE and END CERTIFICATE lines) into a text file, save as "All Files" with any filename like CA_signed_cert.cer

5) Import the CA-signed certificate back into your keystore with the following command:
$JAVA_HOME\jre\bin\keytool -import -trustcacerts -keystore
[keystore_filename] -storepass [keystore_password] -alias [alias_name]
-keypass [keystore_password] -file [filename_for_the_CA_signed_cert]


If you fail to add the -trustcacerts parameter, you will get a "failed to establish chain from reply" error. This is because the file cacerts in $JAVA_HOME\jre\lib\security\ contains the public certificates of all the popular CAs like VeriSign, Entrust and Thawte. To determine the contents of the cacerts file (to verify if your CA is listed there), use the following command:
$JAVA_HOME\jre\bin\keytool -list -keystore $JAVA_HOME\\jre\lib\security\cacerts -storepass changeit

6) Copy the keystore file to $JBOSS_HOME\conf\

7) Edit server.xml in $JBOSS_HOME\server\all\deploy\jbossweb-tomcat50.sar\ to point the SSL/TLS Connector to the new keystore file like this:
keystoreFile="${jboss.server.home.dir}/conf/" keystorePass=""

8) re-start JBoss.

9) Access it with the URL https://[fully_qualified_DNS_name_of_server]:8443. It should work and there should be no warning dialogs.

October 4, 2006

LiveCycle Install-Config Toolbox

If you are heading out for an installation of LiveCycle, you will find the following tools useful. All, except AquaDataStudio, are Windows-only.

- LDAP Browser from Softerra : http://www.softerra.com/download.htm : can handle almost all of the LDAP directrories out there in addition to Active Directory

- AquaDataStudio from AquaFold : http://www.aquafold.com : can handle all of the databases supported by LiveCycle

- BareTail from Bare Metal Software : http://www.baremetalsoft.com/baretail : highly customizable log reader that can be customized to read server logs for WebSphere, WebLogic and JBoss

- CPU-Z from CPU-ID : http://www.cpuid.com/cpuz.php : provides very detailed information regarding your server hardware including processor, memory and the motherboard

- TCPView from SysInternals (now owned by Microsoft) : http://www.sysinternals.com/Utilities/TcpView.html : provides details of all ports used by all running applications, BIG help in resolving port conflicts

- Process Explorer also from from SysInternals : http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx : a much more functional tool than Windows Task Manager

- Ethereal Packet Analyzer from Ethereal : http://www.ethereal.com/download.html : helps troubleshoot authentication issues, especially for LiveCycle Policy Server

September 29, 2006

LiveCycle 8 gets SOA right!

A lot of vendors are claiming to be “SOA compliant”; whatever that means. Unless you have made such a claim within the context of an established metric, such as the OASIS RM for SOA or IBM’s Big Red Book of SOA Patterns, such claims are largely hollow. At a recent Syscon event in New York, my colleagues and I howled in laughter as we overheard someone talking about how with their company’s offerings, within 3 years many people might be able to do SOA, AJAX and ESB together. So before I make ay claims, I want to quantify a few things about SOA.

The OASIS Reference Model for SOA, a well scrutinized committee specification, provides the context for the rest of this blog entry. The RM alone is not sufficient to make the claim I have in the title, so I will augment it a bit. For SOA to be done right, a ubiquitous set of protocols must exist to facilitate the widest possible range of service bindings as possible with the minimal set of complexity. Once a large group of services exist using a common set of protocols and/or standards, a virtual bus exists where services may be consumed by consumers supporting the set of protocols and standards. This is what is often called a “service bus”. Additionally, a common processing model and a common set of invocation patterns aid the virtual bus in providing consumers an easy onramp to use the services on the bus.

Adobe LiveCycle has matured a lot in version 7.0+ and lots of SOA-ish behavior is present in the current version, but some real breakthroughs are coming in LiveCycle 8 as it gets a specification for service developers to use to create such a bus. This is partly due to SOA in general maturing and Adobe’s vigilance in keeping atop the standards around SOA and Web Services.

For starters, simple tasks like standard naming conventions for services across the entire platform are part of the core design specifications. This makes is far easier for developers to intuitively find services via the service registry. The service registry itself is a major step forward from LiveCycle 7. Event though LC7 employed a service registry, it was likely under-optimized for use within the platform and largely tasked with form management functions in LC 7. In LC 8, the core service registry is a central resource that can be used by the entire platform for registering and referencing services.

In LC8, Services are layered more consistently. Rather than each component simply determining its’ own level of abstraction for an API, the unified service designs classify services into different layers. The lowest layer is the native API’s for a component (such as a Java Interface) and connectors bridge the gaps to map the endpoints from various wire protocols to the underlying interfaces. Managed transparency is present and the interfaces are also agnostic to the wire protocols used by consumers to deliver their requests to the service container.

LiveCycle 8 will be previewed at MAX this year in Las Vegas by Matt Butler. I look forward to attending the talk and finding out more. It should be a pivotal moment in the life cycle of Adobe LiveCycle as the SOA story continues to mature.