Showing posts with label oracle adf. Show all posts
Showing posts with label oracle adf. Show all posts

Tuesday, July 23

JDBC 12c: Do you reimplement Forms with PL/SQL Types in ADF ? You should look at Database 12c first !

Many customers who want to go  the next step in their Oracle technology strategy towards ADF have  a lot of Forms and PL/SQL Code in the back.

One of a widely used design pattern in Oracle Forms is the use of PL/SQL Types (type mytyp of employees%rowtype, type mytbl table of mytyp) to build up a clean interface between Forms and the Database.

Before Database 12cR1 there was no way to use this PL/SQL Types with the Oracle JDBC drivers. Beginning with the JDBC 12.1.0.x and the 12gR1 database now this is possible.

So you don't need anymore to write or generate PL/SQL Types to SQL Object Types and back again.

Often time the tool JPublisher is used for this part of code generation.

So here my test drive:

Environment 

- JDeveloper 12cR1
- Oracle Database 12cR1
- JDBC Driver 12cR1
- HR Schema

1.) Database Code with PL/SQL Type 



JDeveloper 12c

First of all the new JDeveloper doesn't use the 12c JDBC driver out of the box. So you have to bring the JARs by yourself into the Classpath. Do not replace the old driver in oracle.modules - path. This was a no go for me. Separate the things !


You need: ojdbc7dms.jar and orai18n.jar (7 for JDK  / 6 for JDK 6)

For more informationen about JDBC 12c with WLS 12c and 10.3.6 take a look at MOS Article: 1564509.1

1.) Use JDBC 12c with JDeveloper 12c



For the test drive put the JDBC driver in front of everything to be sure the right classes are used by the class loader. Maybe you setup up a JDeveloper Library. 

2.) Java Sample Code



3.) Output



Conclusion 

I tried the same with Database 11gR2 Express Edition and i got the following error:

SQLException invalid name pattern: ….

I think this feature is only available with Database 12cR1. 

So if your timeline allows you to bring Database 12c in your project and you have  a lot of PL/SQL Types inside your Database you should have to think twice. Maybe you can save all the plsql wrapper code with Database 12c.

More Information

Oracle® Database JDBC Developer's Guide - 12c Release 1 (12.1)

Friday, July 19

DOAG DEV 2013 - Continuous Delivery in ADF Projects

I'm so busy at rainy day's, that i miss to post my presentation from DOAG Development 2013 in Bonn.

I speak about needed architecture in ADF Projects to continuous delivery features.

 
More test drive and details can found on the blog from my college Andreas Koop.

Friday, November 23

DOAG2012: ADF Software Factory

Thanks to DOAG for a great conference, again. This year i speak about ADF Software Factory.

So take a look..



Tuesday, September 11

[fix] Enable User Customizations across Sessions using MDS can break your popup


Issues

Enable User Customizations across Sessions using MDS can break your popup

Viewlet

Environment

JDeveloper 11gR2 (11.1.2.0.0 - 11.1.2.2.0)

ADF Features

Using af:popup




Enable User Customizations across Sessions using MDS




Reproduce

1.) Start tablePopup.jsf
2.) Login into the app with weblogic - Account
3.) Scroll down the table (more than 25 rows)
4.) Try to open the Popup with the ToolbarButton

Expected behavior 

Enable User Customizations across Sessions using MDS should not have negative impact on the application.

Fix

Using af:popup with autoCancel = "disabled" produced this issues. Set this property to "" or "enabled" is a fix for this issues. (BUG 11057528)



Thursday, September 6

Using Oracle EM 11g FMC and ADR 11.1.1.6.0 with JDev 11.1.2.2.0


Goal

Using Oracle EM 11g FMC and ADR 11.1.1.6.0 with JDeveloper 11.1.2.2.0 - Software


Environment

OL 6.2
JDeveloper 11.1.2.2.0 - Software


Software

OTN: ADR libraries 11.1.1.6.0 (Application Development Runtime)


Patches

MOS: 5912518 - OPatch v11.1.0.0.1
MOS: 13656274
MOS: 6880880 - OPatch  v11.1.0.9.7 
MOS: 13656372


References

MOS: How To Install the ADF Runtime Libraries 11g Release 2 in WebLogic Sever 10.3.5 / 10.3.6 ? [ID 1328698.1]


Install ADR 11.1.1.6.0

