Monday Aug 10, 2015

Scriptable MFT: The Ginsu Knife of MFT Callouts

Overview?

Scriptable File Transfers are "Groovy", or Node or Python, batch files or plain ole boring Bourne shell scripts invoked by the MFT runtime server. Maybe you want to maintain a library of custom callouts, java code or manage moving them from one environment to another? No problem, use the Ginzu knife of callouts to extend MFT, the Run Script Pre-Processing callout now available on the MFT OTN page at bit.ly/learnmft. This baby can do it all, file processing, add new endpoints, enable REST, notify or validate. Got your attention, read on for more details or if you're already sold, just click the link to download and open the README file.

Use Cases

I hate repeating myself but there is virtually no limit to what can be done with this tool but before we blogstorm on this topic, lets briefly review MFT Java callouts from previous blog entries and the official Oracle MFT 12.1.3 documentation. To create a callout from scratch, you have these 6 basics steps.
  1. Create code
  2. Create XML defintiion
  3. Compile
  4. Import
  5. Copy jar to disk
  6. Test

Not really that painful for the DIY types but to use RunScript, you can skip the 1st 3 and just do import, copy and test.

  1. Import Sample Transfer
  2. Copy the jar (as described in the readme)
  3. Test basic scenarios

Internal Processing Things Callouts Can Do

  • Rename and Replace file with  different file
  • Reject a file and return an error
  • Update the monitoring dashboard transfer report
    • protocol headers section
  • Duplicate the file elsewhere

Source Pre-Processing

Source pre-processing is triggered right after a file has been received and has identified a matching Transfer. This is the best place to do validation or extend MFT to go grab a file from some external source. There is an FTPGet.sh example in the RunScript download that shows how to do custom FTP commands such a SITE often needed when interacting with mainframes.

Target Pre-Processing

Target pre-processing triggered just before the file is delivered to the Target by the Transfer. This is a good place to send files to external locations and protocols not supported in MFT. RunScript supports retry semantics and if an error is received, it is reflected in the MFT monitoring dashboard where it can be diagnosed or resubmitted.

Target Post-Processing

RunScriptPre can not be invoked for Target Post processing. A separate callout would be required for that. Post Target processing is not suited for file manipulation and is best for notifications, analytic/reporting or maybe remote endpoint file rename.

Parameters

Transfer UI

Once imported and available in the designer, the callout UI supports the following parameters.

  1. ScriptLocation: disk location of script. Ex: test.sh etc...
  2. Parameters: custom parameters to send to the script. Ex: remotehost=jokes.huli.org
  3. UseFileFromScript: CheckBox; TRUE or FALSE. When checked, it will use the file returned from the script.
  4. RetryCount: Number of retries in cases of failure
  5. RetryInterval: number of seconds to wait between retries

Script Parameters

  The following parameters are not enabled in the UI and always sent to the script.

  1. filename
  2. dir
  3. ecid
  4. filesize
  5. targetname (not for source callouts)
  6. sourcename
  7. createtime

Sample Scripts

The following sample scripts are provided in the RunScriptPre zip file.

  1. test.sh: This shows how to parse the parameters shown above and the use of UseFileFromScript to generate and replace the original file with a tar file.
  2. compress.sh: This is a functional script to replace the original file with either a tar or gzip file. It takes the parameter "compress=tar | gzip"
  3. FTPGet.sh: as mentioned above, this should how to do custom FTP commands

Summary

That pretty much it, there are lots of use cases this tool can solve without having to write a single line of java code. The big win is scripts now can be integrated into the MFT designer and run-time monitoring dashboards. Roll up your sleeves, go explore and report back on other creative ways to extend MFT using this handy utility.


Monday Jul 27, 2015

Restricted View

Restricted View is Not So Bad!

slide_220791_874557_free[1]  You are going on vacation and have booked a hotel with beautiful views, but when you arrive you discover that your room can only see the beautiful beach if you crane your neck out of the window and look at an angle.  That is pretty frustrating for a vacation but often that is exactly what we want to achieve with SOA Suite.  For example we may want the finance department composites to not be visible to the HR department and vice-versa.

The Problem

You often want to restrict the visibility of composites, for example keeping departments separated from each other.  This separation of concerns is a hallmark of good governance and many SOA Suite customers have this requirement, controlling who can see which composites.

Early Solution

