Archive

Posts Tagged ‘integration’

InfoQ videos: Using a Service Bus to Connect the Supply Chain

December 22nd, 2010 No comments

The session I presented at the SOA Symposium 2010 is now available online via InfoQ. You can find it as a Service Bus case study. It is introduced as:

a case study of using a service bus in a supply channel connecting a wholesale supplier with hundreds of retailers, the overall context and challenges faced – including the integration of POS software coming from different software providers-, the solution chosen and its implementation, how it worked out and the lessons learned along the way.

Watch the video, download the mp3 or sheets.

SOA Symposium 2010 videos available via InfoQ

November 22nd, 2010 No comments

This year, in partnership with InfoQ.com (the largest community site for technical architects), 1/4th of the SOA Symposium sessions was filmed and will be published on InfoQ. From early November InfoQ has started publishing these videos. At the time of writing the following videos are available:

Cloudy SOA

This session on Cloudy SOA by Mark Little covers:

an introduction to cloud computing pointing to the fact that the middleware needs of the cloud are similar to SOA’s, showing some of the benefits of running SOA along with the cloud, asking if cloud computing and SOA should evolve together and giving some future directions to consider.

BPM Top Seven Architectural Topics in 2010

Hanjo Normann’s session presenting the BPM Top Seven Architectural Topics in 2010 covers:

how to design a BPM/SOA solution including: modeling human interaction, improving BPM models, orchestrating composed services, central task management, new approaches for business-IT alignment, solutions for non-deterministic processes, and choreography.

Resurrecting SOA

Anne Thomas Manes in her Resurrecting SOA session goes into details on why she:

believes organizations need SOA more than before, but using a redefined SOA based on the SOA Manifesto, focusing on models, methodologies and patterns, not on technology, intended to produce the desired business and technical goals.


For a complete overview of SOA Symposium sessions on InfoQ check their SOA Symposium page.

Sharing artifacts using the MDS Repository

November 4th, 2010 4 comments

Both during development and maintenance of code, deployment strategies relying on copying of artifacts will fail, or at least complicate the task at hand and frustrate reuse. SOA Suite offers a centralized storage for artifacts (like WSDL, XSD, and XSL files) that can be accessed both at design time and at run-time. It is called the MDS Repository, and comes with Metadata Services on top of it. It is part of the SOA Suite and doesn’t require additional installation. This blogpost will show you how to upload an artifact to the central MDS Repository, and how to use the uploaded artifact in your source code.

Locate and copy the WSDL

Locate the WSDL file in your project on the local file system, for example: C:\JDeveloper\mywork\AIApocBOUW\CreateInventoryTransactionRIBRMSProvABCSImpl.wsdl. In which a convention like C:\JDeveloper\mywork\__Workspace__\__project__ is used. You can also determine this path in JDeveloper by selecting the WSDL file and use CRTL-SHIFT-C (or by selecting contextmenu – Copy Path).

Use an FTP tool to move the file to the server running the SOA Suite. The path to use on the server depends on the application, version and component type. Typically in AIA there is a structure like $AIA_HOME/AIAMetaData/AIAComponents/ApplicationConnectorServiceLibrary/__Application__/__version__/__componentType__ . Where in AIA component types are ABCS Provider, ABCS Requestor, EBS, et cetera. In other environments you can create your own structure. Since you no longer need a local copy of the WSDL, remove it from your local file system.

Load the WSDL in the MDS Repository

To load the WSDL and other artifacts to the MDS repository there is an ANT script available on the server. To use ANT, make sure the needed environment settings are made correctly. When you installed AIA there is a Shell script available the will source both AIA and ANT environments: aiaenv.sh. This script can be found in ...../weblogic/aia30/aia_instances/aia30poc/bin. It can be convenient to copy this to your home directory.

  • Source AIA and ANT environment: source ./aiaenv.sh.
  • Alter the UpdateMetaDataDP.xml configuration file. It can be found in ...../weblogic/aia30/aia_instances/aia30poc/config.

In case your vi isn’t up to par use a tool like WinSCP and choose Edit in the context menu:

In the UpdateMetaDataDP.xml file alter the file set. In the example on which the screenshot is based
AIAComponents/ApplicationConnectorServiceLibrary/Retail/V1/RequesterABCS/CreateStockChangeLOCUSReqABCSImpl.wsdl
is added.

And now you are ready to run ANT using the actual loading script:
ant –f /fs01/app/oracle/esbtst01/weblogic/aia30/Infrastructure/Install/scripts/UpdateMetaData.xml


Check the output of the ANT script:

  • check that the correct number of files has been copied.
  • the server gave a HTTP response 200.
  • The deployment of the composite was successful.

Another check to verify a correct load into the MDS Repository is to use the MDS Browser in JDeveloper to find the file you just uploaded. A refresh of the view could be needed to include the latest changes and additions.

