Thursday, May 10, 2007

XML parser benchmarks

This article on XML parsing performence is intresting. The Oracle parser is NOT the fastest one as of now it seemes.

Sphere: Related Content

Thursday, April 19, 2007

Good BAM Dashboard design

Recently I have been involved in constructing Oracle BAM dashboards. Usability is a important think when designing BAM dashboards and I found the book Information Dashboard Design very intresting.

In his book Information Dashboard Design, Stephen Few list common mistakes and design patterns for good Dashboards.

The book is avaliable online via Safari and here is the Amazon link





Information Dashboard Design
by Stephen Few
Publisher: O'Reilly
Pub Date: January 2006
Print ISBN-10: 0-596-10016-7
Print ISBN-13: 978-0-59-610016-2
Pages: 223







Book Description (From Oreilly Safari)

Dashboards have become popular in recent years as uniquely powerful tools for communicating important information at a glance. Although dashboards are potentially powerful, this potential is rarely realized. The greatest display technology in the world won't solve this if you fail to use effective visual design. And if a dashboard fails to tell you precisely what you need to know in an instant, you'll never use it, even if it's filled with cute gauges, meters, and traffic lights. Don't let your investment in dashboard technology go to waste.

This book will teach you the visual design skills you need to create dashboards that communicate clearly, rapidly, and compellingly. Information Dashboard Design will explain how to:

  • Avoid the thirteen mistakes common to dashboard design
  • Provide viewers with the information they need quickly and clearly
  • Apply what we now know about visual perception to the visual presentation of information
  • Minimize distractions, cliches, and unnecessary embellishments that create confusion
  • Organize business information to support meaning and usability
  • Create an aesthetically pleasing viewing experience
  • Maintain consistency of design to provide accurate interpretation
  • Optimize the power of dashboard technology by pairing it with visual effectiveness
Stephen Few has over 20 years of experience as an IT innovator, consultant, and educator. As Principal of the consultancy Perceptual Edge, Stephen focuses on data visualization for analyzing and communicating quantitative business information. He provides consulting and training services, speaks frequently at conferences, and teaches in the MBA program at the University of California in Berkeley. He is also the author of Show Me the Numbers: Designing Tables and Graphs to Enlighten. Visit his website at www.perceptualedge.com.

Sphere: Related Content

Sunday, April 08, 2007

Using Windows Powershell with ORACLE on Windows

Oracle Powershell is a free shell from Microsoft for Windows. As a scripting fan I thought I would take a look at it, when I needed a script to start and stop all Oracle services on a test instance.

PowerShell provides access to WMI objects such as WMI:win32_servies and Services "cmdlets" for querying and manipulating Windows Services, among them New-Service, Set-Service, and Get-Service.

The following script lists all information of services

$colItems = get-wmiobject -query "select * from win32_service where name like 'Oracle%'"

foreach ($objItem in $colItems) {

write-host "Display Name: " $objItem.DisplayName
write-host "Accept Pause: " $objItem.AcceptPause
write-host "Accept Stop: " $objItem.AcceptStop
write-host "Caption: " $objItem.Caption
write-host "Checkpoint: " $objItem.CheckPoint
write-host "Creation Class Name: " $objItem.CreationClassName
write-host "Description: " $objItem.Description
write-host "Desktop Interact: " $objItem.DesktopInteract
write-host "Error Control: " $objItem.ErrorControl
write-host "Exit Code: " $objItem.ExitCode
write-host "InstallationDate: " $objItem.InstallDate
write-host "Name: " $objItem.Name
write-host "Path Name: " $objItem.PathName
write-host "Process ID: " $objItem.ProcessId
write-host "Service Specific Exit Code: " $objItem.ServiceSpecificExitCode
write-host "Service Type: " $objItem.ServiceType
write-host "Started: " $objItem.Started
write-host "Start Mode: " $objItem.StartMode
write-host "Start Name: " $objItem.StartName
write-host "State: " $objItem.State
write-host "Status: " $objItem.Status
write-host "System Creation Class Name: " $objItem.SystemCreationClassName
write-host "System Name: " $objItem.SystemName
write-host "Tag ID: " $objItem.TagId
write-host "Wait Hint: " $objItem.WaitHint
write-host


}

