October 15, 2009

SOA Suite on Amazon EC2

2009-11-16 UPDATE: We have now completely scripted the Oracle SOA Suite AMI – users no longer need to manually attach the Amazon EBS snapshot. Updated instructions below.

Last week at Oracle OpenWorld 2009 in San Francisco we announced the availability of a SOA Suite image for developers to deploy on the Amazon EC2 cloud. What does that give you? Access to a fully configured SOA Suite environment (Oracle Service Bus, BPEL PM, Business Activity Monitoring, JDeveloper, Enterprise Manager, etc.), running on a high-end server (8GB RAM, 64-bit Linux). You can now provision new development environment in minutes, without even having to download any Oracle software!

(credits go to Prasen Palvankar for putting that image together)
 

SIGN-UP FOR AMAZON EC2

You need an Amazon AWS account to test SOA Suite on EC2. If you don’t already have one, go to http://aws.amazon.com/console/ and sign up for EC2. Note that you will need a credit card to set up an EC2 account.

 

CONFIGURE YOUR LOCAL ENVIRONMENT TO WORK WITH EC2

In order to work effectively with servers running in the cloud you will first need to set up a few things on your local machine:

  1. Using the AWS Console, create a key pair. This key pair will be used for authentication.

    image
  2. Using PuTTYGen, convert the key for use in PuTTY
  3. Configure PuTTY to use this key. PuTTY will eventually be used for console access to your server on the cloud.
  4. Download NoMachine’s NX Client for Windows. NX will eventually be used for graphical access to your server’s desktop.

PROVISION A SOA SERVER ON AMAZON EC2

When you provision an Oracle SOA Suite server on the Amazon EC2 cloud you will be using two components:

  1. An Amazon Machine Instance (AMI) for SOA Suite (id = ami-acb557c5). Note that AMIs are volatile: if you terminate an instance you will lose any data that you might have stored on that instance.
  2. An Elastic Block Store (EBS) volume that will be seeded using a snapshot (id = snap-dd980db4) that we provide. This volume will be used to persist your data across sessions and AMI start/stop.
Start the SOA Suite AMI
  1. Log in to the AWS console at https://console.aws.amazon.com/ec2/home
  2. Click on “AMIs” in the left-hand side navigation bar and choose to view “All Images”  

    image
  3. Search for “oracle-soa” or AMI ID ami-acb557c5
  4. Select the image and click on Launch
  5. Use the following settings to start the instance:
    • number of instances = 1
    • instance type = m1.large (feel free to go for a beefier type of machines but this one is enough)
    • Key pair name = (select the key pair you created earlier) 

      image
  6. Select the keypair previously created. 
  7. Click on “Launch”. This will start the base image. Note that this can take up to a minute. Go to the “Instances” page and refresh the page from time to time until you see the status of your instance change to “running”. 

    image
  8. Take note of some important information about your instance: the zone it runs in and its public DNS address: 

    image
You should now have a dedicated server running in the cloud.
SSH to your image & Accept license
  1. Using the AWS console, navigate to your running instance and find out its public DNS address: 

    image
  2. Using PuTTY, SSH to the image as the root user: 

    image

    Note that the initial connection might take close to a minute to establish.
    If you get a security alert, click Yes to accept to add the host key to PuTTY’s registry:

    image

    image  
  3. As you log in, a script will prompt you to accept the software license
  4. After the license agreement you will be prompted to set new passwords for “root” and “oracle” (the account you will use when working with the SOA Suite). Make sure to keep track of these passwords.

    image
  5. Next you are prompted to press Enter to set up an Oracle SOA 11g volume (it’s an EBS Elastic Block Store) for use with your AMI. This volume is unique to your environment and is the workspace you use to persist data across sessions. There are 2 options here:
    1. This is the first time you start a SOA AMI: provide this ID to create a new volume pre-seeded with a snapshot we have created: snap-dd980db4.
    2. You already have created an EBS volume for SOA during an earlier session and simply want to reattach it to this AMI: select your volume from the list that the script presents you with.
  6. As part of the process you will have to provide your Amazon Access Key ID and your Secret Access Key. Both of these can be found from the AWS > Your Account > Security Credentials page.

    image
  7. If anything goes wrong during that process, you can restart it by typing “add-soa-volume” from the prompt, as root.

WORKING WITH SOA SUITE IN THE CLOUD