[oracle@endvm software]$ unzip ofm_appdev_generic_11.1.1.6.0_disk1_1of1.zip 
:
[oracle@endvm software]$ cd Disk1/
[oracle@endvm ~]$ export JDK_HOME=/usr/jdk1.6.0_33


[oracle@endvm Disk1]$ ./runInstaller 
:
Set Oracle Middleware Home =  /u01/app/oracle/product/11.1.2/middleware inside OUI.


Install OPatch Version 11.1.0.0.1

a) For Standalone JDeveloper/Standalone WLS install type:
   Download the latest version of OPatch(11.1.0.0.0)via BUG 5912518 from My
   Oracle Support (formerly Metalink).
 
   Patch: p5912518_111000_GENERIC.zip
   Please follow the instructions to install this patch.
 
b) For OUI (WebCenter/SOA/Classic/etc) install type:
   Download the latest version of OPatch (11.1.0.9.4 or higher)via BUG 6880880
   from My Oracle Support (formerly Metalink).

[oracle@endvm software]$ export JDEV_HOME=/u01/app/oracle/product/11.1.2/middleware/jdeveloper/
[oracle@endvm ~]$ export JDK_HOME=/usr/jdk1.6.0_33
[oracle@endvm software]$ unzip p5912518_111000_GENERIC.zip
[oracle@endvm software]$ mv 5912518/OPatch/ $JDEV_HOME/
[oracle@endvm ~]$ export ORACLE_HOME=$JDEV_HOME
[oracle@endvm ~]$ cd $ORACLE_HOME/OPatch

[oracle@endvm OPatch]$ ./opatch lsinventory -jdk $JDK_HOME


Install Patch 13656274

[oracle@endvm jdeveloper]$ cd /home/oracle/software
[oracle@endvm software]$ unzip p13656274_111160_Generic.zip
[oracle@endvm software]$ cd 13656274
[oracle@endvm 13656274]$ export PATH=$ORACLE_HOME/OPatch:$PATH
[oracle@endvm 13656274]$ export ORACLE_HOME=/u01/app/oracle/product/11.1.2/middleware/oracle_common


Install OPatch Version 11.1.0.9.0 (6880880)

Patch 13656372 requires OPatch version 11.1.0.9.0.
The OPatch version being used (11.1.0.0.1) doesn't meet the minimum version required by the patch(es). Please download latest OPatch from My Oracle Support.
[oracle@endvm software]$ rm -rf /u01/app/oracle/product/11.1.2/middleware/jdeveloper/OPatch/
[oracle@endvm software]$ unzip p6880880_111000_Linux-x86-64.zip
[oracle@endvm software]$ mv 6880880/OPatch/ $JDEV_HOME/


Install Patch 13656372

[oracle@endvm software]$ unzip p13656372_111160_Generic.zip[oracle@endvm 13656372]$ cd ..[oracle@endvm software]$ cd 13656372/[oracle@endvm 13656372]$ opatch apply -jdk $JDK_HOME


upgradeADF

[oracle@endvm bin]$ cd /u01/app/oracle/product/11.1.2/middleware/oracle_common/common/bin
[oracle@endvm bin]$ ./wlst.sh

wls:/offline> upgradeADF('/u01/app/oracle/product/11.1.2/middleware/user_projects/domains/test.adf.domain')Target Library "jsf#2.0@1.0.0.0_2-0-2" to JRF "AdminServer"wls:/offline>exit()

Exiting WebLogic Scripting Tool.

Exception: java.lang.ClassNotFoundException: javax.faces.application.ProjectStage

<06 .09.2012=".09.2012" 18:32="18:32" mesz="mesz" uhr="uhr">
<06 .09.2012=".09.2012" 18:32="18:32" mesz="mesz" uhr="uhr">
<06 .09.2012=".09.2012" 18:32="18:32" mesz="mesz" uhr="uhr">
java.lang.ClassNotFoundException: javax.faces.application.ProjectStage


Solution

You have not upgrade the Domain !


Test



Monday, September 3

[Solved] Enable User Customizations across Sessions using MDS can break your Application


Issues

Enable User Customizations across Sessions using MDS can break your ADF Application

Viewlet

Environment

JDeveloper 11gR2 (11.1.2.0.0 - 11.1.2.2.0)

ADF Features

Using af:foreach and af.accordion for dynamic UI



Enable User Customizations across Sessions using MDS


Deactivate all persistent options for showDetailItem




Reproduce

1.) Start homeForEach.jsf
2.) Login into the app with weblogic - Account
3.) Try to open a af:showDetailItem - Component inside af.accordion     

Expected behavior 

