Monday May 18, 2015

Boost Sales Productivity and Lead Generation with Oracle Cloud Adapters for Sales Cloud and Eloqua

With the mission to drive sales results, and sell anywhere and anytime, many organizations are adopting Oracle Sales Cloud, a key component of Oracle Customer Experience Solution.  The deal velocity increases along with the productivity of the sales teams with modern selling tools using Oracle Sales Cloud.

Oracle Sales Cloud Adapter

For customers to confidently and conveniently convert more pipelines into error free quotes, and progress them into orders in the back office, as well as to collaborate more with other applications in the Customer Experience stack via rich set of integrations, Oracle Cloud Adapter for Oracle Sales Cloud is being introduced.

Oracle Cloud Adapters


Oracle Eloqua, Oracle's leading Cross-Channel Marketing Solution, enables marketers to plan and execute automated marketing campaigns.  Integration between Oracle Eloqua Marketing Cloud and any SaaS or on-premise CRM application is enabled by the new Oracle Cloud Adapter for Oracle Eloqua Cloud Service, driving faster progression of marketing leads to sales opportunities, and unified customer data management. 

These all new cloud adapters for SaaS applications - Oracle Sales Cloud Adapter and Oracle Eloqua Cloud Adapter provide rich and intuitive design time capabilities as well as run time efficiency.   Oracle is extending its Cloud to on-premise integration solution portfolio by releasing these cloud adapters on its premier integration platform Oracle SOA Suite 12c.

The Sales organizations will also benefit from their investment in the Oracle Sales Cloud application in various other integrated business processes by leveraging the Oracle Sales Cloud Adapter, such as:

  • Closed Loop Analysis for Marketing campaigns:  The integrated marketing with Eloqua for progression of leads can be extended to analysis of marketing campaigns and responses. 
  • Sales and Service co-ordination:  The customer information can shared across with service teams, as well as visibility to the service requests can be provided to the sales teams for better account management.
  • Lead to Order:  The leads/opportunities can be progressed to orders in the back office order management systems (viz. E-Business Suite, SAP).

 You can access the datasheets, documentation, and more information on this website.

Wednesday Apr 29, 2015

What is the Power of Cloud? (to the Business)

Of course many readers, technologists and businesses are acutely aware of the value prop of the cloud but what about the rest of the "majority" of people who don't? If you do a search on this topic, you will mostly get links to marketing materials that are fairly high level and full of the usual buzzwords with more links to lengthy case studies. As a business technology enabler, there needs to be a simpler message or elevator pitch that is easy to understand yet convincing. Ah, the simplicity or less is more approach rears it’s beautiful head once again. Below are some recipes to draw from for an elevator ride of any duration.

The Enterprise Cloud Reduces Business Outages Increasing Customer Satisfaction

Put simply and avoiding technical acronyms, can the business rely on 99.99+% availability from the cloud? Look no further than Netflix as an example because yes the cloud is certainly up to the task.

Immediate Availability Gives You a Your Competitive Edge (for now)

Back in the day, Dell drove industry change by assembling computers on demand reducing inventories and wrecking havoc on computer storefronts. Well the cloud equivalent is to be able to go to the cloud store, answer a few questions, enter your credit info and within 1 hour or less you are up and running.

A Right Sized Business Reduces Time, Headaches and Cost

You may wonder what this is? It takes many forms but to me you have to ask does the business get what it paid for? No more shelf ware and complicated upgrade processes. You need more capacity for certain business cycles, zoom it’s there. You need more storage, of course that is automated. You think Apple and other retailers have to turn on any switches to increase capacity? Maybe they do now but they shouldn’t.

Business Friendly User Interfaces Decreases Time to Market

Your thinking mobile and that is certainly true but it is much more than that. This is the type of disruptive technology that could put technologists like me out of work. Non-technical end users must be able to build and deploy apps that previously required a CS degree and many years of experience. Consider how Smart Data cloud initiatives are disrupting Big Data. Nate Silver, beware.

