Showing posts with label WebLogic 12c. Show all posts
Showing posts with label WebLogic 12c. Show all posts

Monday, February 16, 2015

Integrate OSB with Oracle MFT

Recently, I had an opportunity to work with a customer on MFT integration with OSB.

Some pain points were;
1) Ever-increasing FTP servers across their enterprise which was increasingly becoming tough to manage and maintain.
2) Custom code for compression/decompression logic before/after file transfers
3) Bunch of third-party utilities for scheduling file transfers
4) Java code exposed as API for PGP encryption/decryption

Obviously they had a lot of integration touch-points while putting together a file transfer solution - which also meant multiple points of failure and not to mention the maintenance/debugging nightmare if something were to go wrong.

One of the cool features of Oracle MFT is that it supports out-of-the-box integration with many technologies including OSB. For many OSB users, the following could be some of the use-cases where they could take advantage of MFT and reap benefits;

Traditional OSB implementations used File/FTP adapters for file transfers - No real visibility into the transfers and not the best of designs to manage/maintain.

With Oracle MFT exposed as a webservice it is now just a seamless webservice invocation - with the added benefits such as real-time visibility, OOTB scheduling, Compression, PGP encryption, ease of maintenance to name a few..

Use-Case 1: OSB triggers a MFT transfer

In this use-case OSB would trigger a MFT transfer. MFT would then fan-out the transfer;
a) Decompress, Decrypt and store in file system
b) Initiate a SOA process to do further processing (human task etc..)



Creating a MFT Source:

Step 1: Login to Oracle MFT console (http://hostname:port/mftconsole)

Step 2: Go to the Design tab. Click on the Sources and create a new OSB source as shown below;


Creating a MFT Target:

Step 3: Now, click on the Targets and create a new MFT target (This can be a webservice, SOA service, FTP, sFTP, File etc..).
In this case, we would be creating 2 targets - one SOA target and a File target as shown below;

Note: For the SOA target - I just created a simple SOA composite with MFT adapter...



Now. let's create a Transfer - nothing more than linking the source & target on a canvas.

Step 4: Click on the Transfers and create a new MFT. In the MFT canvas, drag and drop the OSBSrc to the source panel. Similarly, drag and drop the OrderSOATarget & PutFile targets to the target panel. Note that "decompress" and "decrypt" pre-processing actions are added to the targets. These are out-of-the-box capabilities that you can leverage with Oracle MFT.



That's all. Now just define a business service in OSB as usual that will trigger the transfer in Oracle MFT. You can obtain the MFT (OSBSrc) source webservice URL by just opening the source.




Use-Case 2: Oracle MFT invokes OSB proxy service

Here we will pick a file from the embedded FTP server (FTP & sFTP servers are embedded and comes out-of-the-box with Oracle MFT), and invoke a OSB target.

Step 1: Click on Sources and create a new source of type "FTP Embedded" as shown below;

Step 2: Click on Targets and create a new target of type "OSB" as shown below

Step 3: Click on the Transfers and create a new MFT. In the MFT canvas, drag and drop the FileSrc to the source panel. Similarly, drag and drop the OSBTgt to the target panel

Done. Now, let's see how to create a OSB proxy service that will consume the MFT transfer.

Step 4: Login to OSB console. Create a proxy service based on the WSDL available @ $FMW_Home/mft/integration/wsdl/MFTSOAService.wsdl (While source/target type is chosen as OSB or SOA, MFT exposes the web service based on this WSDL contract)

Note: Ensure that the proxy service URL and the MFT OSBTgt URL matches.

As easy as that.

Saturday, January 24, 2015

Oracle MFT - The Managed File Transfer

With the 12c release for Fusion Middleware, Oracle released the long-awaited, feature-rich managed file transfer solution titled Oracle MFT. At the outset, some key value propositions of this product are;

  1. Extremely Simple to use, build & configure
  2. End-to-End visibility on file transfers
  3. As with any other Oracle FMW stack of products, seamless integration options
  4. High Availability MFT (leveraging WebLogic capabilities)
  5. Highly Secure (Leverage WLS OPSS instead of typical FTP OS layer security)
  6. OOTB embedded FTP & sFTP servers (Those of you looking to consolidate on ever increasing FTP & sFTP servers in your enterprise...)
  7. Automate File Transfers using the built-in Enterprise Scheduler Service (ESS)
  8. Transfer very large files (pass-by-reference) - limited only by disk space and network speed
  9. Fan-out, chaining and custom callouts

Having worked with quite a few customers on this new Oracle technology, I can certainly tell that these features have generated a huge interest. Prior to Oracle MFT, it was really hard to find a product that could achieve all of the above requirements...

Let's delve little deep into these points...

Extreme Simplicity

No IDE to design/configure transfers.
Business user friendly unified web-based, highly intuitive graphical interface for design, monitoring & administration of all your file transfers.
Zero learning curve.

To create a transfer -> Just create your source and target - drag & drop them in the transfer canvas. You are good to go !! Incredibly, it's that simple...

Free-up developers: really? Yes.
How many times have you configured the cumbersome back-end scheduler jobs?
How many technical resources you hired/trained on various scripting languages just to manage and handle file transfers?
End-to-End Visibility

MFT console offers out-of-the-box monitoring dashboards with drill-down capabilities. Users can monitor overall file transfer metrics such as;

  • Most Active Transfers
  • Average, Min & Max Payload size, Transfer Speeds & Transfer Time
  • Recent Errors/Failure Ratio
  • Advanced File Search - based on file name, date, user, status etc..


You can also monitor a single file transfer instance graphically with fine grained details on the transfer. Additionally, Oracle MFT provides "Resubmit" option where users can resubmit a file transfer from various stages (Source, Transfer or Target).

Extensibility

Oracle MFT provides OOTB integration with the following source/target types in the current release. Obviously many more are coming in...
  • FTP Embedded (Read/Write from/to the embedded FTP server)
  • sFTP Embedded (Read/Write from/to the embedded sFTP server)
  • FTP Remote (Read/Write from/to a remote FTP server)
  • sFTP Remote (Read/Write from/to a remote sFTP server)
  • File (Read/Write from/to the shared file storage)
  • SOAP (Send/Receive to/from a SOAP based web service)
  • SOA (Send/Receive to/from a SOA composite) - SOA 12c provides an MFT adapter. Optionally, you can also connect to a SOA/OSB 11g instance through webservice
  • Service Bus (Send/Receive to/from an OSB proxy/business service)
  • B2B (Connect to a B2B with MFT as a channel)
  • Healthcare (Connect to Healthcare HL7)
  • ODI (Connect to Oracle Data Integrator)


High Availability

Oracle MFT runs on Oracle WebLogic 12c and can be clustered. This provides organizations with an HA MFT capability. Oracle MFT also ships with an MFT proxy server that resides outside the firewall to redirect external requests.

Highly Secure

Since MFT runs on WebLogic, it leverages Oracle WebLogic OPSS.
What this means is that: all your FTP/sFTP users in your LDAP can now connect to MFT (obviously the access rights can be managed through the MFT console).

In stark contrasts to traditional FTP/sFTP servers, you don't have to create OS level users & manage access privileges. Optionally, for each transfer, you can configure Oracle MFT to allow access to payload only to specific users/groups.

In additions to these capabilities, users can leverage out-of-the-box compression, decompression, PGP encyption & decryption capabilities of Oracle MFT.

Consolidation

Many customers have very less control on FTP & sFTP server proliferation across their enterprise. More often than not, IT doesn't have full control / visibility on administration & management of the FTP servers. Oracle MFT with its embedded FTP & sFTP server clearly helps with consolidation of FTP/sFTP servers.

This not only reduces TCO tangibly, but also brings down significant costs associated with administration/management efforts.

Automate & Schedule Transfers

How many scheduling software tools do you have in your enterprise?
How difficult is it to integrate your scheduler with file transfers?
How much time & effort does your IT/development spend in configuring/scripting of scheduler services?
How much visibility does it offer?

And,

What if; you have one comprehensive & highly customizable enterprise scheduler service which is tightly integrated with all your file transfers, is extremely easy to configure/schedule through GUI and provides end-to-end visibility through a console?

With Oracle Enterprise Scheduler Service (ESS) now being a first-class citizen & tightly integrated, Oracle MFT just does that.

Large File Transfers

Oracle MFT supports file pass-by-reference. This means that your SOAP services do not have to pass file to your webservice inline if it beyond a certain size - configurable while designing the transfer. Oracle MFT also provides out-of-the-box compression & decompression capabilities. Using custom actions you can also batch/de-batch large files for fast processing.

Fan-out, Chaining & custom callout

Oracle MFT supports fan-out: which means it can send files to multiple targets simultaneously. Also another cool feature if MFT process chaining. You can chain multiple MFT transfers where one MFT transfer can be another MFT's source.

Additionally, Oracle MFT also supports custom callouts. This allows POJOs to be executed at source and target (pre/post process).

Ready for a happy file transfer with Oracle MFT? Let me know your feedback in the comments section :)