Enable User Customizations across Sessions using MDS should not have negative impact on the application.

Solution

A solution to this issues can be found on the ADF EMG Tracker.

Wednesday, August 15

Almost two years of ADF News Session in Germany


Did you know that have emerged in this period more than 60 German-language presentations and demos? So there all available for free if you interested. All you need is a free login to the Oracle ADF Community workspace. More information could be found here.

Monday, January 2

ADFrc: Why my table is not stretched ?

Introduction
Within my ADF Project Session 3 last month in the exercise of the ADF layout strategies was one of the most common questions:

Why is the table (using the available columns) are not stretched to 100% of the width and height?


Issues

Simon: "I use PanelStretchLayout but the table is not stretched !"
Mentor: "Check your site structure for flow layout!"

image 
One of the most common causes for this appearance is the fact that the layout concept has changed from stretch to flow without the developer has to get it.

Once a UI Component is further thrown into a facet Oracle JDeveloper adds a PanelGroupLayout automatically.  This change the stretch concept to flow. Maybe the developer will add a headline.

Image(20) Image(21)

Solution

Stretch will change into Flow if more than one component is part of the subtree!
Verify your layout in the Structure Panel, even if you do not dare JDeveloper!


Issues
Rudolf: "I use StretchPanelLayout but nevertheless, the columns of my table is not spread over the entire width!"
Mentor: "Do not think in HTML and CSS (width: 100%) - think in components."



image

If an area is stretched, the UI Component is scaled, but not automatically all other UI Components in the subtree. I.e. In this case, the CollectionPanel is scaled to a width of 100%. As each column of the table should be widened, is not defined.

Solution

image 
Use ColumnStretching property to define a strategy to fill the empty space !





af:table Oracle Fusion Middleware Tag Reference for Oracle ADF Faces (11.1.2)
Geometry Management
This component can be stretched by a parent layout component that stretches its children, e.g. panelStretchLayout. When stretching this component, the only valid setting for autoHeightRows is "-1".
When NOT stretched, autoHeightRows="0" can be used to size the height to the fetch size, which is similar to dimensionsFrom="children". Please refer to 'autoHeightRows' attribute for more information. Use the columnStretching attribute to configure stretching of the children column components

image
References
JDeveloper Workspace
Oracle Fusion Middleware Tag Reference for Oracle ADF Faces (11.1.2)

Wednesday, December 21

DOAG@Talk with Duncan Mills

Christian Schwitalla (DOAG Head of Development SIG / tools) has spoken with Duncan Mills on the future of development tools from Oracle. The interview is here.

Thursday, December 15

HowTo: Set Default Run Target to TaskFlow Activity

Goal

A Fusion Web Application (ADF) should be within an application [workspace] independently selected from the context start using the keyboard.

Context

- JDeveloper 11gR2

- Fusion Web Application (ADF)

Solution

Image(19)

Choose: Run / Choose Active Run Configuration / Manage Run Configuration..

Image(16)

Select: Run Configuration / Default

Choose: Edit..

Image(17)

Deselect: Attempt to Run Active File Before Default

Select Default Run Target: ..\WEB-INF\adfc-config.xml [your task-flow file]

Image(18)

Choose: Launch Settings / ADF Task Flow

Select View Activity: home [your start page]

Choose: Ok

Choose: F11

Tuesday, July 28

DOAG 2009: Best Practices ADF Rich-Client Presentation



When you plan to come to DOAG Conference this year, your have the change to see me speeking about "Best Practices ADF Rich-Client 11g Development".

Maybe we see us ?

Tuesday, October 7

And a another blog say: JDev 11g (11.1.10) is production


Today is the day. We all waiting for since the first Techincal Previews. JDeveloper 11g (11.1.10) is production right now. Download here. Until you download you should check out the new demos and documentation site on following link.




Additional links:

New Features (very long list)

Release Notes

Tuesday, September 23

In the clearing stands a boxer.. (JDeveloper 11g go production)

JDeveloper 11g and ADF 11g with ADF RichFaces are avaible on October the 1st. This announcent Oracle yesterday on OOW 20008. They called it the "boxer" released. Attention this release will be certified with WebLogic 10.3. Currently not for OC4J. There is no more embedded OC4J (anymore?). You can found more information here.

Friday, April 25

Integrate a timeline in your web application


You need to visualized in your web application similary the one i talk about in my last post. Try to integrate SMILE | Timeline. It is a AJAX Widget that only need a XML of events.


Samples and download are available here.

