Thursday Dec 18, 2014

SOA Suite 12c: Topology Suggestions

In this article, I make some suggestions and provide opinions on topologies for SOA Suite 12c that is commonly used and supported. Only the EDG topology is thoroughly tested by Oracle though.

  • One consideration when deciding on topologies is that Upgrade is always domain wide. All products deployed to the domain must release in the same release train and you should be willing to upgrade all of them at the same time.
  • Centralized administration is one factor but should not be the only reason to put two different products in the same domain. EM Cloud Control could be used as a solution for that. 
  • Typically Service Bus and SOA Suite belong in different tiers in an end to end architecture so they would be in separate domains. This is true if Service Bus is being used on an enterprise scale routing to multiple SOA domains and other services. However if Service Bus is used primarily for mediating and providing routing for SOA Suite Composites in a domain, it would be in the same domain, but typically in separate clusters for optimum performance and scalability. However it  is possible starting in 12c to have Service Bus and SOA Suite in the same cluster.  The only possible reason for this is reducing memory and is uncommon.
  • Governance products like OER and UDDI should not be in a SOA Suite or Service Bus domain. They should be in a separate domain. OER should be in a separate domain from UDDI. UDDI is a third party product and putting it in the same domain may cause upgrade issues.
  • You can target multiple products to the same cluster by targeting the appropriate user extensible server group to  the servers in the cluster.
    1. SOA Suite is targeted to a server by targeting either the user extensible server group SOA-MGD-SVRS or SOA-MGD-SVRS-ONLY.
    2. Service Bus is targeted to a server by targeting either the user extensible server group OSB-MGD-SVRS-COMBINED or OSB-MGD-SVRS-ONLY.
    3. BAM is targeted to a server by targeting either the user extensible server group BAM12-MGD-SVRS or BAM12-MGD-SVRS-ONLY.
    4. MFT is targeted to a server by targeting either the user extensible server group MFT-MGD-SVRS or MFT-MGD-SVRS-ONLY.
    5. ESS is targeted to a server by targeting the user extensible server group ESS-MGD-SVRS. .
  •  BAM sometimes is used outside of SOA Suite and in this case it is typically in a separate domain from SOA Suite. However BAM should be in a separate cluster in the same domain as SOA Suite if it is primarily used with that SOA Suite instance. In BAM 12c, integration between SOA Suite and BAM is a tight integration and is best done in the same domain. BAM and SOA Suite should not be co-located in the same cluster because BAM uses Automatic Service Migration for HA while SOA Suite uses Whole Server Migration. 
  • OWSM Policy Manager must be deployed to only one cluster in a domain. However SOA Suite, OSB, BAM and MFT templates target OWSM PM by default to their own clusters.
    1.  In a domain with such different clusters, put OWSM PM in its own cluster like the EDG suggests. You can target the JRF and the two OWSM PM related user extensible server groups to this cluster.
    2. OWSM PM is automatically targeted to the SOA cluster when you target the user extensible server group SOA-MGD-SVRS which is the default. However if OWSM PM  is already targeted to a separate cluster then you should target SOA Suite to the SOA cluster by targeting the user extensible server group SOA-MGD-SVRS-ONLY.

    3. OWSM PM is automatically targeted to the BAM cluster when you target the user extensible server group BAM12-MGD-SVRS which is the default. However if OWSM PM  is already targeted to a separate cluster then you should target BAM to the BAM cluster by targeting the user extensible server group BAM12-MGD-SVRS-ONLY.

    4. OWSM PM is automatically targeted to the Service Bus cluster when you target the user extensible server group OSB-MGD-SVRS-COMBINED which is the default. However if OWSM PM  is already targeted to a separate cluster then you should target Service Bus to the Service Bus cluster by targeting the user extensible server group OSB-MGD-SVRS-ONLY.

    5. OWSM PM is automatically targeted to the MFT cluster when you target the user extensible server group MFT-MGD-SVRS which is the default. However if OWSM PM  is already targeted to a separate cluster then you should target MFT to the MFT cluster by targeting the user extensible server group MFT-MGD-SVRS-ONLY.
    6. ESS requires that OWSM PM be present somewhere in the domain but itself does not target OWSM PM.
  • Follow the following guidelines for ESS targeting.
    1. In a domain with Service Bus only ESS is typically targeted to the Service Bus cluster.
    2. In a domain with SOA Suite only, ESS is typically targeted to the SOA Suite cluster.
    3. However in a domain with both SOA Suite and Service Bus in different clusters, the best practice is to target ESS to its own cluster. 
    4. MFT always has a private copy of ESS deployed to its cluster independent of any additional deployment of ESS for use by SOA Suite and Service Bus.
    5. ESS currently is positioned not as a standalone scheduler, but a scheduler for SOA Suite and Service Bus and should be in the same domain.
  • MFT is typically in a separate domain from SOA Suite or Service Bus, but could be in the same domain but in a separate cluster.
  • The best practice is to use separate domains for Healthcare and B2B and separate domains for SOA Suite and B2B. This is documented in the B2B and Healthcare documentation.