Build a Nimble Business by Thinking Small

The cloud is all about modularity, extensibility and continuous release cycles. A/B testing drives micro feature planning rendering the traditional roadmap virtually useless. In a fully optimized environment, features will show up before you even have a chance to request them. Social tools will drive this change more than traditional communication channels and you have to be on top of it because your competition sure is.

Focus on Business but Engage Developers and IT to Modernize

Remember, we are all in this new delicate cloud eco system together so it is best to engage all parties even as you try to do an end around them. Developers will be crucial allies in building a hybrid OnPrem cloud solution and IT will help you track outages on cloud systems just like they always have for internal systems.

Be Business Tech Savvy to Extend Your Brand

You may be asking yourself, how does this extend the brand? Think huge retailer with leading cloud PaaS market share. Make a point of understanding these new disruptive forces of nature. Understand how NodeJS and NPM drive modularity and manage dependencies that reduce business risk. Utilize GitHub to research and rate technologies that could impact and shorten your time to market. Don’t be passive, get a free developer account on Koding.com to experience a PaaS system and write a Hello app in 5 different languages. Use the force, do a lot of “What is XYZ” searches.

Summary

Transform your business but don’t forget to have some fun.

Tuesday Apr 28, 2015

Oracle OpenWorld and JavaOne SF 2015 – Call for Proposals has been extended!

Due to popular demand, the deadline for submitting proposals for the San Francisco 2015 Oracle OpenWorld and JavaOne Conferences, has been extended to 11:59 p.m. PDT on Wednesday, May 6. 

See the links below for details:

OpenWorld Call for Proposals

https://www.oracle.com/openworld/call-for-proposals.html

JavaOne Call for Proposals

https://www.oracle.com/javaone/call-for-proposals.html

Monday Apr 27, 2015

Comparison of inplace and side by side upgrade

This article compares in-place upgrade with side by side upgrade to SOA 12c.What are the advantages and disadvantages? What are the prerequisites?

In in-place upgrade you install SOA 12c in a new oracle home and upgrade the domain and DB in-place. This is what is documented in the upgrade guide. In side by side upgrade, you install SOA 12c in a new oracle home and create a new SOA 12c domain and DB. You then deploy all the composites and configure the 12c domain fully. You then cut over from 11g to 12c.

Side by Side upgrade does not apply if you have long running instances and you cannot guarantee that all inbound messages have been drained and there are no active instances when you cut over to 12c. Even if this is not true, you could still keep the 11g system up (with no new messages) until all messages are drained and all active instances complete. We will briefly cover this option at the end but ignore it for the rest of the article. 

 The advantages of in-place upgrade over side by side are the following.

  • You do not have to take the effort of configuring a new enterprise deployment which could take a long time. You do not have to replicate the SOA configuration after the upgrade. You do not have to configure your custom adapters, adapter configurations, JMS queues/topics, datasources, non SOA J2EE Apps, etc. All the configurations and deployments carries over. In side by side, all this configurations have to be done from scratch. It is basically a new deployment done by following the install guide or EDG.
  • Long running instances continue after upgrade where they left off. As mentioned in side by side, long running instances do not move over to the new deployment.
  • You retain the history of completed instances after upgrade. In side by side, the history of completed instances do not over over to the new deployment.
  • You don't need new licenses. You should check with Oracle if new licenses are needed if you don't put the 12c domain on the same CPUs as the 11g domain in a side by side upgrade. if your 11g production system does not have a lot of spare capacity to colocate the 12c deployment, you will probably have to buy new hardware for the 12c deployment.
  • All inbound addresses are the same so clients don't need to be modified. This includes JMS queues/topics, file directories, etc. For side by side, inbound HTTP traffic can be redirected without impacting clients by switching at the load balancer, but others may require changes to the clients.

