Configuring and administering JCA adapters and binding components

After deploying the composite to the SOA infrastructure, one of the main things to address is how to manage and configure properties for binding components packaged inside. Binding components are network protocols and mechanisms connecting your composite to external services, applications, and technologies (such as messaging queues, databases, web services, and so on.). Binding components in Oracle SOA Suite 12c are of two kinds:

  • Services: Services provide an entry point to the composite and advertise their capabilities to external applications by exchanging their service metadata information through a WSDL (Web Service Definition Language) file. The service bindings define how client applications can invoke a composite. Examples of service bindings from the sales order composite in Figure 7.10 are an HTTP-based web service, JCA (Java EE Connector Architecture) based file polling service, and a Direct Binding service.
  • References: References enable message exchanges between composites and externally deployed services. Examine the sales order composite diagram in Figure 7.10 to see how an HTTP-based, third-party web service; a JCA based database adapter; and a Web Service Invocation Framework (WSIF) type notification service act as reference bindings in the composite assembly.

Configuring and managing service bindings

Oracle Enterprise Manager Fusion Middleware Control allows you to perform service binding administration tasks, such as attaching policies, managing errored-out messages, and setting binding properties. Depending upon your preference, there are two available mechanisms to configure binding properties. Figure 7.22 shows the property configuration screens for a service (SalesBookingBusinessProcess.service) in a composite application (OrderBookingComposite).

Service binding properties can be accessed by either navigating to SOA Composite | Service/Reference Properties | [Service] | Properties or to Application Defined MBeans via oracle.soa.config | Server: soa_server1 | SCA Composite | [Composite] | SCAComposite.SCAService | [Service]. The System MBean Browser dashboard enables you to modify some advanced properties that aren't available under the Properties tab.

The following screenshot displays the MBean attributes for a particular service:

Configuring and managing service bindings

Figure 7.22: Configuring service binding properties

You can configure activation specifications of a service binding component. For example, you can enable REST support by enabling its WSDL support for MTOM (a method of efficiently sending binary data to and from Web Services), set finer logging levels, and enable incoming message semantic validation, among other things.

Note

You can read more about Message Transmission Optimization Mechanism (MTOM) at http://www.w3.org/TR/soap12-mtom/.

That's not all. If you wish to save yourself from the painful navigation on the consoles, here are the WLST commands to configure them:

connect('<username>','<password>','<soahost>:<soaport>')
custom()
cd('oracle.soa.config/oracle.soa.config:name=SalesOrderBatch,revision=1.0,partition=default,wsconfigtype=WebServiceConfig,SCAComposite="OrderBookingComposite",label=soa_54cfa256-b86a-4eec-8503-020ac5a12f5a,j2eeType=SCAComposite.SCAService,Application=soa-infra')
ls()
exit()

In case you are wondering where to get the directory path to the MBean, Figure 7.23 shows how it is made available by expanding the Configuring and managing service bindings icon beside Show MBean Information:

Configuring and managing service bindings

Figure 7.23: Viewing MBean metadata information in System MBean Browser

Our case study has multiple entry points to the composite. The business process, in here, is also initiated when a certain file is available in a certain polling directory. It is very common that the nature of the file being polled or the polling directory itself needs to be changed upon composite deployment. Let's assume that the PhysicalDirectory path specified by the developer was C:soasalesorderfile for a Windows-based development environment. This might need to be changed once the composite is deployed to a Linux server. One way to do this is by overriding the polling directory location during composite deployment using a configuration plan as discussed in Chapter 5, Deploying Code.

The Figure 7.24 depicts another way to modify properties for the JCA file adapter on the OrderBookingComposite, which is from its Properties tab at runtime. You can manually edit the adapter binding properties to change the polling directory, polling frequency, batch size, setting for whether to delete the file once it is read, and many other properties related to adapter activation specifications. Depending upon the JCA adapter (file, database, JMS, and so on), different properties are displayed for configuration. Apart from what is displayed on the screen you can also add more properties by clicking the Configuring and managing service bindings icon. This will pop up additional properties for the selected service binding as shown in the following screenshot:

Configuring and managing service bindings

Figure 7.24: Activation Specification Properties dashboard of Inbound JCA File Adapter

Configuring and managing reference bindings

Administering reference bindings is absolutely vital as impeding or slowly responding endpoints can induce latency in your entire infrastructure. It is often better to configure a timeout setting with a scheduled retry when interacting with external systems as there is little or no control over them. If the endpoints are unavailable or perform poorly, discontinue processing the instance rather than keep the thread hanging. Such faulted instances can then be recovered automatically or manually when the external systems are up and running again.

The OrderBookingComposite application in our case study interacts with an external web service and a database. You can also administer interaction specifications (for references) and endpoint properties, such as timeouts, thresholds, retry intervals, and more, for the JCA-based database adapter and web service bindings.

The reference Properties tab even has an Endpoint Address property field. Setting a value for an endpoint here will override the one configured in the WSDL. Figure 7.25 shows the Reference Home page in which you can override this and other properties. There are, however, a few important things to keep in mind while configuring these properties:

  • If jca.retry.* based endpoint properties are added or removed, the composite application containing them needs to be redeployed for changes to take effect.
  • If the non-registered JCA binding level properties are manually added in the composite.xml file, these and other registered properties for that reference cannot be edited from Oracle Enterprise Manager Fusion Middleware Control.
  • There are no restrictions on adding, removing, or changing JCA endpoint properties at runtime if not specified at design time. Adapters get notified of the changes automatically and the composite does not require redeployment.

The following screenshot displays the properties for a composite reference:

Configuring and managing reference bindings

Figure 7.25: Configuring Interaction Specification Properties for references

Resource adapters are defined and deployed at the domain creation/configuration stage and by default always start up within the J2EE container on the relevant target by default. All resource adapters, barring the file adapter, are referenced from a composite by way of a JNDI location that is part of its design time configuration. This JNDI location references the WebLogic Server layer via JCA. At runtime, the deployment descriptor of an adapter must associate the JNDI name with configuration properties (such as the host and port of a socket adapter, the channel and host of an MQ Server, the directory on the filesystems for a file adapter, and so on) required by the adapter to access the backend information source.

Monitoring these resource adapters is critical to ensuring that the deployed composites can execute process instances without errors. Oracle Enterprise Manager Fusion Middleware Control provides the ability to configure diagnostic reports at an individual adapter configuration used within a composite either as a service or reference. Upon enabling diagnostics for adapter references, administrators are able to view their real-time status as well as obtain snapshot information of its behavior over a period of time. The report also shows message statistics providing key insight into the performance of the adapter reference. To enable and obtain diagnostics metrics for adapter references used within a composite, follow the steps outlined here:

  1. Navigate to the composite dashboard by clicking on a particular composite (OrderBookingComposite, in this example). The composite dashboard reveals all components, services, and references used in it.
  2. Click on any resource adapter configuration that is of JCA adapter type.
  3. Click on the Adapter Reports tab.
    • Enable the Enable Reports checkbox to see configuration, real time monitoring, and snapshot reports for the adapter configuration.
    • The Configuration Reports provide connectivity information, adapter definition, and tuning properties.
    • The Monitoring Reports show the real-time statistics for the adapter endpoint, such as the connection status of the adapter along with its threadpool metrics.
    • The Snapshot Reports provide historical connectivity and message statistics aggregated over a period of time.

The following screenshot shows a snapshot of the adapter reports as available on the Fusion Middleware Control:

Configuring and managing reference bindings

Figure 7.26: Adapter configuration report for EIS connections

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.217.206.112