Starting and stopping dependent services was not as easy as I initially thought as there seemes to be no access to information about dependent services. (or?)

However the following script starts all services except any DBConsoles

$colItems = Get-Service -include "Oracle*" -exclude "*DBConsole"

write-host "Starting ORACLE Services"
foreach ($objItem in $colItems) {
if( $objItem.Status -eq "Running") {
write-host "Service " $objItem.DisplayName " already started"
} else {
write-host "Starting service " $objItem.DisplayName "."
Start-Service -displayName $objItem.DisplayName
}
}

Get-Service -include "Oracle*"

The script produces the folowing output when run:

PS C:\Documents and Settings\Administrator> & 'C:\Documents and Settings\Administrator\stoporacle.ps1'
Stopping ORACLE Services
Stopping service OracleASMService+ASM .
Stop-Service : Cannot stop service 'OracleASMService+ASM (OracleASMService+ASM)' because it has dependent services. It
can only be stopped if the Force flag is set.
At C:\Documents and Settings\Administrator\stoporacle.ps1:10 char:29
+ Stop-Service <<<< -displayName $objItem.DisplayName Stopping service OracleCSService . Stop-Service : Cannot stop service 'OracleCSService (OracleCSService)' because it has dependent services. It can only b e stopped if the Force flag is set. At C:\Documents and Settings\Administrator\stoporacle.ps1:10 char:29 + Stop-Service <<<< -displayName $objItem.DisplayName Stopping service OracleDBConsoleORCL . WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish stopping... WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish stopping... WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish stopping... WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish stopping... WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish stopping... WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish stopping... WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish stopping... WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish stopping... WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish stopping... WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish stopping... WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish stopping... WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish stopping... WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish stopping... WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish stopping... WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish stopping... WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish stopping... WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish stopping... Stopping service OracleOraDb10g_home1TNSListener . Stopping service OracleServiceORCL . WARNING: Waiting for service 'OracleServiceORCL (OracleServiceORCL)' to finish stopping... WARNING: Waiting for service 'OracleServiceORCL (OracleServiceORCL)' to finish stopping... WARNING: Waiting for service 'OracleServiceORCL (OracleServiceORCL)' to finish stopping... WARNING: Waiting for service 'OracleServiceORCL (OracleServiceORCL)' to finish stopping... WARNING: Waiting for service 'OracleServiceORCL (OracleServiceORCL)' to finish stopping... WARNING: Waiting for service 'OracleServiceORCL (OracleServiceORCL)' to finish stopping... WARNING: Waiting for service 'OracleServiceORCL (OracleServiceORCL)' to finish stopping... WARNING: Waiting for service 'OracleServiceORCL (OracleServiceORCL)' to finish stopping... Stopping service OracleASMService+ASM . WARNING: Waiting for service 'OracleASMService+ASM (OracleASMService+ASM)' to finish stopping... Stopping service OracleCSService . Stopping service OracleDBConsoleORCL . Stopping service OracleOraDb10g_home1TNSListener . Stopping service OracleServiceORCL . Status Name DisplayName ------ ---- ----------- Stopped OracleASMServic... OracleASMService+ASM Stopped OracleCSService OracleCSService Stopped OracleDBConsole... OracleDBConsoleORCL Stopped OracleJobSchedu... OracleJobSchedulerORCL Stopped OracleOraDb10g_... OracleOraDb10g_home1TNSListener Stopped OracleServiceORCL OracleServiceORCL The following script stops all services that has a name starting with "Oracle"

$colItems = Get-Service -include "Oracle*"

write-host "Stopping ORACLE Services"
foreach ($objItem in $colItems) {
if( $objItem.Status -eq "Stopped") {

} else {
write-host "Stopping service " $objItem.DisplayName "."
Stop-Service -displayName $objItem.DisplayName
}
}

foreach ($objItem in $colItems) {
if( $objItem.Status -eq "Stopped") {
} else {
write-host "Stopping service " $objItem.DisplayName "."
Stop-Service -displayName $objItem.DisplayName -force
}
}


Get-Service -include "Oracle*"