The disadvantages of in-place upgrade over side by side upgrade are the following.

  • There are limitations and prerequisites documented in the upgrade guide for in-place upgrade. For example the starting version must be 11.1.1.6 or 11.1.1.7. If you are not meeting these requirements, you have to fix it (for example upgrade to 11.1.1.7 first) before you start the 12c upgrade or not do the in-place upgrade since it is not supported with your current configuration (for example you created your production system with T2P before 11.1.1.6).  For side by side, you can create the 12c domain and migrate your composites without this problem. If you are migrating from a version before 11.1.1.6, first migrate your jdeveloper projects to 11.1.1.7 then migrate the jdeveloper  projects to 12c. 
  • The down time during upgrade could be quite long. You need to shut down your 11g production system, take a complete backup, perform the upgrade, and then test and tune your upgraded domain, before making it live. Cutting over to 12c for side by side could be fast with minimum down time since everything in 12c has been tested and tuned while the 11g system was live.
  • If you have BAM in your domain, BAM does not support in-place upgrade and you have a much more complex in-place upgrade path. In side by side, creating a new 12c domain with SOA and BAM is straight forward.
  • Doing an in-place upgrade is a very demanding requirement and Oracle has tested it thoroughly to provide a smooth experience. However there is a possibility that your particular special deployment encounters issues. This may cause delays in your testing of in-place upgrade. Issues are much less likely if you create a new domain as in side by side.
  • The focus of in-place upgrade is backwards compatibility and a silent automatic upgrade. Sometimes this means new 12c features may be disabled after upgrade and you may have to enable these gradually some time after going live on 12c. . For example the key store technology has changed from JKS to KSS. However after upgrade you are still left with JKS since it is not possible to auto migrate to KSS. Another example is the XML XDK is configured for backwards compatibility after upgrade disabling new features. This is not a problem with side by side. With side by side, you have plenty of time to modify your composites if you want to, to take advantage of new features.
  • Rolling back the upgrade if you encounter problems during or after upgrade requires you to restore from full backup. With side by side, you would have had plenty of time to thoroughly test so it is very unlikely you have to go back to 11g.

If you continue running the 11g system after the 12c system goes live then things like Human Workflow approvals and EM management have to be done in two places, and clients sending messages to a running process may not work.



Wednesday Apr 22, 2015

ONE WEEK LEFT - SF 2015 Call for Proposals is LIVE!

Oracle Open World 2015 Proposals are due in ONE WEEK! This is your time to submit!


OpenWorld Call for Proposals

https://www.oracle.com/openworld/call-for-proposals.html

JavaOne Call for Proposals

https://www.oracle.com/javaone/call-for-proposals.html

Thursday Apr 16, 2015

Last day @ Collaborate 2015 - 2 more SOA sessions to attend!

TODAY - Thu. Apr. 16 - 9:45 - 10:45 am

Session 603: A Tale of Integration Using SOA as the Middleware for JDE, OTM and Other 3rd party Applications

Banyan C

________________________________________________________________________________________________________________

TODAY, Thu. Apr. 16 - 12:15 - 1:15 pm

Session 10405: Conquering!! Oracle ProductHub & Spoke Model with MDM AIA PIP

Breakers E

Tuesday Apr 14, 2015

Oracle Integration (SOA) sessions at Collaborate - Wednesday, April 15

What Every Client Should Do on Their Oracle SOA Projects

9:15 - 10:15 am  | Banyan C

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

Developing Oracle Fusion Middleware applications in the Cloud

10:45 - 11:45 am | Reef E

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

Understanding and Developing Web Services - For DBAs and Developers

 4:30 - 5:30 pm | Banyan C

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

Mobilize Oracle E-Business Suite with Oracle Mobile Platform

 4:30 - 5:30 pm | Islander D

Sunday Apr 12, 2015

Oracle Integration (SOA) sessions at Collaborate - Monday, April 13

10326: Best Practice for Implementing for Continuous Delivery for SOA and BPM

10:30 AM - 11:30 AM | Room Breakers H

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