Friday Nov 21, 2014

SOA Suite 12c: Problem with slow domain creation

We recently heard reports about slow SOA Suite 12c domain creation and slow pack/unpack on Linux platforms.

After some investigation, we found that the reason could be low entropy of the Linux machine.

If you run into a similar issue, check the entropy of your Linux machine with the following command:

$ cat /proc/sys/kernel/random/entropy_avail

Anything less than 500 could cause slow domain creation.

You can use the command rngd to increase the entropy. This command replenishes random bytes to the value of /dev/random by using the /dev/urandom as source.

Start the rngd (as root).

$ rngd -r /dev/urandom -o /dev/random -b

You can configure it by editing /etc/sysconfig/rngd with:

EXTRAOPTIONS="-i -r /dev/urandom -o /dev/random -b -t 60 -W 2048"

Please also see support note 1947394.1 for details.



Tuesday Aug 26, 2014

Best Practices for SOA Suite 11g to 12c Upgrade

A lot of effort has been put in by Oracle to make this major upgrade as smooth and easy as possible. The basic approach is to install SOA Suite 12c in a new oracle home and upgrade the domain and schemas in place. Customers undertaking the upgrade are primarily interested in a smooth upgrade, minimizing the number of manual steps in the upgrade, reduce the down time to a minimum, and minimize or eliminate any changes to client apps that use SOA APIs or web interfaces.

The key to a successful and smooth upgrade experience are the preupgrade preparations that you perform. The upgrade must be planned carefully. If the preupgrade preparations are not performed, there is a possibility that upgrade will fail in the middle or the system does not behave properly post upgrade. The only recourse to a failed production system upgrade is to roll it back from a full backup.

If your SOA domain includes BAM, then the upgrade is more complex because BAM does not support inplace upgrade. Please read the documentation carefully. The basic idea is to migrate the whole BAM deployment to a seperate domain using export/import, remove BAM from the soa domain during upgrade, and upgrade your soa domain to interop with the bam 11g domain. Later slowly and carefully migrate to BAM 12c from BAM 11g.

There are six top steps that should be performed before upgrade of your production system as a best practice.

  • Carefully review the prerequisites for upgrade in the documentation. Some of the prerequisites are checked upfront before we upgrade the schema in Upgrade Assistant but not all. Read all relevant upgrade documentation before starting on upgrade. Some of the key prerequisites are:
  • Can only upgrade a domain that is 11.1.1.6 or 11.1.1.7. Migrate to a supported starting point before upgrade.
  • Can only upgrade a deployment using a 64 bit JVM. Migrate to 64 bit JVM before upgrade.
  • Can only upgrade a production domain not using XE DB and is not an admin server only domain.
  • Can only upgrade a domain using LDAP or DB OPSS policy store. Migrate file based policy store to DB or LDAP based policy store before upgrade.
  • Can only upgrade a domain using a oracle DB of a version supported by the SOA Suite 12c certification matrix. Migrate to a supported DB version before upgrade.
  • Can only upgrade a domain based on weblogic server.
  • Can only upgrade a domain at this time with products deployed that were released in 12c. Example of products not released are OER, OSR, Webcenter, and SOA task UI exposed as portlets (which uses webcenter libraries).
  • Cannot upgrade a domain at this time created with T2P or pack/unpack before SOA Suite 11.1.1.6.
  • Cannot upgrade a domain at this time with multiple products in 12c in separate unclustered managed servers using UMS. Examples are BAM, OSB and SOA. The reason is because after upgrade UMS configuration is at the domain level or the cluster level, but not at a unclustered managed server level.

  • Only JDK 7 is supported. 

  • Always test upgrade first before actually upgrading your production system. Test with a clone of your production system either created with T2P or test with a existing test environment which mirrors your production environment. T2P does not clone the transactional store. It only creates an environment that is identical in configuration to the source. If you create an environment by doing T2P of production, you will first need to populate that environment with sufficiently representative transactions. Documentation for T2P can be found here:

Oracle Fusion Middleware Administrator's Guide 11g Release 1 (11.1.1)
Chapter 21 Moving from a Test to a Production Environment

  • Use the upgraded test environment to test all the composites without redeploying, and to determine the performance tuning to be done to your production system post upgrade. Tuning in SOA Suite 12c is different than 11g. For example work managers are used extensively for threads in SOA Suite 12c.
  • Always backup everything before upgrading your production system and test restoring from the backup in your test system. If the upgrade fails in the middle, you might have to restore the backup.
  • Before upgrade of your production system, purge as many instances as possible that are not essential to keep to make the upgrade faster. Upgrade will upgrade all the open instances when running the Upgrade assistant and closed instances are upgraded lazily post schema upgrade in the background. This can take significant time and disk space. There is currently no estimation tool for amount of disk space or time, so be conservative so upgrade does not run out of disk space.
  • Upgrade all your SOA projects in JDeveloper and test them on your upgraded test system. This is so there is no surprises later when you need to change the project to add a new feature or fix a bug. Currently though there is no tool to bulk upgrade a lot of JDeveloper projects in a script. We are exploring such a tool. However compile and deployment can be scripted.

Upgrade documentation and videos can be found at the following URLs.

Docs Link

Videos Link

Tuesday Jul 22, 2014

What's New in SOA Suite 12c - Rapid Installation

By now, you have probably read about the biggest release of Oracle SOA Suite in the last 5 years...Oracle SOA Suite 12c with major enhancements in the areas of Cloud Integration, Mobile Integration and more.What's New in Oracle SOA Suite 12c White Paper  This "What's New in SOA Suite 12c" blog focuses on one of the many other new features that developers will be thrilled to experience, the rapid installation feature.  Tired of spending an entire afternoon installing Oracle SOA Suite 11g?  Then switch to Oracle SOA Suite 12c and the rapid installation for development is completed in less than 30 minutes.

Here is an excerpt from the "What's New in Oracle SOA Suite 12c" White Paper by Oracle's Simone Geib.  Download it now to learn about this and many other features:

Crucial first steps in every SOA development cycle are the installation and configuration of a SOA development environment, including the Integrated Development Environment (IDE) and the SOA run-time and infrastructure database. For pre-12c versions of Oracle SOA Suite, these steps were challenging, starting with the download of several components and a complicated install and configuration process.

With Oracle SOA Suite 12c, this process has been dramatically simplified with the introduction of the new Quick Start installer. The download consists of a single file that can be obtained from the Oracle Technology Network (OTN). The user only needs to answer a few questions, such as defining the location for Oracle Home, and the installation usually completes in less than 30 minutes as shown in the image to the below.

Installation of Oracle SOA Suite 12c

The Quick Start install provides the foundation for a single user development environment, which includes all Oracle SOA Suite core components - Oracle BPEL Process Manager, Oracle Human Workflow, Oracle Business Rules, Oracle Mediator, Oracle Service Bus, Oracle Technology Adapters, Oracle Enterprise Scheduler, SOA Spring Component and Enterprise Manager Fusion Middleware Control. In addition, Oracle JDeveloper is installed with all SOA IDE extensions and an integrated WebLogic Server.

Download the White Paper here and register for the Oracle SOA Suite 12c Webcast for more information

About

Find Us on facebook Follow us on twitter Oracle SOA Suite forum
SOA PM team
Welcome to the Oracle SOA Suite team blog. We'll use this site for news and information that did not make it into our official documentation for a reason or another.

Search

Archives
« May 2015
SunMonTueWedThuFriSat
     
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
19
20
21
22
23
24
25
26
27
28
29
30
31
      
Today