Sunday, April 13, 2014

ADF - BAM Data Control

Recently, I tried to integrate BAM server data objects with ADF application using BAM data control. When I tried to deploy and test the application, I faced couple of issues as mentioned below.

1. Error in log file:
<Mar 10, 2014 3:54:54 PM IST> <Warning> <oracle.adf.controller.faces.lifecycle.Utils> <BEA-000000> <ADF: Adding the following JSF error message: Failed handling event FirstGetOnDataProvider on QueryConfigured
        at oracle.tip.tools.ide.bam.dc.rt.provider.paging.PagingCollection.iterator(PagingCollection.java:152)
        at oracle.adf.model.bean.DCDataVO.buildProviderIterator(DCDataVO.java:1319)
        at oracle.adf.model.bean.DCDataVO.access$100(DCDataVO.java:86)
        at oracle.adf.model.bean.DCDataVO$DCObjectAdapter.refreshIterator(DCDataVO.java:2923)
        at oracle.adf.model.bean.DCDataVO.executeQueryForCollection(DCDataVO.java:404)

        at oracle.tip.tools.ide.bam.dc.dt.adapter.BAMDataControlDataVO.executeQueryForCollection(BAMDataControlDataVO.java:83)

2. Not able to configure BAM server connection as ADF connection configuration page is not visible in EM console.

Solution:
Step 1: The application must be deployed using MDS. Enable MDS customization as shown below and deploy the application to WLS server. While deploying application, you may need to choose MDS repository


Step 2: Login to EM and select respective ADF application. From the Application deployment menu, select ADF –> ADF Connections. Create BAM server connection and test application.



Refer to following documentation to understand ADF & BAM intergration....Click here

af:query - CSS

By default, when we drag and drop view object instance as af:query declarative component on a page, the af:query renders view object attributes based on column length/precision as shown below.


In case, if we want to align the fields properly in view layer irrespective of model layer attribute values, CSS will help us to do that.
  •  Create a CSS file and declare it in trinidad-skins.xml
<?xml version="1.0" encoding="UTF-8" ?>
<skins xmlns="http://myfaces.apache.org/trinidad/skin">
  <skin>
    <id>myskin.desktop</id>
    <family>customskin</family>
    <extends>fusionFx-v1.desktop</extends>
    <style-sheet-name>css/employees.css</style-sheet-name>
  </skin>
</skins>
  • Open trinidad-config.xml file and override existing values with custom skin created in above step
<?xml version="1.0" encoding="UTF-8"?>
<trinidad-config xmlns="http://myfaces.apache.org/trinidad/config">
    <skin-family>customskin</skin-family>  
</trinidad-config>
  • Open CSS file and add following values based on number of attributes defined in View object
.CustomQueryPanel tr[_rowkey='0'] input{
width: 320px !important;
}
.CustomQueryPanel tr[_rowkey='1'] input{
width: 320px !important;
}
.CustomQueryPanel tr[_rowkey='2'] input{
width: 320px !important;
}
.................................
.................................
.CustomQueryPanel tr[_rowkey='9'] input{
width: 320px !important;
}
  • Open JSP page and add the CSS class name mentioned in CSS file to styleClass property of af:query and run page
      <af:query id="qryId1" headerText="Search" disclosed="true"
            value="#{bindings.ImplicitViewCriteriaQuery.queryDescriptor}"
            model="#{bindings.ImplicitViewCriteriaQuery.queryModel}"
            queryListener="#{bindings.ImplicitViewCriteriaQuery.processQuery}"
            queryOperationListener="#{bindings.ImplicitViewCriteriaQuery.processQueryOperation}"
       resultComponentId="::pc3:resId1" rows="5" maxColumns="2" styleClass="CustomQueryPanel"/>

Result:

In case, if we want to restrict a view object attribute to not to display in query able attributes list, we have two options.

Option 1.  Create a custom view criteria and use it as a query component in a page
Option 2.  Go to view object declaration and make attribute property 'Queryable' as false.




Wednesday, April 9, 2014

Introduction to OPAM

Oracle Privileged Account Manager (OPAM) is a secure password management solution designed to generate, provision, and manage access to passwords for privileged accounts like Linux/Unix "root" or Oracle database "SYS" accounts. It enables auditing and establishes accountability for users who normally share privileged account credentials, and additional user Session Management and Recording.

Important Features:
  • Rich set of target connectors for Information Technology (IT) resources such as operating systems (e.g., UNIX), database servers (e.g., Oracle Database, Microsoft SQL Server, or IBM DB2), user directories (e.g.,Oracle Directory Services or Microsoft Windows Active Directory Services), network devices (routers, load balancers, firewalls), and enterprise resource planning applications (e.g., human capital management). Privileged users include system, database, and network administrators, support personnel (e.g., help desk), as well as application owners.
  • Leverage Oracle Database Vault and Transparent Data Encryption (TDE) for additional security.
  • Metadata information and passwords managed by OPAM are encrypted and persisted in an Oracle Database.
Sample Screenshots:
Add Target:


Add Accounts


Grant Account Access to Users/Groups


CheckOut History

Password Policies


Usage Policies


Password CheckOut



Password CheckIn