Is this not enough for you, try the new Oracle ADF Faces RC 11g - Gant Component and examine this viewlet.

Sunday, April 20

Another nice sample of ADF / WebCenter 11g

Today i found a nice YouTube Video with the title "Pax Knowledge Base". In this video you can see how to build a knowlegde base with JDeveloper 11g TP3 and Apache Beehive.

Wednesday, April 16

JDeveloper TP4

Hi, everybody there is no sign that JDeveloper 11g - Production is available in the next weeks. Steve Muench published a notice in his last blog entry about JDeveloper 11g Technical Preview 4.

I often consulted in my workshops:

- When is JDev 11g – Production available ?

- Should I start with TP ?

- Can I migrate my JDev 10.1.3.x project to 11.x ?

- Should I delay my project ?

My answer:

It depends.

Today nobody knows the exact rollout day of JDev 11g. I hope that it will be rolled out on the next Oracle World 2008 conference.

When you have a small internal project on your working list, try and learn the new features that are inside JDev 11g.

If you have to start a serious project within the next week, which has to be completed on a fixed deadline in the next 3 months, do not use the JDev 11g TP 3!

Thursday, March 20

IE 7 and ADF Faces 10.1.3.3.0

Every morning i read my Headlines from Metalink. Yesterday was published a new Knowledge Base Note about support of IE 7 and ADF Faces 10.1.3.3.0. The official statement from Oracle is that IE7 are currently not supported with ADF Faces 10.1.3.3.0.

Support is planed for ADF Faces 10.1.3.5.0 onwards. More information here.

Tuesday, January 22

how-to-jdev-10.1.3.3: Use ADF BC Model as EJB Session Bean

One of my customer ask we how to use a ADF BC Model in remote mode with JDeveloper 10.1.3.3. He told me he could found no documentation. So over the years of different version and introduction of ADF Binding this deployment option is maybe not in the main focus. But it is realy easy when you know what steps you must configure.
1.) Configure ADF BC Model for EJB Session Bean Deployment
2.) Change the configuration inside BC4JDataControl Properties in the UI
So listen to my not perfect viewlet here.

Thursday, January 10

Free Oracle ADF HandsOn Workshop in Germany


Next Month you can listen and hack with me in Bremen. The DOAG local group Bremen is organizing Oracle ADF Workshop (Hackers-Afternoon) on February, 7nd, 2008 in Bremen. In this free workshop I will introduce Oracle ADF Business Components and Oracle ADF Faces. Within the workshop we will build a small web application to get familiar with the basics of this oracle technology.
Further information you can find on www.doag.org. Hope to see you in Bremen soon.

Thursday, November 29

DOAG2007: Second Day and back in my office


DOAG 2007 in Nuernberg closed the doors. Now I want to tell you what I remember from the second day of the DOAG conference. First of all my presentation "Mobile Applikationen in der Logistik". It is about web based application implemented with JSF und ADF Mobile. You can download my presentation here. (Sorry, only in german available).

Thanks to my listeners for the interesting discussion after the introduction.

Another interesting topic, presented by Frank Nimphius from the Oracle Corporation was about: "Productive Java Enterprise Edition 5.0 Development"

From my point of view the main message of this presentation is:

- Oracle JDeveloper is the development tool for the Fusion Developer and based on this fact all functionality is to provide productivity to implement Fusion Application.

- Eclipse is the de facto Java IDE for the most java developers in the world. Oracle will support and participate on this community to provide a solution to these developers.

Conclusion: "Choose an Enviroment to develop, but technology from Oracle could be the best solution for you !"

After the presentation I had a little small talk with Frank Nimphius about the x-mas present JDeveloper TP3 and a little wish list about features I am really interested in. The most wanted is a little wizzard to build a quick interface inside an ADF BC Application Module based on Store Procedure from the database.

Best practices: Entwicklung komplexer APEX-Applikationen
Niels de Bruijn, MT AG

The presentation showed three different solutions from small to big projects implemented with Oracle APEX. It was nice to see the spectrum of APEX and the lightweight solution APEX provides to give a solution to the requirements of the projects.

My comment: It was KISS - Keep it simple and stupid

Back in my office...

It was a great conference again. Meet the people, get information about new features and trends. To sum it up: a must for all people who work with Oracle technology in the german talk area. You can download the presentation here.

And in case you finshed the questionnaire in 13 min and while eating three nuernburger fried sausage you can now enjoy your coffee or tea in the nice doag anniversary cup like me.