In 11g the only fully supported way to do this was to run a separate domain for each department, and many customers did this.  Alternatively other customers created a custom admin application that enforced departmental segmentation on a single domain.  The first solution is heavy on machine resources and administrative overhead, the second requires custom coding and adds a maintenance overhead.

12.1.3 to the Rescue

 In 12.1.3 the partitions support custom application roles that grant access only to the given partition.  Users granted the role on the Finance partition will be able to see only information related to that partition, other partitions will not be visible to them.  This allows the Finance and HR departments to share the same domain but still not be able to see each others composites.  This is documented in section 7.3 Securing Access to Partitions of the document Oracle® Fusion Middleware Administering Oracle SOA Suite and Oracle Business Process Management Suite.

Making it Work

The following steps enable you to set up partition level access.

1. Create a Partition

From the EM console right click soa-infra and select manage partitions.  This will take you to the partition management page.

ManagePartitionsMenu[1]

From here click the Create button to bring up the Create New SOA Partition dialog which will allow you to choose a name for the partition (which cannot be changed) and a work manager to associate with the partition.

CreatePartition[1]

    2. Create User

Using EM or WebLogic consoles create a new user such as FinanceMonitor that will have restricted access to the domain.  This user should be assigned to the Monitor group.

GroupMembership[1]

3. Grant Role to User

Using the EM console right click soa-infra and select Security->Application Roles.  This will take you to the Application Roles page.

ApplicationRoles[1]

From this page scroll down to find the role you want to assign and then click edit which will take you to the Edit Application Role page.

ApplicationRolesPage[1]

Here you can click Add to add a user, group or another role to this role.

AddPrincipal[1]

Your user now has restricted access to the domain, being limited to his role on the given partition.

4. Test Access

We can test that the access is working as expected by logging on to the EM console as our new restricted partition user.

Note that our new user can only see the partition to which he has been assigned a role.

RestrictedViewEM[1]

Roles Available

There are several roles available, each partition has the same set of roles prefixed with the partition name.  The following roles are available and described in Table 7-2 Partition Roles.

  • Composer
  • Deployer
  • Tester
  • Monitor
  • ApplicationOperator

So the HR partition would have the roles HR_Composer, HR_Deployer etc.

Note that these roles are each quite restrictive.  For example our FinanceMonitor user cannot use the Test button because he lacks the Finance_Tester role.  A Finance_Tester cannot see the flow trace.  To enable our FinanceMonitor to run tests we would have to grant him the Finance_Tester role as well.

As an alternative to assigning multiple roles to a user or group you could create a role and grant it the multiple roles you required.

 If you see a blank screen when logging in it is likely that you forgot to assign the monitor role to your user.

Summary

The partitions in SOA Suite 12.1.3 are much more useful than those in 11g and allow separation of roles to control visibility and functionality available to EM users.  This is very easy to set up and manage.

Monday Jun 22, 2015

Oracle Announces Integration Cloud Service, the Next-Generation Integration Platform in the Cloud

Integrate

SAN FRANCISCO, CA – June 22, 2015 –  Oracle, the industry leader in applications and middleware, today officially launched a portfolio of Oracle Cloud Services including Integration Cloud Service (ICS), an innovative way to design and deliver integrations in the cloud. Larry Ellison, Chairman of the Board, and Thomas Kurian, President, unveiled the Oracle Cloud Platform Services to enable customers to integrate with next-generation cloud services, accelerate application development and deployment and transform customer businesses.

With the new Integration Cloud Service and its broad spectrum of on-premises SOA Suite product offerings, Oracle has delivered a comprehensive hybrid cloud platform and continues to establish thought leadership in enterprise cloud integration.

Oracle Integration Cloud Service is Oracle's integration Platform as a Service (iPaaS) . It provides a highly intuitive and simplified integration platform on the cloud with a point-and-click web based designer, comprehensive SaaS and on-premises connectivity portfolio with its library of adapters, intelligent mapping capabilities, and a rich dashboard for managing and monitoring integrations in one place.

Read full article...

Thursday Jun 11, 2015

Preparing Your Database for SOA Suite 12c

DB Prep

One of the things that struck me about joining Oracle almost 17 years ago was the sheer power and comprehensiveness of the Oracle Database.  I have never been a database guy, Oracle recruited me because I understood Java, and I have always worked with Oracle middleware.  But the awe of the capabilities of the database has never left me.  SOA Suite 12c uses the database for many things, including storing composites, storing composite execution state, storing human workflow state, persisting BAM data objects and so on.  Because of the reliance of SOA Suite on the database then getting the database set up properly is well worth the investment.