Jazz Up Your Oracle SaaS with the #1 PaaS

2:00 PM - 3:00 PM | Room Mandalay K

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

10561: Simplify SaaS and On-Premises Integration by Using Oracle Fusion Middleware

 3:15 PM - 4:15 PM | Room Breakers H


Friday Apr 10, 2015

Jazz Up Your Oracle SaaS with the #1 PaaS - COLLABORATE 2015

Attending Collaborate 2015? DON'T MISS THIS SESSION -

Mon. April 13| 2:00 PM - 3:00 PM | Room Mandalay K

Software as a service (SaaS) is becoming the preferred deployment model for enterprise applications today. Oracle has the industry's broadest portfolio of SaaS applications that can be easily configured to meet your business requirements and, where necessary, can be customized and integrated with other on-premises and cloud applications. Attend this session to learn how Oracle platform as a service (PaaS) and infrastructure as a service (IaaS) can extend and integrate your application investments, both on-premises and in the cloud. The session includes how-to demonstrations, use cases, and customer examples.

Understand how Oracle platform as a service (PaaS) and infrastructure as a service (IaaS) can extend and integrate your application investments, both on-premises and in the cloud.

 Learn how Software as a service (SaaS) can benefit from using platform as a service (PaaS) and infrastructure as a service (IaaS).

Thursday Feb 26, 2015

Why I'm Excited About Oracle Integration Cloud Service - New Video

Having worked with Service Oriented Architecture (SOA) products for many years, I have come to the conclusion that,

in the early days, SOA was a solution looking for a problem.  

Businesses deployed standalone CRM, ERP, and other applications that were closed off from easy integration and had few if any small services that could be assembled as part of a composite application, thereby limiting the value of SOA.

Pre-integration Video LinkFast forward to today and “services“ are everywhere providing easy justification for SOA. If you want to deliver new offerings on your web site for your customers quickly, you don’t start from scratch. You leverage internal and external services (ex: GetCustomerRecord, GetCreditScore, etc.) and your project is already partially completed. That’s great progress but it took over 20 years for the concept of SOA (coined in 1994) to become the accepted standard in most medium-to-large enterprises.

Integration complexity

In contrast, Oracle Integration Cloud Service marks a dramatic shift in how we approach integration… equal to the shift from EAI to SOA but with one major difference. Instead of requiring a new learning curve on how to integrate with loosely coupled SOA, Oracle Integration Cloud Service goes in the opposite direction with a focus on ease of use. And instead of integration from scratch, its pre-integration; instead of your best guess, its crowdsourced recommendation ratings. In the past, it was a shame that the application developers who knew their respective CRM, ERP, service, marketing, etc. applications best didn’t embed the integrations themselves into the integration platforms. With Oracle Cloud Integration Service and the Oracle Cloud Adapters…that’s what happened.

And so I wrote the script for this video to graphically convey the ease of use and dramatic shift that Oracle Cloud is bringing to integration into a story of how Oracle Integration Cloud Service can connect a disconnected business.

It’s not very often that a solution to a long-standing problem is such a major shift in the right direction. It’s my belief this has happened with Oracle Integration Cloud Service.Built by Oracle

Watch the new video now to see for yourself.  I expect it will be 3 minutes of time well used. 

Link to video

Monday Jan 26, 2015

Cloud Platform Online Forum - Cloud Integration Session

Join me at the Cloud Platform Online Forum on January 28th, 2015 at 10:00 am PST/1:00pm EST (keynote start time) as I present Oracle cloud integration solutions including the upcoming Oracle Integration Cloud Service announced at Oracle OpenWorld 2014.  Learn about the challenges of cloud integration and watch a demonstration showcasing the ease of use of Oracle integration Platform as a Service (iPaaS).

Banner

Also, be sure to catch the featured Middleware General Session presenter Greg Haertling, Chief Enterprise Architect and Sr. Director of Software Development at 7-Eleven, Inc. including their impressive implementation of Oracle SOA Suite for integration. Following this session is the integration session:

Track: Middleware IT Operations

Session: Simplify SaaS and On-premises Integration 

Unless businesses develop a plan to simplify their overall integration strategy, the explosive growth of SaaS combined with existing on-premises integration is likely to slow the pace of innovation and time-to-market, as well as increase overall complexity and costs.  Attend this session to see how Oracle customers have broken through the integration quagmire and simplified integration. Hear best practices on how to better integrate Oracle cloud applications using Oracle Integration Cloud Service and Oracle SOA Suite and learn how a unified solution eliminates the divide between new cloud applications and your existing infrastructure.

See the full agenda and register here

ICS Zoom

Above is a screenshot from the integration session of pre-built integration of a service request created in Oracle E-Business Suite on incident creation in Oracle Service Cloud (RightNow)

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.

Wednesday Dec 17, 2014

Customizing Oracle MFT File Rename Java Callout

Review and Use Case

So now that you have all digested the previous Overview blog in this Customizing MFT series, you fully understand the components of Custom Actions(callouts) and have built the Newline Conversion sample from the Oracle MFT Documentation section Processing Transfers with Custom Callouts you are ready to build another real world scenario that implements a file rename inside of the MFT engine. I say inside because that differentiates it from the use case where a file is written to the file system or remote FTP server and then renamed after it is delivered. This use case is a file comes in from a Source that has extra characters in the name such a time-stamp that you wish to remove using standard Java regular expressions. I.E. order20151011.xml would be renamed to order.xml or customer12345.csv is renamed to customer.csv.

Components

XML Config File

As you know, each of the callout actions needs an xml config file that defines the interface. Below is the config file for this sample that defines things like action name, library name, help text and parameters that are configured in the designer. This sample is used in Target Pre-Processing and takes 2 parameters, SourceExp and ReplaceWith. Details for configuring callout config files were covered in the last blog entry so go reread that if this isn't clear, To proceed, just download the file from the link below or copy the bolded text into your favorite text editor and save the file RenameRegexp.xml it into a new folder named RenameRegexp.

RenameRegexp.xml

<?xml version="1.0" encoding="UTF-8"?>
  <mft:Callouts xmlns:mft="http://xmlns.oracle.com/mft"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.oracle.com/mft callout.xsd ">
    <mft:Callout description="Rename Regexp"
      helpText="File Rename with Regular Expressions"
      groupName="Target-pre" timeout="300"
      implementationClass="com.oracle.callout.sample.RenameRegexp"
      libraryName="RenameRegexp.jar" name="RenameRegexp">
    <mft:Parameter description="SourceExp" mandatory="true"
      helpText="Source Regular Expression Pattern"
      name="SourceExp" parameterType="string"/>
    <mft:Parameter description="ReplaceWith" mandatory="true"
      helpText="ReplaceWith Regular Expression Pattern"
      name="ReplaceWith" parameterType="string"/>
   </mft:Callout>
</mft:Callouts>

Java Source Code

As you know, there are different API's for Source, Pre and Post Target callouts. This example illustrates the Pre Target interface that is not modifying the file contents like the Newline Conversion example did. To review this topic visit the MFT Documentation page titled Java Code Requirements and Tips. The java class receives 2 strings at runtime for regular expression substitution that are configured in the Designer Transfer artifact. The  new and interesting code being used here to get and set the new file name are the methods PluginContext.getTransformedInputFileName and PluginOutput.setNewFileName. The regular expression substitution is implemented with an old reliable single line of code using String.replaceAll. Below are a code snippets illustrating this.

   	PluginOutput out = new PluginOutput();
	oldfname = pluginContext.getTransformedInputFileName() ;
 	newfname = getNewname(oldfname, SourceExp, ReplaceWith);
	if (newfname != null && newfname.length() > 0) { 
		out.setNewFileName(newfname);
	}
   ... 
   public String getNewname(String oldfname, String srcexp, String repexp) {
	return oldfname.replaceAll(srcexp, repexp);

   }

