              JBoss Enterprise SOA Platform Release Notes

  JBoss Enterprise SOA Platform

   Copyright © 2008 Red Hat, Inc.

        Abstract

   Late breaking and important information related to this release

   -------------------------------------------------------------------

   1. Overview

   2. Issues resolved in the CP01 release

   3. Important Notes

                3.1. Updated Release Notes

                3.2. Standalone distribution versus Embedded EAP
                distribution

                3.3. Included Documentation

                3.4. Embedded Hypersonic Database

                3.5. Securing the server for production environments

   4. Product Support and License Website Links

   5. Obtaining Source Code

   6. Known Issues in this release

                6.1. jUDDI / Scout compatibility between JBoss
                Enterprise SOA Platform and JBoss Enterprise
                Application Platform

                6.2. Settings for JBoss Messaging Datasource

                6.3. Using jms-jca-provider with queues on other
                nodes

                6.4. Aggregator and other stateful actions are not
                supported in a clustered environment

                6.5. Issue with MySQL / Linux / JBPM combination

                6.6. Multiprocessor machines running
                jbpm_orchestration2 quickstart using HSQLDB

                6.7. Some Gateways do not provide load balancing

                6.8. Error running webservice_wsaddressing quickstart

                6.9. JBPM operations fail with constraint violation
                exceptions using Oracle/PostgreSQL

                6.10. Development tools not bundled with JBoss
                Enterprise SOA Platform

                6.11. JBPM Decision node expressions should not
                contain trailing spaces

                6.12. JBPM Performance Issues

                6.13. Issues with JBoss Developer Studio Graphical
                Process Designer and included examples

1. Overview

   JBoss Enterprise SOA Platform is a certified, tested, and
   supported platform suitable for developing Enterprise Application
   Integration and Service Oriented Architecture solutions.

   It integrates best-of-breed open source frameworks and solutions
   including Hibernate, Seam, JBoss Transactions, JBoss Clustering,
   the JBoss Application Server, and JBoss Enterprise Service Bus
   (ESB).

   These community developed and enterprise certified and supported
   products have been combined and tested to provide a solid, robust,
   and scalable platform.

   Powered by legendary JBoss innovation and backed by Red Hat
   engineering and quality assurance, JBoss Enterprise SOA Platform
   is the platform of choice for a new generation of enterprise
   applications.

   These Release Notes contain important information related to this
   release of the JBoss Enterprise SOA Platform.

