Sunday, January 22, 2012

Building and Deploying Enterprise Application

If you are building enterprise application you should consider breaking down your modules into workspaces and then deploy these applications separately as shared libraries, then consume through user shell interface.

we will discuses here how to create and deploy shared library, and then how to call task flows in a dynamic region from different shared libraries.

Before we begin you should consider the naming convention and its uniqueness through shared applications. Each project or workspace must have its unique name, the packages inside should be unique as well, the model and viewcontroller projects should have also unique package naming, as an example (com.google.hr) (com.google.crm).


In here we will create two applications, one will be the shared adf library packaged entirely built as ADF application (ChildApp), the second one the Main application (Parent App) that will call the taskflows as dynamic regions from the shared module.


For the ChildApp,  what you need to do after building it is to create a MAINFEST.MF file that have the appropriate extension name and version for your application, the MAINFEST.MF file should be created under src/META-INFO/ directory with the following entries:

Manifest-Version: 1.0
Implementation-Title: webBrain
Extension-Name: webbrain.shared.lib
Specification-Version: 1.0.0
Implementation-Version: 1.0.0
Implementation-Vendor: webBrain

You need to create two deployment descriptors, the first one will be as a WAR file with empty context root.
 

and then you need to add the MAINFEST file created to war options.


Then you need to deploy your war file to weblogic as shared library.


Then you have to create new deployment descriptor and deploy the application as ADF Library Jar file for the sake of compilation at the Main parent application.


At the Main Parent application you need to add the library under the libraries and classpth for your project.


add a dynamic region for your jsf page with managed bean to control the dynamic region taskflows.



modify or create the weblogic.xml file to point the shared library deployed to weblogic server.


remove the ADF Library from the deployment filters, then deploy the main Parent application.

Wednesday, January 11, 2012

Arabic Hijra Calender - UM AL-Qura


I almost done developing Hejira Calender using ADF as declarative component. The calender is based on Um AL-Qura, and can be used inside pages, fragments, popups and tables. The calender relies on database and uses pure ADF without any JavaScript injection.




Successfully configured Oracle Report Server 11.1.1.2 to generate Arabic PDF reports

Today I Successfully configured Oracle Report Server 11.1.1.2 to generate Arabic PDF reports. really it was headache, and turns out to be a bug at the end.

Friday, December 30, 2011

Reference attributes in other view objects using groovy

This post is based on a question I asked to Mr.Andrejus Baranovskis's on his public Wiki. How to reference attributes in different view objects through groovy.

 And he answered me that its doable after exposing the ViewLink Accessor between the two view objects and then accessing the attribute through ViewlinkAccessor.AttributeName

He posted the last post for this year on his blog with an example, just follow the link:

http://andrejusb.blogspot.com/2011/12/groovy-with-view-link-accessor.html


Friday, December 16, 2011

Add Custom validator - nicely attached to InputText Field

After building your business components, and adding your view object through data controls to the jspx or jsff page as editiable field you need to do the following:

- Add a new Java bean to your application resources in my case I named it TestValidation.
- Select the InputText field, and in property inspector go to Behavior property, then inside Validator area select edit to add new custom validator.





- Then it will build a method inside your bean with list of params will be used during validation phase.






-  Write the business logic you need to check the value of the input filed, the object param contains the new entered value.
- Then throw the validationException with custom message to your current FacesContext.
- At runtime you will get a nicely error message attached to the InputText field.



Monday, December 12, 2011

I did technical review on this book - Oracle ADF Enterprise Application Development—Made Simple

  • Develop an ADF application quickly using database tables together with common ADF user interface components and data visualization components.
  • Estimate the effort required to build an ADF enterprise application.
  • Organize the development team, choose support tools, and write development guidelines to ensure a uniform development approach.
  • Set up the necessary infrastructure and configure a development workstation.
  • Develop necessary templates and framework classes to allow productive and flexible development.
  • Build a complete application using all the enterprise support tools.
  • Test your ADF enterprise application at the component, integration, and system levels.
  • Use skinning to change the look of the application to correspond to the enterprise's visual identity.
  • Customize the application to meet the needs and expectations of different users.
  • Secure the enterprise application and assign roles for specific functionality.
Book in Details