Using the WSDL in the MDS Repository in your source code

The last step is to reference to the WSDL in the MDS Repository, since the file has been removed from the local file system. Double click the Exposed Service to open the wizard:













Choose Existing WSDL to select the WSDL from the MDS Repository:



















Check the change using the source view. In the import of the WSDL in the composite.xml there should now be an URL referring to oramds:, like in the example below:

<import namespace="http://xmlns.oracle.com/ABCSImpl/LOCUS/Core/CreateStockChangeLOCUSReqABCSImpl/V1"
        location="oramds:/apps/AIAMetaData/AIAComponents/ApplicationConnectorServiceLibrary/Locus/V1/RequesterABCS/CreateStockChangeLOCUSReqABCSImpl.wsdl"
        importType="wsdl"/>

Using a Service Bus to connect the Supply Chain

October 8th, 2010 No comments

So here is my presentation from the SOA Symposium 2010. Hope you enjoy it:



SOA Cloud 2011 Brazil

SOA Cloud Symposium 2011

The SOA Cloud Symposium 2011 logo has just been released. In 2011 the SOA Symposium will be held on April 27 and 28 in Brasilia the capital of Brasil.

Another easy way to test drive SOA Suite and BPM 11g R1 PS2

September 14th, 2010 No comments

In June an AMI (Amazon Machine Image to use on the EC2 platform) for SOA Suite and BPM 11g R1 PS2 became available. In the last days it was announced that a VirtualBox Appliance is available. The timing, just before Oracle OpenWorld 2010 cannot be a coincidence…