2. Issues resolved in the CP01 release

     * SOA-76 - Full SOA install does not install ESB related
       examples

     * SOA-223 - SOA-Platform Port 8083, serving all deployed classes

     * SOA-249 - bpm_orchestration1 needs to be updated

     * SOA-375 - Mention that jUDDI/Scout combination in SOA-P may
       not be entirely compatible with EAP usage

     * SOA-396 - assert-jbossremoting-version in base-build.xml
       refers to exec-classpath before it is declared

     * SOA-398 - JAR duplicates in CR2

     * SOA-402 - Rule that uses a 'collect' and 'from' clause
       together causes problem

     * SOA-403 - RuleBase.removeRule() prevents other rules from
       being applied

     * SOA-404 - Rules behave incorrectly (randomly) in
       multi-threaded environment

     * SOA-405 - Document how to run clustered services

     * SOA_406 - The StoreURL attribute for ServiceBindingManager in
       /conf/jboss-service.xml points to the wrong dir

     * SOA-408 - JBPM unit tests many issues with PostgreSQL - jpdl
       test suite hangs

     * SOA-409 - bpm_orchestration2 generates
       "java.lang.NumberFormatException" warnings on dual-core
       systems

     * SOA-413 - Identity component is disabled in jbpm.esb

     * SOA-416 - The CR3 getting started guide refers to the
       Trailblazer - which we removed

     * SOA-420 - error in helloworld_hibernate_action QS readme file

     * SOA-425 - bin/probe.sh should be removed from standalone
       server

     * SOA-427 - schema tool broken for oracle

     * SOA-431 - helloworld_hibernate_action - Hibernate Interceptor
       events onSave, OnLoad return different subset of message -
       onDelete seems OK

     * SOA-434 - Remove unused console from distributed release:
       /opt/GA/jboss-soa-p-standalone.4.2.0/jboss-as/tools/console

     * SOA-436 - The GA builds include (2) versions of drools-core
       and drools-compiler .jars

     * SOA-438 - GroovyActionProcessor implementation is grossly
       inefficient

     * SOA-439 - Groovy security compromised

     * SOA-444 - soa jbpm-jpdl.jar should not contian server or
       designer directories

     * SOA-447 - FileGateways are not safe when used with more than
       one thread

     * SOA-448 - bpm_orchestration deployProcess targets use wrong
       dependency

     * SOA-456 - Infinite loop missing from notifications quickstart
       - client that reads from a topic

     * SOA-458 - Quickstart
       helloworldtopicnotifier/ReceiveJMSMessage.java - wait loop
       pushes CPU to 100%

     * SOA-459 - notifications quickstart references a message
       property that is not set

     * SOA-464 - SOA_Getting_Started_Guide.pdf fix

     * SOA-466 - org.jboss.soa.esb.actions.Notifier - NotifyQueues -
       fails if the queue to be notified has a listener defined

     * SOA-469 - FTPNotify problems with passive mode

     * SOA-471 - Wrong version string at top level SOA-P page

     * SOA-472 - JMSCourier does not look up Topic from JNDI, instead
       it tries to create it

     * SOA-474 - Document the issue with jBPM designer and white
       space

     * SOA-478 - JMS/TX integration only works in very restricted
       circumstances

     * SOA-479 - Document SOA-410 as it is db specific

     * SOA-480 - Document SOA-417 as being db specific

     * SOA-482 - error in schema/build.properties

3. Important Notes

  3.1. Updated Release Notes

   For the latest version of these release notes for JBoss Enterprise
   SOA Platform please refer to the online documentation available at
   http://www.redhat.com/docs/manuals/jboss/.

  3.2. Standalone distribution versus Embedded EAP distribution

   There are two versions of the JBoss Enterprise SOA Platform:

    1. the "standalone" version - standalone-soa-4.2.0

    2. the "embedded EAP" version - soa-4.2.0

   The standalone version is intended for use in environments where a
   lightweight solution is required; for example when a Java
   Application Server is already installed on the network. It does
   not include the JBoss Enterprise Application Platform with JBoss
   Application Server, Seam, Hibernate, or clustering. It provides
   core ESB (Enterprise Service Bus) functionality only.

   The embedded EAP version includes, in addition to the Enterprise
   Service Bus functionality, the JBoss AS server and other
   components and frameworks to provide a fully-fledged application
   development environment. This version provides services such as
   clustering, transactions, and persistence through the JBoss
   Enterprise Application Platform.

  3.3. Included Documentation

   In addition to these release notes, there is a docs subdirectory
   that includes documentation for the JBoss Enterprise SOA Platform.
   In the embedded EAP version of the platform the documentation is
   split into two subdirectories. One contains documentation relating
   to the ESB core of the SOA Platform, and the other contains
   documentation relating to the EAP component. The standalone
   version has the ESB document only in the docs directory.

   The first document that you will probably be interested in is the
   document SOA_Getting_Started_Guide.pdf. This document contains
   instructions to install and configure the platform. You should
   check for the latest version of this guide at
   http://www.redhat.com/docs/manuals/jboss/.

   There is another document GettingStarted.pdf that comes from the
   ESB project. The Trailblazer demo app mentioned at the end of that
   document is not shipped with the JBoss Enterprise SOA Platform.
   However, there are a number of quickstart samples in the
   jboss-as/samples/quickstarts directory, with accompanying readme
   files.

   There is also a very useful and interesting book
   SOA_ESB_JBPM_Integration_Guide.pdf in the docs directory. This
   book demonstrates the integration of JBoss Business Process
   Managmenet (JBPM) with the Enterprise Service Bus (ESB) in the SOA
   Platform.

  3.4. Embedded Hypersonic Database

   The included Hypersonic SQL database provides default "out of the
   box" database functionality for evaluation and development use
   only. It is NOT recommended or supported as a production-use
   database. Technical support is not available for this component,
   and while we are happy to accept bugs filed against this
   component, we do not make any commitment to fix them within a
   specific timeframe.

  3.5. Securing the server for production environments