Download the full RenameRegexp.java file and place it in a newly created child directory of your RenameRegexp folder called com/oracle/callout/sample.

Compile, Package and Install

This section assumes the following environment variables have been set.

  $MW_HOME where your MFT WebLogic is installed

  $JAVA_HOME where your JDK 1.7 is installed

Compile

From the command prompt, run the following command. The command is split to multiple lines.

  $ $JAVA_HOME/bin/javac

   -classpath $MW_HOME/mft/modules/oracle.mft_12.1.3.0/core-12.1.1.0.jar

   com/oracle/callout/sample/RenameRegexp.java

Package

Now use the JDK "jar" command to build a java jar file as shown below. The cmd is split to multiple lines.

  $ $JAVA_HOME/bin/jar

     cvf RenameRegexp.jar com/oracle/callout/sample/RenameRegexp.class

Install

This involves 2 steps, first copy the jar file to the MFT server callout folder and another to import the config xml file. Use the copy command shown below. Note the domain name below may be different in your environment.

  $ cp RenameRegexp.jar $MW_HOME/user_projects/domains/base_domain/mft/callouts/

NOTE: If you have an MFT export of a file transfer that uses this callout, you can import it and skip this WLST step.

Next, run a WLST command to import the RenameRegexp.xml file

  $ $MW_HOME/mft/common/bin/wlst.sh

Connect to your WebLogic Server using your host, port and admin credentials

  connect("weblogic", "<PASSWORD>, "t3://localhost:7901")

Enter the WLST CreateCallout command substituting the location of your files.

  createCallouts('/home/oracle/mft/callouts/RenameRegexp/RenameRegexp.xml')

Do a listCallouts() command to verify it worked.

  listCallouts()

Enter the exit() command to quit WLST.

  exit()

Deploy a Transfer and Test

This section requires some knowledge of Java Regular Expressions. This implementation uses the java String.replaceAll method. It is recommended to use an external tool test test your expressions in advance. There are many available but www.regexplanet.com has a nice online tool for testing your expressions before entering them into the MFT Designer. For this example, you will use following parameter values to rename a file order20151011.xml to order.xml.

  SourceExpr:  ([A-z])\d+(.*)

  ReplaceWith: $1$2

Design and Deploy

At this point, the RenameRegexp callout action will appear in your Transfers Target Pre-Processing UI and is ready to use in any Transfer. Go to the Designer and build a Transfer "Rename Transfer" with a Source and Target of "Rename FTP Source" and "Rename FTP Target". The FTP Embedded Source  uses a location of "/rename/in" and the FTP Remote Target uses a location of "/rename/out". The Transfer should look like the following screenshot.


You need to configure the Pre-Processing Action in the Transfer with the below parameters as shown in the screens below.

  SourceExpr:  ([A-z])\d+(.*)

  ReplaceWith: $1$2

Now Save and Deploy this Transfer as you would any other Oracle MFT Transfer.

Test

To test use any FTP Client to connect to the MFT embedded FTP server and copying a file named  "order20151011.xml" to the "/rename/in" folder. When completed, go to the MFT Monitoring console and view the transfer report as shown below.


Congratulations, you have implemented a very handy, configurable and reusable rename custom callout that you can use in any Transfer Pre-Target Processor Action and it only took 76 lines of code! A completed export of this Transfer is also  available for download

Monday Nov 24, 2014

Customizing Oracle MFT with Java Overview

This is the first in a series of how to customize Oracle Managed File Transfer (MFT) using java callouts. It is assumed you have a working knowledge of Oracle MFT and can build, deploy and test basic transfers with Oracle MFT. We'll start by reviewing the instructions in the documentation section Processing Transfers with Custom Callouts then discuss terminology, types, invocation order and use cases for Sources, Pre-Targt and Post-Target.
[Read More]

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.



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