When running the Repository Creation Utility (RCU) you are asked about the size of the database required; small, medium or large.  All 3 sizes have the same table structures, but the large schema has a different storage structure.  It uses a database feature called partitioning which can help with managing database growth and accelerate the purge process.  Partitioning stripes a database table across multiple files based on a partition key, typically a date.  Default partitioning is based on monthly interval partitioning.  The benefit of this is that if all your composites from 3 months ago have completed then you can get rid of them from the database by just dropping the partition that holds the data from three months ago.  Scripts will check that you have no live data in the partition before you drop it.

Partitioning is just one of the cool features that SOA Suite uses in the oracle database. There are others.

So how do you know how to take best advantage of the database used by SOA?  Fortunately with 12c Oracle have significantly improved the tuning and management documentation for the database.  Below is a list of links I recently gathered for a large manufacturer who is going live on 12.1.3 over the next few months.  I think you will find them well worth the study.

Following documentation may be helpful in configuring database for 12c SOA


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.

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.



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

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.



Monday Nov 17, 2014

Enhance your Customer Experience with Oracle RightNow Cloud Adapter

Oracle RightNow Cloud, the eminent component of Oracle Service Cloud, makes it possible for organizations to better understand their customers, and quickly deliver apt answers through preferred service channels and devices. Whether your organization needs to deliver web customer service, enable a cross-channel contact center, or provide faster service in the field - Oracle RightNow Cloud makes it easy for customers to engage with your brands; your employees to serve customers; and your organization to adapt to changing business needs.

To fulfill more connections, more channels, and provide even greater flexibility of integration to better serve customers needs, Oracle Cloud Adapter for RightNow has been introduced on the market leading SOA Suite 12c platform.

Oracle Cloud Adapter for RightNow

The Oracle Cloud adapter for RightNow provides intuitive wizard based approach common to all Oracle Cloud Adapters. It eliminates the complexity of cloud integration by encapsulating session management, simplifying security, and pruning many manual steps. The graphical adapter provides highly declarative way to discover the RightNow objects and operations of choice, and build the integration. The RightNow Cloud Adapter lets you connect to other cloud and on-premise applications via Oracle SOA Suite 12c which supports over 200 integration adapters and technologies.

The time to market for service solutions spanning RightNow Cloud and on-premise applications (viz. E-Business Suite, Siebel, SAP), or other cloud applications will be significantly reduced by leveraging the RightNow Cloud Adapter. These solutions also expand the value of the applications to the organization. Some of the examples of complementary business solutions that will benefit from RightNow Cloud Adapter include:

  • Agent Dispatch for Field Service:  RightNow Cloud Agent interacts with a customer via phone, chat or email and leverages back office functionality to schedule and dispatch a technician.
  • Service interactions for Sales and Marketing: Share customer information with your marketing and sales automation applications, as well as enable your sales account management teams to view service incidents with products.
  • Agreement Renewals: Enable RightNow Cloud customers to renew agreements/contracts residing in a different application.
You can access the datasheetdocumentation, and more information about the RightNow Cloud Adapter on this website.

Tuesday Oct 14, 2014

Using PDBs with FMW

Plugging in Your FMW Repository

Power strip

The new pluggable database feature of Oracle Database 12c is incredibly useful for quickly spinning up new FMW repositories.  PDBs are now supported with FMW 12.1.3 (See Oracle Fusion Middleware 12c (12.1.3) Interoperability and Compatibility).  This allows you to run the Repository Configuration Assistant once, install the schemas you need, and then clone the database to get as many instances of the repository as you need with minimal effort on your part.  For example I recently was building a new image for some workshops.  I decided I probably wanted several different domains for different labs.  So I installed the schemas I needed in to a pluggable database using the RCU.  I then created a clone of my Pluggable Database (PDB) which I then used in a domain.  When I needed a new domain, I cloned the original PDB again and away I went.

