Tuesday, December 22, 2009

ADF vs Adobe Flex

Compare ADF to Adobe Flex and see what the differences are.

resources:
APEX (Oracle Application Express vs. ADF): points of difference can be relevant.
http://www.oraclecommunity.net/forum/topic/show?id=1988559:Topic:3677

Monday, December 21, 2009

Running ADF on different containers

Here is a starting point for this topic.

http://matthiaswessendorf.wordpress.com/2009/12/11/running-adf-on-different-containers/

Objective:

- develop an understanding on the options that are available to deploy a jdev application

- whether each component (adf, soa, web centre) have different needs

- ultimately present a proposal on how the customers can deploy the application with minimum additional investment.

the Jdev environment

This post should cover the following items:

- the Fusion environment: development and deployment
- what pieces are required for which features
- how much ram would each piece need
- what activities need to be performed on deployment.

Also to be addressed:

- why we need sample application
- why the sample application needs to be deployed. analysts

Tuesday, December 15, 2009

JSR 227 – Data Controls – Bindings

JSR 227 (Java Specification Request 227)
Aims at decoupling User Interface technology from the business service implementation.
It established a common API, and meta data format that will allow a standard way to bind data from a business service to UI components. This will allow a plug and play approach where any UI component can bind to any business service as long as they both implement the standard API. This not only simplifies development of RIA but encourage creation and easy adoptability of new types of UI components.
Oracle submitted JSR 227 in June 2003. The following companies supported it Apache, Apple, Borland, Cisco, Fujitsu, HP, Iona, Macromedia, Nokia, SAP, and Sun.

Oracle ADF implements these two concepts of JSR 227 through Data controls and Declarative bindings.
Data controls abstract the implementation technology of a business service by using standard metadata interfaces to describe the service's operations and data collections, including information about the properties, methods, and types involved.
Declarative bindings abstract the details of accessing data from data collections in a data control and of invoking its operations.

Reference: http://www.oracle.com/technology/products/jdev/htdocs/techinfo/jsr227.html

http://jcp.org/en/jsr/detail?id=227

Here is a good presentation by Duncan Mills on JSR 227

http://www.nljug.org/pages/events/content/jfall_2005/sessions/00016/slides.pdf/

ADF Faces briefly

As internet applications developed there was a greater value in having them behave like desktop applications. Vendors created RIA fwks that required users to install plugins to be able to use their features. As java web applications became more popular there was a need identified to have a standard view-layer framework. JCP (java community process) developer JSF as a UI standard for java web applications.

JSF being a part of the Java EE standard, vendors developed their own components that could run on any compliant application server. These components would be more sophisticated. Oracle developed a set of components called ADF Faces that exceeded the the functionality of standard JSF components and can run on any runtime implementation of JSF. Along with providing more complex components ADF faces also introduce partial page rendering (PPR) with AJAX.

Oracle has since donated the ADF Faces component libraray to Apache Software Foundation and is known as Apache MyFaces Trinidad.

AJAX  (Asynchronous JavaScript and XML) is a set of technologies that allow for creation of interactive web applications. These technologies are implemented on the client side and enable the web page to retrieve data from the server, asynchronously in the background, without affective the display or state of the page. Data is usually retrieved using XMLHttpRequest object. Despite the name the user of JavaScript, XML is not actually required and the request might not necessarily be asynchronous.

About jdev application files

When a new Fusion Web Application (ADF) is created the following projects, directories and files appear. These are explained here

image

Wednesday, December 9, 2009

Understanding the Sample Application

In Standalone Example > Advanced UI Examples following two projects are there:

1. Cascade Lov Sample project

A Dependent LOV can be created. In this example if a different Country is selected then the states defined for that country will show up in the StateProvince field.

image

2. Multiple Record Return List project

Ability to define dependent fields. Changing the value for the master field, changes the values in the dependent fields.

In this example Ship To Address ID is the master field. Changing the value of the address id results in the address information getting changed.

image

image

Setting up a SOA schema

When using an Oracle XE database for hosting a fusion web application along with SOA.

Install the Universal edition (as against the Western Europe) edition of Oracle XE. The universal edition uses UTF8 character set which is recommended for SOA.

Once the database is installed you will have to change certain init param parameters. If not done the installer will crib about it and it might also fail.

Connect to the db using SQLPlus.

See the current value of the parameters by executing the commands as shown in the picture.

image

Alter the values of the parameters by executing the two command shown below.

image

Stop and restart the database;

Connect to it with SQLPlus.

Execute the show commands to check whether the parameter changes have taken effect.

image

Now you are all set to run the RCU and install the schemas.

Friday, December 4, 2009

Apache ant and ADF Sample project.

Apache ant is an tool that allows for automation of software build processes. It is similar to make, but it is implemented using Java. Ant usese XML to describe the build process.
Its an acronym for "Another Neat Tool". Its an apache project released under the Apache Software License. Its an open source software.
reference: wikipedia (http://en.wikipedia.org/wiki/Apache_Ant)

The jdeveloper sample application uses Ant to create the database schema for the sample applications schema objects.

I had to modify this Ant project so that it was able to create a schema in the tablespace and temp tablespace of users choice. Though this (tablespace) information was being captured in the properties file, the actual scripts were not using it, and were rather writing to the USER tablespace.

Here are the modifications that I made to make it run.

Added parameters 3 and 4 so that the tablespace name and the temp tablespace name could be passed in to the sql script.

image

image

image