Tuesday, April 21, 2015

ADF Logging in Different Applications Deployed on Managed Server

There are many detailed useful blogs on ADF Logging which provide full details on understanding the details and how to implement and configure it.

This post is for my future reference as how to enable/configure ADF Logging for multiple applications deployed on Weblogic Managed Server.

Use Case : Enable ADF Logging for multiple applications deployed on Weblogic Managed Server.

Lets Get Started.

Important thing to understand here is that for ADF Logging to be implemented correctly Package Structure for the application plays a very important role. So as a common/best practice , package structures should be defined correctly for all the Managed Beans/Java Classes in the application. Also packages structures should be able to differentiate the ManagedBeans/Java Classes in different applications.

Ideally a unique root package name for the application should be given at project creation time in Jdeveloper.

Sunday, April 12, 2015

ADF BC Web Service - Return List of Complex Types

ADF Business Components can be exposed as SOAP Services. Application Module provides Service Interfaces as a way to define operations for the services to be exposed. Custom methods written in AMImpl class can also be exposed as operation of web services.

But one of the limitation is that there is restriction on return types from the services exposed as service interface from Application Module.

In this post we will see how easily we can develop a web service using ADF BC Service Interface and can tweak/use one of the given returnType List<ViewRowImpl>  to return list of complex type object.

Use case here is to create an operation in ApplicationModuleImpl class to return List of Object consiting of three variables -  DepartmentName,ManagerId,IsManagerFlag and expose the operation as ADF BC Service Interface SOAP Service. (Jdeveloper 11.1.1.7)


So Lets get started

Created a simple ADF Web Application using HR Schema and created DepartmentsEO , VO and AM and there respective Java Classes.

Create a Programmatic VO - WSResultPVO which will be returned from the operation of the WebService.

Wednesday, March 11, 2015

IFrame in ADF Application - Menu and Show Page in IFrame

ADF Applications uses power of reusable task flows to be embed as regions in the page, which can be refreshed based on the use cases.

But there are some requirements by the clients which still emphasize on using Iframe to display different applications inside one application.

Suppose there is a requirement where there are 3 applications A,B and Consuming Application. All three applications A,B and Consuming needs to be deployed as separate EAR(Applications) and Consuming App needs to display the A and B Applications pages inside its main page.

Portal architecture can also fit for this requirement but if there is only ADF you need to implement this, the only choice to do is using Iframe.

In this post I will explain you how we can create a menu and show another application in IFrame in ADF Application.

Friday, February 27, 2015

ADF Bindings & Data Controls - NIAIOUG Webinar

Presented ADF Bindings and Data Controls webinar session for February event. Below is the presentation.

Friday, February 13, 2015

Deploy ADF Library Jar as shared library and refer it from Consuming App

In this post I will explain a way to create an ADF application consisting of task flows as ADF Library jar and deploy it as shared library and then refer it in your Consuming Application. In this scenerio, we will not be creating a WAR, rather we will be deploying ADF Library Jar as shared library.
In this case we dont need to create weblogic.xml . We will use weblogic-application.xml which is already there in META-INF folder when we create ADF Application.

Created an ADF Application TaskFlowFirstApp.

The TaskFlowFirstApp is just having a TaskFlow with one fragment which displays Departments table out of DepartmentsVO.



The Task Flow application is deployed as a ADF Library Jar.  While creating the deployment profile for ADF Library Jar, need to add the MANIFEST.MF File like below.


ADF Shared Library - Deploying ADF War as Shared Lib

In Oracle ADF Applications , mostly the architecture is like there are task flow applications which can be based on module and then there is one main consuming application.

In this post we will see how we can deploy the ADF applications as Shared Library. ADF Application consisting of task flow will be packed as WAR and will be deployed as shared library to weblogic. Then The Main Consuming Application will refer the Task Flow App and use the task flow from shared library.

Lets get started.

Created a simple ADF Application and created DepartmentsEO/VO out of HR Schema in Model project. ViewController project consist of Task Flow with one page fragment which has an output text and a ADF Table out of DepartmentsVO.  Also created a DataSource jdbc/HRDS in weblogic console and Application Module is referring to this DS.


Monday, February 9, 2015

JpsAnonymousRoleImpl Issue for Custom Login page Using Managed Bean in ADF

While implementing Custom Login page using Bean Custom Login Page using Login Bean in ADF, once you do all the steps and run the login you get a nasty exception below:

This example was created using Jdev 11.1.1.7
 oracle.security.jps.JpsException: java.lang.IllegalArgumentException: oracle.security.jps.internal.core.principals.JpsAnonymousRoleImpl


Hmm we did all the steps correctly but face this exception while running the CustomLogin Page.

So while troubleshooting the problem, figured out that there is some problem with jazn-data.xml.

First lets removed the annonymous-role which is been given to CustomLogin.jspx.