How to Do It

  1. Create a Pluggable Database or use an existing one.
  2. Run the Repository Configuration Utility to create the schemas you need.  For the rest of this blog we will assume the prefix used was DEV.
  3. Clone the database by executing the following command (documented here)
    CREATE PLUGGABLE DATABASE soa3 from soa1;
  4. For convenience you may want to add the new instance to your TNS Names file.  This simplifies step 6.
  5. Start the Database
    STARTUP PLUGGABLE DATABASE soa3;
  6. Switch to PDB
    CONNECT dev_stb/welcome1@soa3
  7. Updated COMPONENT_SCHEMA_INFO table to refer to new database instance.
    UPDATE component_schema_info SET DB_SERVICE='SOA3.VBOX';
  8. If you want to auto-start the new PDB then from the CDB execute the command (only available from DB version 12.1.0.2)
    ALTER PLUGGABLE DATABASE soa3 SAVE STATE;

Explanations

The <PREFIX>_STB holds the credentials and connection details of all the schemas created in a given database with that prefix.  These details include the service name as well as host and port details of the listener.  Because each PDB has a unique name unless we change the service name we will still be pointing to the schemas in the original PDB, hence the need to update the DB_SERVICE column with the new PDB service name.

Benefits

So why is this useful.  A number of benefits spring to mind;

  • Easy to create additional dev/test/uat environments, especially helpful if other components also need to create schemas as not all applications use the <prefix> to keep multiple instances in the same database separate.
  • Easy to clone a production environment to allow testing in a copy of the production schemas without impacting the production environment.
  • Provides excellent isolation between environments over above having different prefixes.
  • Reduces time taken to run the RCU.
  • A helpful adjunct to the copy/paste commands provided by FMW for software and domain configurations, making it possible to clone entire environments very quickly.

Hope you find my first post as a member of the SOA Suite Product Management Team helpful.

Antony

Thursday Oct 02, 2014

SOA Suite 12c upgrade updates

This article provides two pieces of information for upgrade of soa suite.

The recommendation for free table space space for upgrade is atleast 25% free space for soa. 

The recommendation for free temp space for upgrade is atleast 800MB free temp space for soa.

If you want to upgrade a large number of jdeveloper projects in bulk without opening them one by one in jdeveloper, use jdeveloper tool ojmigrate installed in the 12c oracle home. 

ojmigrate [option]... file...|@file

Parameters (required)

file Workspace to migrate.

@file File with workspaces to migrate (one filename per line)

Options

-ade Connect to currnt ade view

-dry Dry run. Skips calling migrators

-failFast Stop migrating after first failure

-generateDefaults Don't migrate let. Let migrator helpers to generate files containing dafults for migration options. It will usually be migration.prperties file alongside the .jws file.

For more information on upgrade best practices, look here.

Tuesday Sep 30, 2014

Tips & Tricks: Oracle Cloud Adapters Expert Panel & More - OOW Recap

After a morning that kicked off with audience applause following the demo of the Oracle Cloud Integration Service iPaaS offering, a packed house during the Oracle Service Integration (SOA) Strategy session…the day of integration sessions continued.

Just about to implement the new Oracle Cloud Adapters and looking for expert insight?

Whether you are looking for an easier way to integrate cloud applications with your on-premise applications or maybe a partner looking to develop your own Oracle Cloud Adapter you can monetize…here are a few highlights from the Monday session:

Hilal Khan from OSI Consulting showed many images from the Oracle Cloud Adapter wizard including the image below highlighting the value of the “offline” mode that lets you build the integration without having to continually maintain a session with the SaaS application.   A significant ease-of-use feature that lets you build your integration much faster.  

Offline mode

Richard Holmes from Engineers Australia showcased a very comprehensive single slide view of their unified integration of Oracle middleware components including the Oracle Cloud Adapter that integrates Salesforce.com into their application infrastructure.  This infrastructure is what powers their MyPortal web site.  He then gave an impressive 5-minute demo showcasing the final end-user experience when using the Engineers Australia MyPortal. 

Engineers Australia

And finally, Raghu Kadirvelu from Bristlecone gave a thorough explanation of how the Oracle Cloud Adapter SDK works to let you build your own cloud adapters.  In the image below he described the flow of the Oracle Cloud Adapter SDK including the design time attributes in JDeveloper, the generation of the WSDL, the Cloud SDK runtime managing the session API, security API, transformation API, and the endpoint API.

Oracle Cloud Adapter SDK

If you have not heard of the Oracle Cloud Adapters, here is a quick synopsis:

Cloud integration was often a complex task involving many manual tasks including managing support for multiple previous versions of the application, session management, additional mapping tasks for transforming data between the cloud application and other applications and more. The new Oracle Cloud Adapters greatly simplify these manual steps and reduce maintenance costs by introducing a wizard-based standardized solution for integrating applications regardless of deployment in the cloud or on-premise.

