Oracle

ADF 11g : Fancy Master Detail or how to Highlight Related Detail Records

Last week I a had a rather interesting question: Is it possible to highlight related data that is in different af:table components ? Sure you can, so I decided to write a simple example application, and share the knowledge in this post Read the rest of this entry »

Sending an email with attachment from Oracle BPEL

In my previous post I described how to create a PDF file/report in Oracle BPEL (Create a JasperReport from Oracle BPEL).

Now I will describe how to sent this PDF file as attachment in an email.



Read the rest of this entry »

Create a JasperReport from Oracle BPEL

In my previous post I described how to create a Report (CDBooklet) with JasperReport in Java.
Follow this link to take a look at the post ‘Using Java to create a report with the JasperReport java API’

For this new post I created a webservice wrapper around this reporting functionality and deployed it to a Weblogic application server.
Here I will describe how to create a CDBooklet report with the Oracle SOA Suite 11g.
First we have to determine the in- and output payload for the service. You can find a detailed description of this service in my previous post.
Read the rest of this entry »

Intercepting user customization – such as column reordering in tables – in ADF 11g change persistence

The requirement I was facing was simple: act on column reordering through user drag and drop in a rich table. More specifically: invoke a method in a managed bean whenever the user changes the position (or side or visibility) of a column.

At first it seemed trivial – just use an AttributeChangeListener. When that turned out not to work – this listener does not get triggered for column reordering – the challenge turned almost unsurmountable. Finally I ran into the ADF Change Persistence framework and more specifically into the concept of a ChangeManager. See for some background this article that I wrote a long time ago: http://technology.amis.nl/blog/4595/adf-11g-persisted-run-time-user-ui-personalization-or-impatient-mans-mds. Some background can also be found here: http://docs.oracle.com/cd/E15523_01/web.1111/b31974/ad_persist.htm (Fusion Middleware Fusion Developer’s Guide for Oracle Application Development Framework 11g – 35 Allowing User Customizations at Runtime).

In short: enable user customizations and configure a custom class that extends from ChangeManager to intercept the customizations.

Read the rest of this entry »

Masterclass Oracle 11g voor Database Ontwikkelaars – haal meer uit SQL en PL/SQL in 11g

Aanstaande vrijdag 27 januari verzorgt Oracle ACE Director Alex Nuijten bij AMIS Services in Nieuwegein een Masterclass voor Oracle Database Developers: iedereen die met enige regelmaat SQL en/of PL/SQL toepast in zijn of haar werk. In deze Masterclass leidt Alex de deelnemers rond in Oracle Database 11g Release 1 en 2 met als voornaamste doelstelling de bezoekers in staat te stellen nuttig gebruik te gaan maken van de nieuwe mogelijkheden in deze 11g releases ten einde code simpeler, beter, sneller en functioneel rijker te maken.

Alex staat wereldwijd bekend als enthousiaste verteller en duidelijke explicateur (hij heeft met die eigenschappen al meerdere speaker-awards gewonnen op internationale conferenties). Hij combineert een duidelijk overzicht van de theoretische achtergrond met sprekende demonstraties en praktijkvoorbeelden. Deelnemers kunnen idealiter zijn some wat droge gevoel voor humor waarderen – en zijn in staat om in een tamelijk intensieve dag veel nieuwe kennis te verwerken.

Voor deze Masterclass is nog een beperkt aantal plaatsen beschikbaar. Zie http://www.amis.nl/amis-masterclasses/masterclass-oracle-11g-voor-database-developers voor meer informatie en inschrijving.

Read the rest of this entry »

Using the Oracle WebLogic Technology Adapters with custom Java – Message Driven Bean (MDB) triggered by File Adapter (part of the story)

Oracle’s product portfolio contains the Technology Adapters. A set of JCA Connectors that provide a bridge between various technologies – such as JMS, AQ, Database (SQL and PL/SQL), FTP and File System – on the one hand and the world of JEE on the other. The SOA Suite 11g and Oracle Service Bus leverage these adapters to connect to and from these technologies. For example: through the adapters, instances of composite applications can be instantiated through the appearance of a file on the file system or a new record in a database table. And, in the outbound direction: OSB and SOA Suite can call out to PL/SQL procedures, send messages to JMS Topics or an AQ queue and write files to an FTP server.

