Oracle Coherence with WebLogic 12c

Collecting material for the next edition of my WebLogic 12c book I began writing a primer about Oracle Coherence from a WebLogic perspective. Coherence is part of the WebLogic Suite and you can start using it right away.

Many WebLogic professionals still consider Coherence as something complicated and challenging to get started with, so I made a number of hands-on Coherence primer screencasts available – also more blog postings with best practices will follow.

Make sure to subscribe to WebLogic book YouTube channel: http://www.youtube.com/weblogicbook

 

Basic Introduction

Coherence is a coherent data grid that provides a number of different cache implementations, which are well described here. The following figure illustrates how data A. B, C is stored into different nodes with the same put(key, value) method.

coh_cache impl

Oracle Coherence Basics, Multicast Test and Firewall Issues

Oracle Coherence Command Line, Replication and Availability

 

 

Development with NetBeans Introduction

Oracle Coherence NetBeans API and NamedCache

 

 

Coherence ActiveCache with WebLogic

Coherence ActiveCache can be used to offload session data from WebLogic into Coherence cache nodes. These cache nodes can be managed with WebLogic Nodemanager. A detailed explanation can be found here.

coh_wlsdomain

 

Oracle Coherence ActiveCache for WebLogic 12c configuration

 

Oracle Coherence ActiveCache Demo for WebLogic 12c

 

Oracle Database as a Service in the Amazon Cloud: Now with APEX, Oracle XML DB and your Data Center’s IPs.

Amazon Web Services improved its Relational Database as a Service (RDS) for Oracle. It now supports APEX (finally, see the lengthy APEX discussion here), the OracleXMLDB and Virtual Private Cloud (VPC).

For more information:

 

Simple Custom JMX MBeans with WebLogic 12c and Spring

Using the Spring framework bundled with WebLogic 12 the programming of JMX MBeans becomes as easy as writing a simple POJO within a web application. After coding the MBean as a POJO all that is left to do is creating the Spring configuration file and editing the web.xml deployment decriptor:

- Firstly you have to add the Spring <listener> to the web.xml deployment descriptor with the web.xml to get Spring started.

- Secondly create the applicationContext.xml for Spring in the WEB-INF subdirectory. Declare the Spring bean and let Spring export it to the platform MBean server.

- Thirdly deploy the web application and test it with JConsole, WLST or j4psh.

For your convinience I already built an example. You can download the deployable SimpleJMX.war file or the complete NetBeans project.

You can see the application in action, including the involved files and the deployment in the following screencast:

How to access custom MBeans from WLST is shown in the second part:

The third part is showing how to retrieve MBean attributes from a JSP:

EJB 3.1: Stateless Session Bean Deployed as .war, Dependency Injection, Asynchronous Methods

Development of an EJB 3.1 stateless session bean has become incredibly simple. You add an annotation, there is no XML required at all, no need to implement an interface anymore, and you can easily implement asynchronous methods that decouple your client calls from the method execution. Then, at the end you deploy the EJB as a simple .war file – no need to warp it in an .ear file.

 

The following screencasts explain you how to do it. You can also download the whole NetBeans project  or just a deployable .war file exactly the sources created in the screencasts.

 

Simple Stateless Session Bean with asynchronous method, developed with NetBeans 7.1 and deployed as .war file:

Asynchronous Methods with Stateless Session Bean:

Inject Stateless Session Bean into Servlet:

 

Here is a tough question at the end:

Imagine you have to add a WebLogic specific settings for your stateless session bean. There is no annotation for that. These settings have to be put in the deployment descriptor which typically used to be the weblogic-ejb-jar.xml file within an .ear file. But what if you have already build a .war file which is perfectly possible now (and neither an .ear nor an ejb.jar file).

Where do you put these settings then? Post your answer here.

AWS Cloud: Use Same Access Key in Different Regions (or in All Regions)

In the Amazon cloud you require an access key to connect to your instances. This key is can be generated when you create your first instance. It’s then downloaded to your client and you specify it when connecting to the instance. Typically you need one key per AWS region.

However, you can use the same key also for different or all regions. You have to connect to a running instance and then copy it from the instance’s authorized_key file under .ssh/and import it as a key pair in the new region as shown in the following video.