PS C:\Documents and Settings\Administrator> & 'C:\Documents and Settings\Administrator\startoracle.ps1'
Starting ORACLE Services
Starting service OracleASMService+ASM .
WARNING: Waiting for service 'OracleASMService+ASM (OracleASMService+ASM)' to finish starting...
WARNING: Waiting for service 'OracleASMService+ASM (OracleASMService+ASM)' to finish starting...
WARNING: Waiting for service 'OracleASMService+ASM (OracleASMService+ASM)' to finish starting...
WARNING: Waiting for service 'OracleASMService+ASM (OracleASMService+ASM)' to finish starting...
WARNING: Waiting for service 'OracleASMService+ASM (OracleASMService+ASM)' to finish starting...
WARNING: Waiting for service 'OracleASMService+ASM (OracleASMService+ASM)' to finish starting...
WARNING: Waiting for service 'OracleASMService+ASM (OracleASMService+ASM)' to finish starting...
Starting service OracleCSService .
Starting service OracleDBConsoleORCL .
WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish starting...
WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish starting...
WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish starting...
WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish starting...
WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish starting...
WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish starting...
WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish starting...
WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish starting...
WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish starting...
WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish starting...
WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish starting...
WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish starting...
WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish starting...
WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish starting...
WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish starting...
WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish starting...
WARNING: Waiting for service 'OracleDBConsoleORCL (OracleDBConsoleORCL)' to finish starting...
Starting service OracleJobSchedulerORCL .
Start-Service : Service 'OracleJobSchedulerORCL (OracleJobSchedulerORCL)' cannot be started due to the following error:
Cannot start service OracleJobSchedulerORCL on computer '.'.
At C:\Documents and Settings\Administrator\startoracle.ps1:10 char:30
+ Start-Service <<<< -displayName $objItem.DisplayName
Starting service OracleOraDb10g_home1TNSListener .
Starting service OracleServiceORCL .
WARNING: Waiting for service 'OracleServiceORCL (OracleServiceORCL)' to finish starting...
WARNING: Waiting for service 'OracleServiceORCL (OracleServiceORCL)' to finish starting...
WARNING: Waiting for service 'OracleServiceORCL (OracleServiceORCL)' to finish starting...
WARNING: Waiting for service 'OracleServiceORCL (OracleServiceORCL)' to finish starting...
WARNING: Waiting for service 'OracleServiceORCL (OracleServiceORCL)' to finish starting...
WARNING: Waiting for service 'OracleServiceORCL (OracleServiceORCL)' to finish starting...
WARNING: Waiting for service 'OracleServiceORCL (OracleServiceORCL)' to finish starting...
WARNING: Waiting for service 'OracleServiceORCL (OracleServiceORCL)' to finish starting...
WARNING: Waiting for service 'OracleServiceORCL (OracleServiceORCL)' to finish starting...
WARNING: Waiting for service 'OracleServiceORCL (OracleServiceORCL)' to finish starting...
WARNING: Waiting for service 'OracleServiceORCL (OracleServiceORCL)' to finish starting...
WARNING: Waiting for service 'OracleServiceORCL (OracleServiceORCL)' to finish starting...
WARNING: Waiting for service 'OracleServiceORCL (OracleServiceORCL)' to finish starting...
WARNING: Waiting for service 'OracleServiceORCL (OracleServiceORCL)' to finish starting...
WARNING: Waiting for service 'OracleServiceORCL (OracleServiceORCL)' to finish starting...
WARNING: Waiting for service 'OracleServiceORCL (OracleServiceORCL)' to finish starting...
WARNING: Waiting for service 'OracleServiceORCL (OracleServiceORCL)' to finish starting...
WARNING: Waiting for service 'OracleServiceORCL (OracleServiceORCL)' to finish starting...
WARNING: Waiting for service 'OracleServiceORCL (OracleServiceORCL)' to finish starting...
WARNING: Waiting for service 'OracleServiceORCL (OracleServiceORCL)' to finish starting...

Status Name DisplayName
------ ---- -----------
Running OracleASMServic... OracleASMService+ASM
Running OracleCSService OracleCSService
Running OracleDBConsole... OracleDBConsoleORCL
Stopped OracleJobSchedu... OracleJobSchedulerORCL
Running OracleOraDb10g_... OracleOraDb10g_home1TNSListener
Running OracleServiceORCL OracleServiceORCL