UPDATE: The presentation from this session (direct link) is now uploaded.  You can search for other integration and SOA presentations on the OpenWorld portal or by accessing the Focus On SOA document.

Sunday Sep 28, 2014

OpenWorld panel: Expert Insights into Faster Oracle SOA Suite Project Delivery

Oracle OpenWorld is starting today and I wanted to take the opportunity to tell you a little bit more about one of our not to be missed panels. We thought long and hard about the ideal combination of speakers for a session whose focus is around sharing unique insights into successful and fast delivery of Oracle SOA Suite projects. After tossing a few ideas around with my colleague Bruce Tierney, Director of Product Marketing, who will be the moderator on Thursday, we decided that our partners, who gain their experience with a number of customers throughout many years, are uniquely positioned for what we had in mind.

Let me quickly introduce them to you:

Guido Schmutz works for the Oracle Platinum Partner Trivadis. He has been working in the IT for more than 25 years with a long-time experience as developer, coach, trainer, and architect. Currently, he is focusing on the design and implementation of SOA and BPM projects using the Oracle SOA stack. Another area of interest are Big Data and Fast Data solutions, and how to combine these emerging technologies in a modern information and software architecture. Guido is an Oracle ACE director for Fusion Middleware and SOA and a regular speaker at international conferences. He is also co-author of the books "Oracle Service Bus 11g Development Cookbook", "Do more with SOA Integration: Best of Packt" and "Service-Oriented Architecture: An Integration Blueprint".

Dan Reynebeau has been working in the IT industry for over 25 years, much of which was focused on complex and high volume enterprise systems development and integration based on IBM and Oracle technology platforms.  Dan has spent the majority of the past 10 years leading large scale implementations based on the Oracle Fusion Middleware and SOA platform. Dan is currently a partner at Flexagon, a software company focused on Oracle Fusion Middleware services and software automation products.  Flexagon recently announced its breakthrough Application Release Automation tool called FlexDeploy, where Dan has been an architect and engineer from product inception.

Peter Ebell is a lead developer and technical architect at AMIS Services in the Netherlands, a consultancy firm specialized in Oracle technology. Prior to joining AMIS in 2006, he worked for 9 years at Oracle as a custom development consultant, starting with Forms/Designer and quickly moving to Java/ADF. In 2004, he switched his attention to BPEL and the SOA Suite when he got involved with one of the largest implementations of the SOA Suite in the Netherlands, at the Rabobank. Since then, he has specialized in all aspects of SOA development, implementing solutions based on the Oracle SOA product stack at dozens of companies across all industries. 

Here are some samples of what you will learn during the panel: 

Everybody knows that IT projects are always under pressure to meet deadlines and go live as soon as possible - and SOA projects are no different. However, SOA is an architecture where its main "value added" lies in the future, because, if done right, it yields a decoupled IT landscape with a high potential for re-use and agility.

Therefore, even with the first SOA project a company undertakes, one should focus on speed of delivery in the long term. And that shifts the question from "how can our developers write code faster" to a much broader question: "how can we design, develop, test, deploy and monitor software better and faster, while maximizing the long term benefits that SOA promises".

First Peter will address some best practices, common pitfalls and focus areas across the entire spectrum of developing and releasing SOA applications, from the broader perspective. 

Then Dan will discuss how to future proof SOA Suite through changes to people, process and technology and how to enable organizations to develop maintainable and high quality products through role responsibilities, best practices and better utilization of SOA Suite features. 

Last, but not least, Guido will highlight that the architecture and choosing the right technology is key for the implementation of a successful SOA project. He will present the different functionalities/properties provided by the SOA Suite core components (BPEL, Mediator, Service Bus and Oracle Event Processing) and show which of these functionalities are supported out-of-the-box by the different components and where they are overlapping. The presentation will end with positioning Fusion Middleware and SOA in an Enterprise Architecture. 

You can find the abstract for this and other integration sessions in the Focus on SOA document.  

Mark your calendars for the session below.  

Expert Insights into Faster Oracle SOA Suite Project Delivery

Peter Ebell, AMIS Holding B.V.
Dan Reynebeau, Principal Architect, Flexagon
Guido Schmutz, Technology Manager, Trivadis AG

Simone Geib, Director Product Management, Oracle
Bruce Tierney, Director of Product Marketing, 