This appliance contains a fully configured, ready-to-use SOA/BPM 11g R1 installation. It contains the following software:

  • Oracle Enterprise Linux 5 Update 4
  • Oracle XE Universal database 10.2.0.1
  • Oracle WebLogic Server 10.3.3.0
  • SOA Suite 11gR1 PS2
  • BPM Suite 11gR1 PS2 (with bundle patch #1)
  • BAM 11gR1 PS2
  • B2B 11gR1 PS2
  • JDeveloper 11.1.1.3

The download and setup instructions can be found on Oracle Technet.

AIAMigrationUtility avoid NullPointerException in CompositeUtil.java

September 9th, 2010 No comments

Using the AIAMigrationUtility in AIA 11g R1 we encountered the following error:

invokeMigrationUtility:
[echo]

[exec] setupMDSstore:
[exec]
[exec] bpel:
[exec] [upgrade]

[exec] [upgrade] Reading WSDL Location http://lnx40.deltalounge.net:8001/soa-infra/services/default/AIAAsyncErrorHandlingBPELProcess/client?WSDL
[exec] [upgrade] Jul 26, 2010 3:27:34 PM oracle.viewgen.ViewGenerator main
[exec] [upgrade] SEVERE: Upgrade failed. Check the logs for any exceptions. Ensure that the WSDL URLs specified in the project are reachable and a valid 10.1.3.x project is used for upgrade. Before re-attempting upgrade, restore the original project code source from the backup directory.
[exec] [upgrade] java.lang.NullPointerException
[exec] [upgrade] at oracle.viewgen.composite.CompositeUtil.setupBinding(CompositeUtil.java:686)
[exec] [upgrade] at oracle.viewgen.composite.CompositeUtil.setupCompositeServices(CompositeUtil.java:444)
[exec] [upgrade] at oracle.viewgen.composite.CompositeUtil.createComposite(CompositeUtil.java:315)
[exec] [upgrade] at oracle.viewgen.ViewGenerator.main(ViewGenerator.java:316)
[exec] [upgrade] Exception in thread “Main Thread” java.lang.NullPointerException
[exec] [upgrade] at oracle.viewgen.composite.CompositeUtil.setupBinding(CompositeUtil.java:686)
[exec] [upgrade] at oracle.viewgen.composite.CompositeUtil.setupCompositeServices(CompositeUtil.java:444)
[exec] [upgrade] at oracle.viewgen.composite.CompositeUtil.createComposite(CompositeUtil.java:315)
[exec] [upgrade] at oracle.viewgen.ViewGenerator.main(ViewGenerator.java:316)
[exec]
[exec] BUILD FAILED
[exec] /fs01/app/oracle/esbtst01/weblogic/Oracle_SOA1/bin/ant-sca-upgrade.xml:71: Java returned: 1
[exec]
[exec] Total time: 5 seconds

BUILD FAILED
/fs01/app/oracle/esbtst01/weblogic/aia30/util/AIAMigrationUtility/AIAMigrationUtility.xml:58: The following error occurred while executing this line:
/fs01/app/oracle/esbtst01/weblogic/aia30/util/AIAMigrationUtility/AIAMigrationUtility.xml:140: exec returned: 1

Total time: 7 seconds

This was solved (unexpected) by altering the adf-config.xml in the .adf/META-INF/ directory for the workspace. The following was added:

          <namespace metadata-store-usage="mstore-usage_2"
                     path="/apps/AIAMetaData"/>
....
          <metadata-store-usage id="mstore-usage_2">
            <metadata-store class-name="oracle.mds.persistence.stores.db.DBMetadataStore">
              <property value="DEV_MDS" name="jdbc-userid"/>
              <property value="poctst01" name="jdbc-password"/>
              <property value="jdbc:oracle:thin:@lnx42.deltalounge.net:1521:poctst01"
                        name="jdbc-url"/>
              <property value="soa-infra" name="partition-name"/>
            </metadata-store>
          </metadata-store-usage>

In other words the connection information for the MDS has been provided.

Update ANT and MDS

Today I came across his blogpost on another ANT script using MDS during deployment. Which requires a similar solution: altering the adf-config.xml in the .adf/META-INF/ directory.

Reference binding to Service without WSDL

August 5th, 2010 No comments

For the first time I had to make an integration to a service that had no WSDL deployed with it. Since the (SCA) Composite assumes a WSDL it takes some time to figure out how to realise this. Under default conditions a Reference in a (SCA) Composite in SOA Suite 11g looks something like:

<reference ui:wsdlLocation="SomeDataRef.wsdl"
                   name="SomeDataWebService">
  <interface.wsdl interface="http://ws.deltalounge.net/SomeDataService#wsdl.interface(SomeData)"
                  callbackInterface="http://ws.deltalounge.net/#wsdl.interface(SomeData)"/>
  <binding.ws port="http://ws.deltalounge.net/#wsdl.endpoint(SomeDataService/SomeData_pt)"
              location="http://ws.deltalounge.net/tstservices/SomeDataService?wsdl" />

The location of the binding.ws points to a WSDL. Which is no problem at compile time. However at runtime the WSDL can not be found and an error is raised.
This error can be prevented by pointing to the endpoint instead of to the WSDL. To accomplish this your Reference in a (SCA) Composite in SOA Suite 11g would look something like:

<reference ui:wsdlLocation="SomeDataRef.wsdl"
                   name="SomeDataWebService">
  <interface.wsdl interface="http://ws.deltalounge.net/SomeDataService#wsdl.interface(SomeData)"
                  callbackInterface="http://ws.deltalounge.net/#wsdl.interface(SomeData)"/>
  <binding.ws port="http://ws.deltalounge.net/#wsdl.endpoint(SomeDataService/SomeData_pt)"
              uri="http://ws.deltalounge.net/tst/services/SomeDataService"/>

Now there is an uri in the binding.ws refering to an endpoint.

Program SOA Symposium 2010 available

July 23rd, 2010 No comments

The agenda for the SOA Symposium 2010 has been posted. Again there are very interesting sessions during this 2 day conference. The largest and most comprehensive in the field of SOA and Cloud Computing. The Real World SOA Case Studies track offers a great opportunity to learn from the experience of others. In this track you will find:

Real-life accounts of successful and failed SOA projects discussed first-hand by those that experienced the project lifecycles and have a story to tell. These veteran practitioners will provide advice and insights regarding challenges, pitfalls, proven practices, and general project information that demonstrates the intricacies of implementing and governing service-oriented solutions in the real world.

I will be presenting the first session in this track on Using a Service Bus to Connect the Supply Chain. If you have any topics or questions in advance that you think I should address, please post them in the comments. Hope to meet you in Berlin.

Faster start of Managed Server after AIA install

July 14th, 2010 3 comments

It is possible you noticed that after the installation of Oracle AIA 11g R1 starting the Managed Server of WLS takes more time than before the installation. This is not only due to the new Composites. There are also some settings you could change to reduce the time the Managed server to which you deployed AIA needs to start up.

Change JDBC settings

JDBC Settings

JDBC Settings

To alter some of the JDBC settings that are configured during the AIA 11g installation go to the WLS Adminnistartion console – http://yourserver:port/console. In the Domain Structure choose: > Services > JDBC > Data Sources.

Change the settings of the following JDBC Data Sources that were created during the install of AIA of the AIA Demo:

  • AIACentralDS
  • AIADataSource
  • FODDataSource
  • FODDS
  • LifeCycleDataSource
  • mds-soa
  • XrefDataSource

Data Source Settings

Data Source Settings

In the Settings for "Data Source Name" select the Configuration and the Connection Pool tab. Expand the the Connection Pool tab by clicking the Advanced link. The alter the Login Delay from 30 to 0 seconds.

Login Delay

Login Delay

This will reduce the time that is needed to start the Managed Server by several minutes.

SOA Suite 11gR1 PS2 released

April 28th, 2010 No comments

Previous I mentioned a preview of the 11g R1 PS2 new features. Here are a few links for this new release – 11.1.1.3.0:

Existing PS1 users simply apply the patch to upgrade to 11.1.1.3.0.

Other releases