Warning

   The following are important notes relating to the security of your
   system.

    3.5.1. Securing the JBPM Console

   Two distinct jbpm-console.war files are shipped with the platform.
   One is a development version which allows unauthenticated access
   to deploy processes to the server, for use with a graphical
   process design tool such as JBoss Developer Studio while
   developing applications. The other is a production version which
   secures the console against remote deployment. You should not run
   your server in a production environment with the unsecured
   development version of jbpm-console.war deployed. Doing so poses a
   threat to the security of your server.

      Standalone version of JBoss Enterprise SOA Platform

   In the standalone version, we ship with the unsecured uploader
   console by default. Initially, your server is configured for
   development. The jBPM JPDL will be able to deploy processes.
   Before putting it into production you should secure the console.

        Procedure 1. To secure the console in the standalone version

     * Copy the file /tools/resources/jbpm-console-production.war to
       /server/default/deploy/jbpm.esb/jbpm-console.war.

        Procedure 2. To enable remote deployment of processes in the
        standalone version

     * Copy /tools/resources/jbpm-console-development.war to
       /server/default/deploy/jbpm.esb/jbpm-console.war.

   In each case the file must be overwritten. You can not have two
   versions of the war in the deployment directory.

      Embedded JBoss Enterprise Application Platform version of JBoss
      Enterprise SOA Platform

   In the embedded JBoss Enterprise Application Platform version, the
   "all" profile has the development version of the war, and the
   "production" profile has the production version. By default your
   server is configured to operate in a secure mode. To enable it for
   development mode you need to run in the unsecured mode of
   operation.

        Procedure 3. To secure the console in the embedded EAP version

     * Start the server with no command line parameters or with the
       parameter "-c production"

        Procedure 4. To enable remote deployment of processes in the
        embedded EAP version

     * Start the server using the parameter "-c all"

   We do not recommend running the server on an unsecured network
   with the jbpm-console-development.war deployed or using the all
   profile without appropriate modification.

    3.5.2. Preventing download of non-RMI classes on Port 8083 in the
    standalone version of the server

   If you use RMI (Remote Method Invocation) you will want to make
   Port 8083 of your server accessible to clients. The EAP version of
   the server is configured out of the box to restrict the classes
   that it serves on this port. The standalone server, however, is
   configured out of the box to serve all deployable classes via this
   port. This has been done to allow the quickstarts to function
   correctly by default.

   To change this behaviour you need to modify the following line in
   default/conf/jboss-service.xml:

 <!-- Should non-EJB .class files be downloadable -->
 <attribute name="DownloadServerClasses">false</attribute>

   The value for this attribute is set as true out of the box, and it
   should be set to false in actual production deployment to prevent
   the server from serving all deployable classes on Port 8083.

4. Product Support and License Website Links

      Support Processes

   http://www.redhat.com/support/process/

      Production Support Scope of Coverage

   http://www.redhat.com/support/policy/soc/production

      Production Support Service Level Agreement

   http://www.redhat.com/support/policy/sla/production/

      Developer Support Scope of Coverage

   http://www.redhat.com/support/policy/soc/developer/

      Developer Support Service Level Agreement

   http://www.redhat.com/support/policy/sla/developer/

      Product Update and Support Policy by Product

   http://www.redhat.com/security/updates/jboss_notes/

      JBoss End User License Agreement

   http://www.redhat.com/licenses/jboss_eula.html

5. Obtaining Source Code

   The source code for the JBoss Enterprise SOA Platform is available
   via anonymous ftp from
   ftp://ftp.redhat.com/pub/redhat/soa-p/4.2.0/en/source/soa-4.2.0.zip.