Thursday, 10/02, 12:00 PM - 12:45 PM, Moscone South - 236 CON6255 

Thursday Sep 25, 2014

OpenWorld Preview: Service Integration Strategy Session - Cloud, API Mgmt and More

Every year at Oracle OpenWorld, there is one headliner/must-see strategy session on Oracle SOA Suite/Service Integration.Session Image This year, the headliner integration session will cover some big topics including cloud integration, API Management, and much more.

I interviewed Director of Product Management for Oracle Service Integration Simone Geib who is co-presenting with Senior Director of Product Management Vikas Anand, to get a sneak peak at what is coming in this integration strategy session:

Bruce:

This appears to be the most exciting strategy session in the last 5 years.  Why is there so much interest?

Simone:

This is a very special year for the Oracle Service Integration team.  I don't think we have ever had so many new and game changing enhancements to talk about.  We will share our strategy around the main industry trends: API management, cloud, mobile, and IoT. We will also discuss the new upcoming SOA Suite features for our power users and also give insight into what we have planned specifically for business users.

Bruce:

You mentioned API management...can you give a preview on what will be covered?

Simone: 

API Management solutions are about delivering easy and managed access to enterprise API's across the Digital Enterprise - covering on-premise, cloud and hybrid deployments and reaching beyond the traditional boundaries of IT. Businesses need tools that streamline API creation, collection, publication, discovery, registration and monitoring for mobile and on-premise applications.  We will discuss these topics during the session.

Bruce:

Definitely expanding well beyond traditional behind-the-firewall integration.  Good to hear this will be covered.  What about Cloud Integration in the areas of Integration Platform as a Service (iPaaS) and new Oracle Cloud Adapters?

Simone:

We will cover both of these areas.  Oracle's Cloud integration strategy is multi-faceted, from using existing on premise SOA deployments with our new cloud adapters, to being able to run SOA environments in the cloud, to new cloud-based iPaaS services with a simplified user experience for quick SaaS to SaaS and SaaS to on-premise application integration. Whatever the needs, Oracle's strategic direction for cloud integration has you covered. 

Bruce:

Good to hear.  Integration based in the cloud (iPaaS) or on-premise as well as support for the applications in the cloud or on-premise.  I see what you mean by fit your business requirements.  There has been a lot of buzz specifically in iPaaS, so looking forward to that.  So what about enhancements for existing customers?  What can you share for the "power" user of Oracle SOA Suite?

Simone:

Sure.  In response to what our customers are asking for, the plan is for an upcoming SOA Suite release to offer operational enhancements like smaller database footprint, agile patching of running composites, multi tenancy and more.  Details will be revealed during our session.

Bruce:

So plenty for the power IT user.  What about the business users.  What is available and underway for them?

Simone:

We will cover topics, new and futures, that target the business user.  Customers use SOA Suite to deploy critical integration processes and applications to run their business. With Business Activity Monitoring (BAM) and other analytics capabilities, you gain historical and real-time critical insight into the business using out of the box dashboards and reports. When certain patterns are detected and thresholds are reached, there is a need to easily configure automatic corrective action.  We will cover what joined SOA Suite in the 12c release and what is underway.

Bruce:

Looks like even deeper visibility into the business than what's available now.  And finally, how to integrate all of the data coming from Internet of Things (IoT) and other Fast Data sources.  Can you provide some background here?

Simone:

Absolutely.  We will discuss new developments related to managing and filtering the critical vs. non-critical information streaming from devices, social media, and more and how to integrate this with the rest of the infrastructure.  How do you detect instant business threats and how do you quickly identify business opportunities that otherwise might not have been detected by traditional threshold-based alerts?  Rather than implementing a disparate architecture, Oracle has put significant effort into unifying event processing into the same interface as the enterprise integration platform with the goal of simplifying integration instead of requiring customers to have another "integration platform" to manage.

Bruce:

Thank you Simone and looking forward to the session.  You'll have to talk fast to cover all of that in 45 minutes!

Please see the abstract for this and other integration sessions in the Focus on SOA document.  
For everyone attending, mark you calendars for the session below.   Hope to see you there.

Service Integration Product Strategy: Oracle SOA Suite 12c, the Cloud, and API Management

Vikas Anand, Senior Director, Business Integration Product Management, Oracle

Simone Geib, Director, Business Integration Product Management, Oracle

11:45 AM - 12:30 PM Moscone South - 302            CON7736

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
« September 2015
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today