The technology adapters comply with the JEE standard specification of JCA (Java Connector Architecture). They are deployed as a special type of resource – JCA Adapter – on WebLogic Server. And they can be connected to custom Java components – in addition to their better known usage with SOA Suite and Oracle Service Bus.

I have tried to use the File Adapter in an inbound fashion to trigger a Message Driven Bean when a new file is received in a specific directory. This article describes my findings. And I have to warning: the story is not yet complete(ly successful).

Read the rest of this entry »

Developing and deploying Java Embedding activity in BPEL 2.0 in SOA Suite 11g calling a custom Java Class that has dependencies on 3rd party libraries

Java Embedded activity can call a custom Java class that relies on 3rd party Java libraries. This means that a lot of existing functionality from the Java open source community is at the disposal of the BPEL developer. This article shows a simple example of developing and deploying a BPEL process that uses Java Embedded Activity that calls a custom Java Class that uses Apache HttpClient to make Http POST calls. The article demonstrates how to develop the BPEL process, the Java Embedded activity, Java Class and how to deploy the SOA Composite application. It also presents the results of running the composite application.

Read the rest of this entry »

Create simple Java application to post JSON message to CometD Bayeux Channel using Apache HttpClient and Maven style NetBeans project

The objective discussed in this article is to post messages to a CometD Bayeux Channel with a standalone Java Class – without dependencies on CometD. For example to control from Java the Slideshow introduced in the synchronized Slideshow demo application created using CometD (see previous articles Push based synchronized Slideshow demo application implemented using CometD and jQuery running on Tomcat and Publishing to CometD Bayeux Channel from inside the Oracle Database – PL/SQL based push to CometD Web Client ).

This article describes the creation of a simple Java Class leveraging Apache HttpClient to post HTTP requests (JSON messages) to a CometD Bayeux Channel. The main point is to show working code with the lest dependencies, not an optimal program (it is far from optimal). The article demonstrates how NetBeans and Maven conspire here to make the task as simple as possible. The Maven support in NetBeans allows me to simply create a new Maven style project of (arche)type Java Application.

Read the rest of this entry »

Publishing to CometD Bayeux Channel from inside the Oracle Database – PL/SQL based push to CometD Web Client

In recent articles, I have introduced CometD as framework for Server to Client and Client to Client Push: Running CometD 2 examples – locally on Tomcat using Maven and NetBeans http://technology.amis.nl/blog/14709/running-cometd-2-examples-locally-on-tomcat-using-maven-and-netbeans, CometD 2 Java Client Sample – open project in NetBeans based on Maven pom file, modify sources and run Java Based Comet Client (http://technology.amis.nl/blog/14720/cometd-2-java-client-sample-open-project-in-netbeans-based-on-maven-pom-file-modify-sources-and-run-java-based-comet-client) and Push based synchronized Slideshow demo application implemented using CometD and jQuery running on Tomcat (http://technology.amis.nl/blog/14870/push-based-synchronized-slideshow-demo-application-implemented-using-cometd-and-jquery-running-on-tomcat).

CometD allows web clients (or stand alone Java clients) to subscribe to Bayeux channels maintained by the CometD Server (Servlet). These clients can publish messages to the channels and CometD will deliver the messages to all or to selected clients – in a push-fashion. This makes it possible to push messages from the Java server side of a web application to web clients and indirectly to do the same between web clients. One example I have described of applying this technology is the synchronized slideshow: a web page is opened in two or more browsers. When a slide is selected in one of the browsers, the slide is selected in all browsers (because they all subscribed to the channel that a slide selection event was published to).

Image

This article adds another push channel to the overall picture: it describes how the Oracle Database can publish directly to the Bayeux Channels (by posting to the CometD servlet over HTTP) and thereby perform push to the subscribed web clients. Database to browser push – how does that sound?

Read the rest of this entry »