6. Known Issues in this release

   Please check for an updated version of this release note at
   http://www.redhat.com/docs/manuals/jboss/.

  6.1. jUDDI / Scout compatibility between JBoss Enterprise SOA
  Platform and JBoss Enterprise Application Platform

   The behaviour of JBoss Enterprise SOA Platform differs from that
   of JBoss Enterprise Application Platform in some JAXR Scout tests
   in our testsuite. This indicates differences between the jUDDI /
   Scout implementations that may have an effect on applications. At
   this stage there are no known instances of these differences
   affecting applications. However, if you find an instance of this
   difference affecting an application, please inform us.

   Further Information: http://jira.jboss.com/jira/browse/SOA-354.

  6.2. Settings for JBoss Messaging Datasource

   As a workaround for an issue in JBoss Messaging, which will be
   resolved in a future update, specific settings are required when
   configuring a datasource for use with JBoss Messaging.

   If you reconfigure the datasource used by JBoss Messenging, you
   should ensure that this datasource is used exclusively by JBoss
   Messaging, and that the ds file contains the following elements:

 <prepared-statement-cache-size>50</prepared-statement-cache-size>
 <share-prepared-statements>true</share-prepared-statements>

   Further Information: This is a workaround for the issue described
   in http://jira.jboss.com/jira/browse/SOA-288

  6.3. Using jms-jca-provider with queues on other nodes

   To enable a jms-jca-provider to talk to queues on other nodes you
   will need to use a provider adapter.

   You will need to define an MBean representing the provider
   adapter, for example:

 <mbean code="org.jboss.jms.jndi.JMSProviderLoader"
         name="jboss.esb:service=JMSProviderLoader,name=RemoteJMSProvider,server=remote">
     <attribute name="ProviderName">remoteProvider</attribute>
     <attribute name="ProviderAdapterClass">
         org.jboss.jms.jndi.JNDIProviderAdapter
     </attribute>
     <!-- The queue connection factory -->
     <attribute name="QueueFactoryRef">XAConnectionFactory</attribute>
     <!-- The topic factory -->
     <attribute name="TopicFactoryRef">XAConnectionFactory</attribute>
     <!-- Connect to JNDI on the host "remote" port 1099 -->
     <attribute name="Properties">
       java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
       java.naming.factory.url.pkgs=org.jnp.interfaces
       java.naming.provider.url=remote:1099
     </attribute>
 </mbean>

   This MBean should be defined in ha-jndi.xml on the node where the
   queue is really deployed

   Then, in the definition of the jms-jca-provider you need to add a
   providerAdapterJNDI attribute, e.g:

 providerAdapterJNDI="java:/remoteProvider"

   The JCA adapter will use the provider adapter from JNDI to create
   the JNDI context.

   Further Information: http://jira.jboss.com/jira/browse/JBESB-1460

  6.4.  Aggregator and other stateful actions are not supported in a
  clustered environment

   As mentioned throughout the Programmers Guide, high-availability
   services within JBossESB are currently only supported if they are
   stateless. The Aggregator action is a stateful instance, which
   necessarily means that if it is used within the Action
   Pipeline/Chain of a service, that service is no longer stateless
   and therefore cannot be used in a high-availability manner.

   Further information: http://jira.jboss.com/jira/browse/SOA-421

  6.5. Issue with MySQL / Linux / JBPM combination

   When JBPM is deployed on Linux using MySQL version 5.0.45 as the
   database concurrent signalling from multiple threads has been
   detected. As such, this combination is currently not recommended
   for production use. This issue is not present with MySQL version
   5.0.27.

   Further Information: http://jira.jboss.com/jira/browse/SOA-196.

  6.6. Multiprocessor machines running jbpm_orchestration2 quickstart
  using HSQLDB

   Various errors and warnings are logged when running the
   jbpm_orchestration2 quickstart on a machine with multiple CPUs
   using HSQLDB or H2 as the database. The HSQLDB database is
   provided with the platform as an out-of-the-box db provider for
   testing purposes, but it is not a supported production database.
   These errors are not logged when using a Tier 1 supported
   database.

   Further Information: http://jira.jboss.com/jira/browse/SOA-409 |
   http://jira.jboss.com/jira/browse/SOA-417 |
   http://jira.jboss.com/jira/browse/SOA-415 |
   http://jira.jboss.com/jira/browse/SOA-410

  6.7. Some Gateways do not provide load balancing

   In this release the following gateways do not use the
   ServiceInvoker, and therefore do not provide load balancing:

     * JmsGatewayListener.java

     * HibernateInterceptor.java

     * SqlTableGatewayListener.java

   Load balancing is performed when a raw message is transformed into
   an ESBMessage, or when an ESBMessage is sent to an ESB listener.
   Be aware that a raw (non-ESB) message sent through one of the
   above three gateways will not be load balanced.

   When one of these gateways is deployed on multiple ESBs that
   listen to the same clustered queue they will share the load
   through JBM clustering, but there is no failover to another type
   of EPR.

   These gateways will have load balancing enabled in a future
   release.

  6.8. Error running webservice_wsaddressing quickstart

   Running the webservice_wsaddressing quickstart currently results
   in an error. In the standalone version of the platform a message
   is produced on the console: "Cannot provide WebServiceContext,
   since the current MessageContext does not provide a
   ServletRequest". This is caused by a 181 dependency on an
   HttpServlet. Presently, JBoss WS does not inject the
   WebServiceContext into the webservice.

   This is due to a current limitation in JBoss WS, and will be
   addressed in a future update.

   Further Information: http://jira.jboss.com/jira/browse/SOA-348

  6.9. JBPM operations fail with constraint violation exceptions using
  Oracle/PostgreSQL

   When the server is under load JBPM operations have been observed
   to fail with a constraint violation exception when using Oracle or
   PostgreSQL. This has not been observed with MySQL. We've made
   calls to JBPM from the SOA server asynchronous and JBPM should
   retry these failures. It is a consequence of JBPM's optimistic
   locking policy.

   Further Information: http://jira.jboss.com/jira/browse/JBESB-1511.

  6.10. Development tools not bundled with JBoss Enterprise SOA
  Platform

   This version of JBoss Enterprise SOA Platform does not bundle
   development tools such as the Graphical Process Designer (GPD) for
   JBPM-PDL or a Rules Editor plug-in for Eclipse. These development
   tools and others are available in JBoss Developer Studio.

  6.11. JBPM Decision node expressions should not contain trailing
  spaces

   Adding a trailing space to a decision node expression will cause
   an exception to be thrown. To avoid this exception decision node
   expressions should not have a trailing space.

   Further Information: http://jira.jboss.com/jira/browse/SOA-450

  6.12. JBPM Performance Issues

   Some issues have been observed with message throughput in JBPM. In
   this release JBPM logging is disabled by default to address this.

   Further Information: http://jira.jboss.com/jira/browse/SOA-429.

  6.13. Issues with JBoss Developer Studio Graphical Process Designer
  and included examples

    6.13.1. Problem generating a form for a task via (jBPM) GPD if the
    task properties dialog is maximized

   In JBoss Developer Studio, jbpm-jpdl-designer-3.1.2, or
   jbpm-jpdl-designer-3.1.0.SP1, generating a form for a task while
   the properties dialog is maximized results in a dialogue that will
   not respond when the OK button is clicked. Examining the log
   reveals a java.lang.NullPointerException. At this time the
   workaround is to generate the form without the properties dialog
   maximized. Additionally, you should avoid using whitespaces in
   task names, as this can also cause problems with form generation.

   Further Information: http://jira.jboss.com/jira/browse/SOA-250.

    6.13.2. Right-click while editing does not produce context menu

   While editing the processdefinition.xml file of the websale
   example program shipped with jbpm-jpdl-suite-3.2.2 it is not
   possible to edit task properties using a right-click and the
   context menu.

   The workaround for this issue is to navigate to the properties
   view using the menus and left-click, and do the editing from
   there.

   Further Information: http://jira.jboss.com/jira/browse/SOA-190.