Now that everything is up and running on Amazon EC2, it is time to start doing something with it!
You have two main options here:

  • Run JDeveloper locally, SOA Suite on the cloud.
  • Run everything on the cloud – this is the option we will describe below. For this we use NX as remote desktop technology.

 

CONNECT TO THE GRAPHICAL ENVIRONMENT USING NX AND START YOUR SERVERS
  1. To connect to the desktop in the image use NX (download client from http://www.nomachine.com/download.php).
  2. Start the NX connection wizard, give a name to your session and enter the public DNS address of your AMI as hostname:

    image
  3. Make sure to choose the GNOME desktop and not KDE (which is the default in the NX client) 

    image
  4. Log in as “oracle” using the password that you set up earlier through SSH:

    image
  5. Once you log in you should see the following on your desktop:

    image
    1. Start/stop Oracle DB: double-click on this icon to start the Oracle database
    2. Start/Stop SOA/OSB servers: double-click on this icon to start the SOA Suite
    3. Oracle JDeveloper: double-click on this icon to start JDeveloper on the server
    4. Double-click on this text file to get information about your environment (Middleware home, ports, etc.)
GET TO WORK!

That’s it, you should now be ready to start developing against the Oracle SOA Suite 11g!

 

USING ELASTICFOX TO STREAMLINE EC2 INTERACTIONS


If you are a regular EC2 user you should definitely look into Elasticfox, a Firefox add-on that really speeds up many of the common tasks that EC2 users will have to perform: shutdown/startup, start SSH, etc.

October 6, 2009

Our book “Getting Started with Oracle SOA Suite 11g” is now available!


book-cover-w240

Getting Started with Oracle SOA Suite 11g – A Hands-On Tutorial


By Heidi Buelow, Manas Deb, Jayaram Kasi, Demed LHer, Prasen Palvankar

Release date October 2009
ISBN 184719978X

Buy it from Amazon

Download the lab files (and solutions)

The book that we had been working on since releasing the product, “Getting Started With Oracle SOA Suite 11g – A Hands-On Tutorial”, is now available from Packt Publishing and Amazon!

The book emerged from an internal training we put together to educate various Oracle groups on the 11g release of the Oracle SOA Suite. It is an iterative tutorial that introduces all the elements in the Suite (adapters, Mediator, BPEL Process Manager, Human Workflow, Business Rules, Oracle Service Bus, Business Activity Monitoring, B2B, Enterprise Manager) in a suite of short labs.

Please post below your comments on the book: errata, things that were not clear, things you’d like to see in a subsequent edition (we plan on revising the book for the subsequent releases of the SOA Suite). We’ll do our best to respond!

September 1, 2009

Coolest feature: using Instant Messaging for BPEL notifications

Lucas Jellema posted this great article on how to configure SOA Suite 11g and the new User Messaging Service (UMS) to send notifications using Instant Messaging (XMPP and Jabber in this case):

Chatting from SOA Suite 11g - how BPEL processes can use the XMPP protocol to notify the world

I am getting this into my demos – thanks Lucas!

August 18, 2009

Oracle Service Bus for financial services also certified with new adapters

Following on from Demed's post about the release of Oracle Service Bus 10.3.1, which includes the seven adapters listed below, we have also certified Oracle Service Bus for financial services (formerly AquaLogic Service Bus - Financial Services Edition) with these adapters.
This is for example interesting for existing Oracle E-Business Suite customers, who want to exchange payments messages between Oracle Financials and SWIFT.
Just this morning we have demonstrated this use case to a corporate customer who wants to introduce SWIFT in order to exchange payments messages with their banks in a standard, secure and reliable way.
Of course you're not restricted to this use case. Oracle Service Bus for financial services enables you to integrate with a high number of systems and applications, including SWIFT (via native MQ or file transport), ERP and Database, and provides you with the tools to parse, validate, transform and persist financial messages (SWIFT MT and MX, FIX, FpML, BAI2, EDI payments messages, ...) within a Service-Oriented Architecture.
To learn more, please visit the Oracle Service Bus for financial services OTN page

August 14, 2009

Installing Oracle SOA Suite 11gR1 on Windows

So you want to install the Oracle SOA Suite 11g on your Windows machine, but are too lazy busy to read the documentation, even the “Quick Installation Guide for Oracle SOA Suite”? Well, here is an even more condensed version that includes all the download links you may need. Don’t expect this post to explain things – it is is merely a cheatsheet for Windows users looking at a simple one-machine install.

Downloading the packages

(Before we even get started – have you defragmented your drive lately? If not, why don’t you do this now, before we add more software to your machine! This tends to be a recurring issue in our trainings: people come with heavily fragmented drives and this tremendously slows down installers. Right-click on your drive in “My Computer” > Properties > Tools > Defragment Now)

First, you will need to have an OTN account to download packages – you can sign up here; it’s free. Then head here http://www.oracle.com/technology/products/soa/soasuite/index.html and click on the “Free Download” link in the top right corner.

image

Here are the packages you will need (under 3.5GB for all the installation packages):

  1. Oracle Database 10g Express Edition: the SOA Suite requires a database for persistence. While you can go for the full Enterprise version, the Express edition is a fine choice for a development environment.
  2. WebLogic Server: this will provide the JEE environment (as well as the JMS provider) required to run the SOA Suite (a JEE application).
    Choose the “Oracle WebLogic Server 11gR1 (10.3.1) - Package Installer” (or the corresponding international version). The name of the package is wls1031_win32.exe, 570MB in size.
  3. Repository Creation Utility: this will lay the database schemas that the SOA Suite uses for various persistence tasks (audit trails, etc,). The name of the package is ofm_rcu_win32_11.1.1.1.0_disk1_1of1.zip and it is 282MB in size.
  4. SOA Suite: this is the actual JEE application that contains the SOA engines and that will be deployed on WebLogic.
    Choose the “SOA Suite, Generic” package, its name is ofm_soa_generic_11.1.1.1.0_disk1_1of1.zip and it is 1.5GB in size.
  5. JDeveloper: this is the IDE that you will use to design and deploy your SOA composites.
    Choose the “Studio Edition”. The name of the package is jdevstudio11111install.exe and is 934MB in size.

Installation steps

Install a Database

Install the XE database if you don’t already have one. We will not detail this here.

Run the Repository Creation Utility (RCU)

Run the Repository Creation Utility (RCU) to create the database schemas:

  1. unzip the package you downloaded earlier to C:\ORACLE\11gR1 (for instance).
    Execute C:\ORACLE\11gR1\rcuHome\BIN\rcu.bat.
    Here is the main screen that requires input:

    image
  2. Ignore the warning message (as Heidi mentioned earlier, this simply indicates that Oracle XE is not certified for production use):

    image
  3. Check “SOA Infrastructure” and enter a prefix:

    image
  4. Accept everything after that and create the tables.

Install WebLogic

  1. Execute wls1031_win32.exe
  2. Choose a location for your install – I picked C:\ORACLE\11gR1\MW_HOME

    image
  3. Enter your email if you wish to receive security updates (something you should definitely do if you are an administrator)
  4. Choose a typical install
  5. Accept all other defaults

(no need to run QuickStart since it is really geared towards WebLogic users more than SOA)

Install SOA Suite

  1. Extract the zip file that you downloaded for SOA. I extracted mine to C:\DOWNLOADS\ORACLE\11gR1\soa.
  2. Execute C:\DOWNLOADS\ORACLE\11gR1\soa\Disk1\setup.exe
  3. You might be prompted for a JDK, if so simply enter the path to the one that was installed with WLS: C:\ORACLE\11gR1\MW_HOME\jdk160_11 in my case.
  4. Choose a name for your home directory (for me it will be DMD_SOA1) or accept the default of Oracle_SOA1:

    image

Configure SOA Suite

  1. Go to your SOA home directory, common/bin (for me it will be C:\ORACLE\11gR1\MW_HOME\DMD_SOA1\common\bin) and execute config.cmd
  2. Create a new WebLogic domain
  3. I would recommend you put both Oracle SOA Suite and Oracle Enterprise Manager in the same domain.

    image
  4. Choose a name for your domain (for me it will be dmd_soa_domain1)
  5. Choose a JDK or accept the default (Sun SDK for development environments)
  6. The next screen “Configure JDBC Component Schema” is probably the one that requires the most attention in the whole install process (definitely need to improve this step in subsequent releases!):
    1. If you have picked the default prefix of “DEV_” during the RCU install then check all schemas and then update:
      • service (XE is often the default)
      • hostname (localhost for us)
      • port (1521 is the XE default)
    2. If you have not picked the default prefix, then in addition to the above you will also need to cycle through each schema to update the prefix: Check one schema. Make your change. Uncheck the schema and check the next one. etc.
  7. Ensure that all the tests on the next screen are successful
  8. Don’t select anything on the “Select Optional Configuration” screen
  9. Note down the URL for the admin server

Start the Servers

At this point you should be ready to start the servers!

  • admin server: C:\ORACLE\11gR1\MW_HOME\user_projects\domains\dmd_soa_domain1\startWebLogic.cmd
  • managed SOA server: C:\ORACLE\11gR1\MW_HOME\user_projects\domains\dmd_soa_domain1\bin\startManagedWebLogic.cmd soa_server1

Obviously you should create some shortcuts to easily start these in the future.

Test the Consoles

  1. Ensure you can reach the WebLogic Administration Console: http://localhost:7001/console (if you have installed using default ports).
  2. Ensure you can reach Enterprise Manager: http://localhost:7001/em (if you have installed using default ports).
  3. In Enterprise Manager, ensure that you see the “SOA” folder in the left-hand side navigation tree:

    image
  4. That’s it for the runtime part! Let’s now install JDeveloper so that we can start our development and deploy a few composites to our brand new shiny servers.

Install JDeveloper

  1. Execute jdevstudio11111install.exe
  2. Create a new middleware home for JDeveloper (this is to ensure that JDeveloper doesn’t overwrite the container that we have already installed in the previous steps). For instance C:\ORACLE\11gR1\JDev.

Install the SOA Extension for JDeveloper

  1. Start JDeveloper
  2. Execute C:\ORACLE\11gR1\JDev\jdeveloper\jdev\bin\jdev.exe (if you want the console window) or C:\ORACLE\11gR1\JDev\jdeveloper\jdeveloper.exe (if you don’t care about the console).
  3. “Check for Updates”:

    image
  4. Ensure the “Oracle Fusion Middleware Products” and “Official Oracle Extensions and Updates” centers are checked and click “Next”
  5. Check the “Oracle SOA Composite Editor” and then hit “Next”

    image
  6. You will be prompted for your OTN credentials
  7. At this point JDev will start downloading the extension and restart itself to complete the installation

That’s it. You have just installed a very complete SOA development environment, including everything from the core JEE container, a messaging provider, a BPEL engine, a human workflow and associated worklist, a rules engine, a mediation component, various adapters, a security policy manager, monitoring and management environment and an IDE. Next we will look at a few things we can do with all this!

August 11, 2009

New adapters for Oracle Service Bus

As promised after the BEA acquisition, we have been working hard over the past year to combine the best assets from the Oracle and BEA product lines, with the goal of making these changes in an additive, non-disruptive fashion. One great example of this was recently released: Oracle Service Bus (formerly AquaLogic Service Bus) users can now leverage the Oracle adapters through a new JCA transport! This opens the door to a whole new range of connectivity options. With the 10.3.1 release of the Oracle Service Bus we are certifying the following adapters for use within Oracle Service Bus (in addition to the existing transports):

  • Oracle AQ
  • Database
  • Oracle Applications
  • SAP
  • J.D. Ewards OneWorld
  • Siebel
  • PeopleSoft

It’s great to be able to deliver on promises – and this is just a start: there’s a lot of other goodies coming from the Oracle-BEA cross-pollination in the upcoming OSB releases. Stay tuned.

(documentation for the above adapters can be found here)

July 16, 2009

User blogs covering the Oracle SOA Suite and the 11g launch

I love reading our users’ blogs; always interesting to see how your products are perceived outside of Oracle. And the opinion of these users is that much more valuable that these guys are not simply doing some high-level evaluation of our tools – most of them are actually betting their business on us. image

Here are some of the blogs that I follow (I am linking here to some of their recent posts covering the 11g release):

Does anyone have some other blogs on Oracle SOA Suite to recommend? Share it with us in the comments! (and yes, self-promotion of your blog – if it falls in the category – is accepted!)

And if you are looking for a way to keep track of everything that is being said about the Oracle SOA Suite in the blogosphere I can only recommend the excellent Feedly... (those following us for a long time will recognize that one of the founders of Feedly is no other than Edwin Khodabakchian, ex-CEO of Collaxa, ex-VP of development at Oracle and lead architect for SOA 11g – it’s all connected!).

July 7, 2009

Improve visibility with end-to-end tracing and composite sensors

(this is the first post in a series presenting our “Favorite Features” in Oracle SOA Suite 11g)

In a recent talk at ODTUG Kaleidoscope in Monterey I discussed how visibility should be at the top of the priority list of any SOA architect these days. In the current economic climate, we have to demonstrate that SOA is helping the bottom line, and not over 5 years - but right from day one. Now, what about if we could cut the troubleshooting time of customer-reported incidents by (enter any number between 2 and 10 here) times?

Talking with our users, one of their major pain points they have working with SOA is that its distributed nature makes certain tasks more challenging. Tracking down things for instance. Take the case of an order going through a set of systems: a portal receives it, puts it on the bus, which redirects it to a set of BPEL processes, that in turn dispatch it to some human beings for approval, etc. If something breaks down along the way (of course, since Oracle is unbreakable, the failure is usually due to someone in the approval chain taking an extended lunch break…), you should expect the customer to pick up the phone and ask “where is my order?”. So, how do you figure where the order is stuck and how to recover it? Remember that this order is going through a multi-step, multi-systems process, distributed across multiple physical servers. This is where Oracle Enterprise Manager, the control center for the Oracle SOA Suite comes into play: it is your single view into these systems. The two key features that will help you troubleshoot the above problem are:

  1. end-to-end instance tracing
  2. composite sensors

And yes, these features are available out-of-the-box with Oracle SOA Suite – no need for an extra management product!

End-to-end Instance Tracking

When you execute any composite in 11g this will result in an instance trail in Enterprise Manager. While in 10g this instance trail used to be limited to BPEL and OESB, it now encompasses all SOA products in 11g!

11g-EM-EM-instance-trail

In the above screenshot you can see the instance trail resulting from a purchase order processing application that includes multiple BPEL processes, mediation components, human workflows and some external services. As a matter of fact this instance trail even spans multiple composites - Enterprise Manager was able to identify it was the same message and automatically correlate the traces.

Composite Sensors image

Now let’s turn to the other key feature that greatly enhances visibility in 11g: composite sensors. While instance tracing give us the complete picture of what happened to any given message, we first need to be able to find the message we’re interested - for instance, to answer the question from our angry customer wondering where her order is. This is where composite sensors come into play.

First we instrument the composite:

  1. The application designer identifies the key data fields that need to be tracked, for instance the po_id
  2. The developer attaches a sensor on this field (it’s just a configuration steps, a couple of clicks)

screenshot-00003            screenshot-00004

That’s it on the design side of things.

Now we can use these sensors to search specific instances at runtime! Here’s how it works in Enterprise Manager:

  1. Go to the instances tab for your composite
  2. Click on the Add Field button – you will see a drop-down menu with all the sensors defined in the composite. Pick po_id for instance.
image

 

  1. You can now search for a given instance using the po_id.

image

So next time your irate customer calls, all you will need to ask for is her order ID and in a just a few clicks you should be able to tell her exactly where the order is…

By the way this feature was available in OESB 10g and was known as trackable fields. Now this has been elevated to the composite level and is available to all products.

Sorry for the long post. Hopefully this glimpse into some of the ground-breaking monitoring capabilities built-in SOA Suite 11g sparked your interest! Here are the doc links for these features if you want to learn more:

Installing SOA 11gR1 with Oracle XE

So you are about to install SOA Suite 11gR1? Congratulations, you are starting an exciting journey, one which will reveal many new and wondrous sights along the way. But before you begin, don’t you want to know the answer to the number one question that comes up during installation?

When you choose Oracle XE as your database server, you get a warning message that you need a newer database version. This is because Oracle XE is version 10.2.0.1 and SOA Suite 11gR1 requires Oracle 10.2.0.4 or higher or 11.1.0.7 or higher. However, this warning is for production installs only and for a development install, you can ignore the warning.

Oracle XE is a fine choice for a small-footprint database for developing on SOA Suite 11gR1. Ignore the warning!

July 2, 2009

We just released Oracle SOA Suite 11g!

Two things happened today. First we kicked off this blog to keep you posted on all the latest developments around the Oracle SOA Suite, but more importantly: we released Oracle SOA Suite 11g!

This 11g release is a major milestone that we had been working on for a while now and we are very excited (and a bit relieved too I have to say!) to finally being able to share it with everyone. The number of new features is way too long for this post, but we will be sharing our favorite ones with you over the next coming weeks. But let me give you a few keywords that hopefully will grab your attention: WebLogic Server (WLS) and Service Component Architecture (SCA).

In the meantime, get started with Oracle SOA Suite 11g here:

You will also find several podcasts on the 11g launch page, including a video interview with David Shaffer and a podcast with myself on the key technical themes of this release.

Long live 11g and stay tuned for more blog posts on this release!