Sphere: Related Content

Tuesday, March 06, 2007

BPEL PM Java tuning & 64 Bit setup

I recently updated the JVM and added 64 bit support to a Solaris T1 box, this are the instructions:

1. Download the correct Solaris installation from http://java.sun.com/javase/downloads/index_jdk5.jsp

I used Java JDK 1.5.0_11 in this case.

The two files to download are:

32 bit version - jdk-1_5_0_11-solaris-sparc.sh
64 bit plugin - jdk-1_5_0_11-solaris-sparcv9.sh

2. CD to $ORACLE_HOME for the application server

3. Unpack the installations by running the installation programs,

Command lines:

sh /oracle/install/java/jdk-1_5_0_11-solaris-sparc.sh
sh /oracle/install/java/jdk-1_5_0_11-solaris-sparcv9.sh

4. Verify that the install was done in the correct place:

bash$ ls -ald jdk*
drwxr-xr-x 9 oracle oinstall 512 Feb 16 18:15 jdk
drwxr-xr-x 9 oracle oinstall 512 Feb 19 11:54 jdk1.5.0_11

5. Create a backup of the OPMN configuration $ORACLE_HOME/opmn/opmn.xml

cd $ORACLE_HOME/opmn/conf
cp opmn.xml opmn.xml_`date "+%y%m%d%H%M%S"`

6. Edit $ORACLE_HOME/opmn/conf/opmn.xml

Find the XML Element with the content process-type id="oc4j_soa"
and edit the bold sections (three changes in bold):
(libumem and -D64 is optional of course)

<process-type id="oc4j_soa" id="OC4J" status="enabled">
<environment>
<variable id="LD_PRELOAD_64" value="/usr/lib/64/libumem.so.1">
</environment>
<module-data>
<category id="start-parameters">
<data id="java-bin" value="/oracle/product/soa_10.1.3/jdk1.5.0_11/bin/java">
<data id="java-options" value="">-d64</strong> -server -Xmx2g -Xms1g -XX:PermSize=256m -XX:NewRatio=3 -XX:MaxTenuringThreshold=3 -XX:SurvivorRatio=6 -XX:-UseParallelOldGC -Djava.security.policy=$ORACLE_HOME/j2ee/oc4j_soa/config/java2.policy -Djava.awt.headless=true -Dhttp.webdir.enable=false -Doraesb.home=/oracle/product/as/as_10.1.3/integration/esb -Dhttp.proxySet=false -Doc4j.userThreads=true -Doracle.mdb.fastUndeploy=60 -Dorabpel.home=/oracle/product/as/as_10.1.3/bpel -Xbootclasspath^/p:/oracle/product/as/as_10.1.3/bpel/lib/orabpel-boot.jar -Dhttp.proxySet=false"/> </category>

The variable LD_PRELOAD_64 means that a different memory allocator called lubumen is used. This memory allocaor is designed for multi-cpu and multi-core processors.
It is recommended by Sun here and here for T1 machines.

For more information on libumem and similar Linux allocator see my link collection here.

7. Save the file and validate the change with opmnctl.

% opmnctl validate opmn.xml

8. Restart the application server.

Also se metalink note:368973.1.

Sphere: Related Content

Tuesday, February 06, 2007

How do I create a new user in Oracle SOA Suite and give it permission to domain xyz.

Based on the documentation avaliable here we need to perform the following steps, if we have a "standard" soa suite advanced install:

  1. Create the domain xyz
  2. Create a group/role "BPMxyzDomainAdmin"
  3. Create a user "myxyzuser" and grant the role "BPMxyzDomainAdmin" to the user
  4. Assign the domain admin permission to the "BPMxyzDomainAdmin" role by running
    cd ORACLE_HOME\j2ee\oc4j_soa
    java -Xbootclasspath/a:c:\oracle\soa\bpel\lib\orabpel-boot.jar -jar ..\home\jazn.jar -grantperm jazn.com -role BPMxyzDomainAdmin com.collaxa.security.DomainPermission xyz all
  5. Restart
  6. Done - now the user should be able to login to the xyz domain but not any other domain
    http://host:7777/BPELConsole/xyz/index.jsp

