ADFLogger JAX-WS SoapHandler to log request, reponse and faults

Lately I see a lot of ADF projects consuming SOAP web services. This is typically done by creating a JAX-WS Proxy in JDeveloper and invoking this proxy from java beans exposed through the Bean Data Control or through programmatic ADF Business Components. This post will show how to instrument your JAX-WS proxy so it can log the SOAP request, payload and potential fault to an ADFLogger. This can be a very valuable tool during development (more...)

The Long Tail of Application Usage

A long tail is a distribution of some data point where a few data point have a high value, but most of the data points have a much lower value. When sorting the data points by value, there will be a large “head” and a long “tail”.

Application usage displays the “long tail” characteristic: A few screens are used much more than others.

Long tail of app usage

If you are re-developing your application, for example moving from Oracle Forms (more...)

Watch out with function result cache based on data dictionary views

Result cache is a powerful tool to gain performance in PL/SQL.
There are many examples on the internet that proves this, e.g. these articles on All things Oracle:
- Result Cache(1)
- Result Cache(2)

But I’m not going to talk about performance.
This article is some kind of warning.

First I’ll show you how result cache works on a normal view.
I’ll create a table, a view on this table and a function that (more...)

AeroGear UnifiedPush releases

This week we had a few releases around the AeroGear UnifiedPush Server!

  • UnifiedPush Server 0.10.0
  • unifiedpush-java-client 0.5.0

The entire change log of the server can be found here:https://issues.jboss.org/browse/AGPUSH/fixforversion/12321876

A few highlights of the Server:

  • iOS7 silent/background message support
  • GCM support for Chrome browser
  • Admin UI updates and tweaks
  • Postgresql support

Get it now: http://aerogear.org/push

Our OpenShift offering: Early March we will update the OpenShift cartridge, after the (more...)

Deploying Spring MVC application to Cloud Foundry from IntelliJ IDEA

I previously showed how to create a connection in IntelliJ IDEA to Cloud Foundry v2 in the post below.

http://theblasfrompas.blogspot.com.au/2014/02/intellij-idea-version-13-now-includes.html

With a Cloud Foundry CLOUD connection we can now PUSH our application directly from the IDE as shown below.

1. Create a run configuration for your project as shown below. We also specify the memory and number of instances on this page as part of the push  / deployment process.



2. (more...)

IntelliJ IDEA version 13 now includes CloudFoundry Connection

Just installed IntelliJ IDEA version 13 and found that it now includes a CloudFoundry connection type. You define it under IDE settings as shown below.


Will test deploying to the publicly hosted AWS Cloud Foundry using this connection at some stage.

"Continuous Enterprise Development in Java" by Andrew Lee Rubinger and Aslak Knutsen

I've been doing book reviews since some time now. But this is a special one. Back at JavaOne I ran into Aslak and Dan and we had a chance to talk about their latest book project which has been floating around the interwebs since some time now.

Abstract
Take a use-case approach to Enterprise Java development, and discover how to program more effectively. This practical book shows you how to perform continuous development, using a (more...)

ADF BC Performance – View Object Instance Lazy Activation

ADF BC is a great framework to manage data, but one thing it does really smart - ADF BC View Object instance lazy activation. You must know by now - passivation/activation events in ADF BC are relatively expensive in terms of performance. Especially expensive is activation event, as during this event View Object instance is re-constructed and data is re-fetched. However, it is not as bad as it sounds - it doesn't activate all View (more...)

PCF (Pivotal Cloud Foundry) cf push multiple applications using manifest file

By creating a manifest as follows we can push multiple applications in one go as shown below.

1. manifest.yml

applications:
- name: pas-props
  memory: 256M
  instances: 1
  host: pas-props
  domain: cfapps.io
  path: ./props.war
- name: pas-httpsession
  memory: 256M
  instances: 1
  host: pas-httpsession
  domain: cfapps.io
  path: ./haclusterdemo.war

2. Push as follows

[Thu Feb 20 14:48:45 papicella@:~/vmware/pivotal/products/cloud-foundry/apps/other ] $ cf push -f (more...)

ADF Mastery newsletter is out