Important to note in step 4 is that we "cd" to the oc4j_soa OC4J container before we run the command, this way the jazn files in that domain is updated.

Edit 080225: Note that the users still need admin permission for deployment/undeployment to work from ant scripts and the like. Eg: you need to grant oc4j-administrators etc

Sphere: Related Content

Friday, January 26, 2007

New data object in BPEL 10.1.3 for getVariableData

In 10.1.2 we could use the following to get variable data in bpelx:exec and custom xpaths:

Element ssn = (Element)getVariableData("input","payload","/tns:ssn");
But this seemes to have changed in 10.1.3 to

import oracle.xml.parser.v2.XMLNode
firstName = ((XMLNode) getVariableData("inputVariable","payload","/client:TestCaseProcessRequest/client:SurName")).getText();

I guess this means that the XML parser has been changed to the Oracle XDK, which is good news since it is a lot (10x) faster than the old OSS parer.

Sphere: Related Content

Tuesday, November 14, 2006

BPEL Development

This documentation from the Oracle BPEL Process Manager administration webinar, explains the new features in Oracle BPEL PM 10.1.3 that simplifies deployment into different environments such as DEV, TEST and PROD. ( simplifies is an understatement )

Sphere: Related Content

Wednesday, August 16, 2006

Oracle Application Server Completes Common Criteria Security Evaluation

Oracle Application Server 10g has achieved Common Criteria (ISO/IEC 15408) Evaluation Assurance Level 4+ (EAL4+)

Sphere: Related Content

Monday, July 31, 2006

Document Exchange vs. RPC models

Here is a good discussion on Document Exchange vs. RPC models

Sphere: Related Content

Friday, April 14, 2006

Ruby on Rails on Oracle: A Simple Tutorial

Rails is easy to work with to create simple applications, like Oracle Application express it is a far better than the Microsoft options.

Read more at www.oracle.com/technolo...

Sphere: Related Content

Wednesday, April 12, 2006

- Google News

Oracle buys Portal Software (Billing system ISV) for USD220M

Read more at news.google.se/news?hl=...

Sphere: Related Content

Object Role Modeling

I worked with the Visual Studio ORM tools earlier so I think the following is good news:

>>

NORMA (Neumont ORM Architect) is a new modeling tool under development that supports the next generation of ORM (ORM 2). Implemented as an open-source plug-in to Microsoft's Visual Studio.NET 2005, NORMA requires at least the standard version of Visual Studio 2005. For further details on the ORM 2 graphical notation, see ORM 2 Technical Report 1. A technical preview of NORMA is available on SourceForge. The software is currently in the pre-beta stage, but extensive functionality enhancements and user-interface improvements are planned for the near future. Currently the tool supports entry of ORM2 schemas, verbalization of of most constraints, and code generation (for basic constraints) to a variety of DBMSs (including SQL Server, DB2, Oracle, and PostgreSQL) as well as class models and XML schema. NORMA is capable of importing ORM schemas entered in Visio for Enterpise Architects, but the diagrams need to be laid out manually.

>>

Read more at www.orm.net/index.html

Sphere: Related Content

Friday, March 31, 2006

Routing around the WS-* vendor stacks (Loud Thinking)

This is a link to an intresting article, quotes includes:

"The gulf between Web Services™ and web services have been widening as of late. HTTP awareness is on the rise, atompub is shining a light for best-practice REST, and the complexity of the WS-* stack is reaching astronautical heights.&gt;>A comment in to the post states: &gt;>So SOAP feels more like the doorknob to the gates of hell. In itself, a doorknob is hardly evil. But once you turn... :)"

Read more at www.loudthinking.com/ar...

Sphere: Related Content

Friday, March 24, 2006

Oracle BPEL PM and Biztalk interop

See this link for a Biztalk - and Oracle BPEL PM & Security WS example:
http://weblogs.asp.net/gsusx/archive/2006/03/22/440881.aspx

Also:
1. See this microsoft technote on Application Interoperability: Microsoft .NET and J2EE
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/JDNI.asp

2. For MSMQ interop see
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/jdni_ch05.asp

3. BizTalk Adapters for JMS,
http://www.topxml.com/biztalkutilities/biztalk2004.asp