The February issue of the ADF Mastery newsletter just went out. If you are not on the list, you can sign up here.

This month, I’m covering the following topics:

  • Which version should I use?
  • A learning plan for the ADF basics
  • Best practice for good user experience

The first topic is often a matter of some debate. I recommend using JDeveloper 11.1.1.7 for now – this is the stable version that (more...)

PCF (Pivotal Cloud Foundry) Using the new CLI to bind services from a cf push

I previously blogged how to PUSH an application into PCF , then bind services as shown below.


If you want to do this in one step simply create a manifest file as shown below. This example isn't the spring books application but shows you what your manifest.yml would look like with services included so you could then create one similar to that below.

1. Create a manifest.yml file (more...)

Simple JQuery Notification Message for ADF UI

If you would like to use JQuery in ADF and looking for some simple example, this post if for you. I'm sharing use case of JQuery notification message, displayed after successful commit operation is completed in ADF. Once commit is completed, notification message is displayed for 2 seconds and later it disappears.

Here you can see, how it looks. User successfully saved changed data - notification message is displayed about success - it nicely slides (more...)

PCF (Pivotal Cloud Foundry) new command line client

I decided to install the new CF v6 CLI for PCF (Pivotal Cloud Foundry). Given this will be the new CLI for PCF here is how it differs to the old Ruby CLI. In this example I deploy / push a spring based application and bind it to existing services.

To download and install the new CLI v6 use the link below.

http://docs.cloudfoundry.com/docs/using/managing-apps/cf/go-cli.html

In this example we have the following 2 services (more...)

Collecting Changed Row Keys in ADF BC DoDML Method

If you ever had a question - how to collect information about all changed rows in the transaction, I will provide an answer in this post. As you perhaps already know, doDML method from Entity Implementation class is invoked per each changed row. This means our task is to collect Primary Keys for all changed rows and later access this collection from another method, to be able to process collected keys (log them, call PL/SQL, (more...)

WildFly 8 meets AeroGear UnifiedPush Server

Congrats to the WildFly team on releasing their 8.0.0.Final!

For integrating the AeroGear UnifiedPush Server with WildFly only a few steps are required!

First, download and start the server, like:

$WILDFLY_HOME/bin/standalone.sh -b 0.0.0.0

Now you just need to build the master branch of the mobile push server. For that you simply need to clone the repo:

git clone git@github.com:aerogear/aerogear-unifiedpush-server.git 

and build the source code:

cd aerogear-unifiedpush-server
 (more...)

Start an incognito browser from JDeveloper

In web development, a lot of times you want to avoid your browser caching messing up different sessions. Luckily most browser have some sort of an incognito modus now a days. I myself use Google Chrome the most while developing in ADF.

There is a command line start up parameter to start Google Chrome in incognito modus, a great feature in JDeveloper is that you can set these command line parameters.
If you navigate to (more...)

The Day We Fight Back

If you are worried about internet surveillance by NSA and others, today is an international action day with demonstrations and events worldwide. See www.thedaywefightback.org for more information.

TDWFB

APEX 5.0: Modal dialogs have never been so easy!

Like all of us, I have had the pleasure to take a look at APEX 5.0 EA1. One of the most anticipated features was build-in support for modal dialogs. In this blog we will examine this feature more closely.

An easy way to investigate this feature is by creating two simple pages: report & form using the wizard.

0Modaldialogs

Follow the wizard and base the report & form on the demo_customer table. When you come (more...)

Explaining Change Indicator Property for ADF BC Attribute

There is one not very visible, but quite powerful property available for ADF BC Entity Object attribute. This property is called - Changed Indicator. By default, during commit operation, ADF scans each changed attribute from the current row and compares value in the DB. If it locates changed values in DB, reports error about another user changes in the same row. While this is expected functionality, there are use case when we want to allow (more...)

Transparent PATCH support in JAX-RS 2.0

The PATCH method is one the the less well loved HTTP methods simple because until recently there really wasn't a standard PATCH format. This has been standardized for JSON for a while now so there are quite a few libraries that will do the heavy lifting for you. For the purposes of this blog I am going to use json-patch although it would be easy to adapt this particular implementation to the patch library of (more...)