4. iWAY MSMQ adapter
http://www.iwaysoftware.com/messaging.html

5. Custom .NET code to access an Oracle Streams AQ
http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=e97ee3ed-71c0-4fe2-995b-f00418ac7e0b
http://www.codeproject.com/cs/database/aqlib.asp
http://www.oracle.com/technology/sample_code/tech/dataint/index.html

Sphere: Related Content

Wednesday, March 22, 2006

APPS: Finding Flexfields per table

This SQL gave me a nice report on Oracle Apps flexfields used in a set of tables:

select distinct
fdf.APPLICATION_TABLE_NAME,
fcu.APPLICATION_COLUMN_NAME,
fcu.descriptive_flex_context_code,
fcu.END_USER_COLUMN_NAME,
fcu.ENABLED_FLAG,fcu.REQUIRED_FLAG,fcu.DISPLAY_FLAG,fcu.DISPLAY_SIZE, fcu.FLEX_VALUE_SET_ID
,fvs.FLEX_VALUE_SET_NAME, fvs.DESCRIPTION VALUESETDESC, fvs.VALIDATION_TYPE
from APPLSYS.FND_DESCRIPTIVE_FLEXS fdf
left outer join APPLSYS.FND_DESCR_FLEX_COLUMN_USAGES fcu
on fdf.application_id = fcu.application_id
and fdf.descriptive_flexfield_name = fcu.descriptive_flexfield_name
left outer join APPLSYS.FND_FLEX_VALUE_SETS fvs
on fcu.FLEX_VALUE_SET_ID = fvs.FLEX_VALUE_SET_ID
where fdf.application_table_name in (....list_of_tables...)
order by 1,2,3

Sphere: Related Content

Saturday, March 11, 2006

DVM in Oracle BPEL PM

There is a couple of options for Domain value mapping (DVM) in Oracle BPEL PM

A) The XSLT Mapper provides the following database functions for DVM .

1. execute-query() Execute a database query and obtain a result set
2. lookup-table() - Look up a DB table and get a value back

B) Database Adapter

C) Use one of the above to create a BPEL PM Service to do the DVM you need

Sphere: Related Content

AOSD tools for SOA?

Aspect-oriented software development (AOSD) is a holistic approach to developing applications with tools (eg AspectJ, Spring AOP) that uses tools that help abstract concern that crosscuts between different domains/objects.

The definition of AOSD is as follows:

AOSD is an emerging paradigm that provides explicit abstractions for concerns that tend to crosscut over multiple system components and result in tangling in individual components. By representing crosscutting concerns or aspects as first-class abstractions, and by providing new composition techniques for combining aspects and components, the modularity of the system can be improved leading to a reduced complexity of the system and easier maintainability.

AOSD is mostly about single systems and SOA is about interaction between systems or enterprise architectures. But I still think that there are AOSD tools that can help when you design your enterprise systems.

One of this tools is presented in the book "Aspect-Oriented Software Development with Use-Cases" Ivar Jacobson and Pan-Wei NG gives us a AOSD extention to the well known and mature use-case-driven approach.

Sphere: Related Content

Thursday, March 09, 2006

glassfish: About GlassFish

"GlassFish is the name for the open source development project for bulding a Java EE 5 application server. It is based on the source code for Sun Java System Application Server PE 9 donated by Sun Microsystems and TopLink persistence code donated by Oracle. " or ... "who needs JBOSS and hibernate..."

Read more at glassfish.dev.java.net/...

Sphere: Related Content

Tuesday, March 07, 2006

HowTo: Reinstall/Secure EM DBconsole in 10.2

This is the commands to drop and reinstall the EM DBconsole repository and setup TLS security to secure your "SYS" passwords on the network. (If you only want to secure, start at step 3.)

1. emca -deconfig dbcontrol db -repos drop
2. emca -config dbcontrol db -repos create
3. emctl stop dbconsole
5. emctl secure dbconsole
6. emctl start dbconsole

Note that the emca syntax has changed in 10.2. (In 10.1 the commands are emca -x and emca -r ... I think.)

Sphere: Related Content

Wednesday, February 22, 2006

The Data Administration Newsletter

The Data Administration Newsletter avaliable at http://tdan.com seemes to be a good source of information.

Sphere: Related Content