Monday Nov 23, 2015

Oracle OpenWorld 2015: Finally a real Vision and Mission. A pleasant surprise by Robbrecht van Amerongen

clip_image001For me the 2015 Oracle OpenWorld was a pleasant surprise.  The surprise was not the announcement of an additional set of cloud products like the Identity Cloud or the Application Builder Cloud Service. The biggest surprise was the different tone of voice during the conference.

In the past you could summarize Oracle’s message as: We are Bigger and Better in technology, Open Source is bad,  Cloud is important, We (Oracle) Offer a full set of products and you do not have to look at other vendors. All your problems will be solved when you buy Oracle.

There is a change happening in Oracle, and the most important change is not the new products. Is a change in market approach, culture and structure.

Larry finally found his vision and mission

The change was visible in the Sunday and Tuesday keynote by Oracle’s CTO Larry Ellison. After a long time Oracle finally has a vision. And surprisingly it has nothing to do with technology. The vision steers Oracle in a completely different direction. Oracle needs to transform from a tech company to a services organization. It was definitely an inspiring keynote. The SAAS, PAAS, and IAAS business is taken very serious. I expected a full blown attack on Amazon and Salesforce,  but Larry is seeing them as inspiring example.  The CTO of Oracle seemed to have found his new horizon and he is eager to get there. He really looked like he enjoyed it again.

The full stack offering is not the only choice  anymore

Read the complete article here.

WebLogic Partner Community

For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn Forum Wiki

Sunday Nov 15, 2015

Using Upstart to automatically start WebLogic on Linux by Jan van Zoggel

clip_image001Recent releases of Ubuntu & RedHat both support Upstart which is a new way to automatically turn programs into daemons so you are able execute them on system start-up. I tried to make my Weblogic domain start automatically on a development Ubuntu server and this is the result.

It only required me to create a few configuration files. Read the complete article here.

WebLogic Partner Community

For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn Forum Wiki

Wednesday Oct 21, 2015

Separating the dispatch policy for OIM Eventhandler MDBs by Peter van Nes

clip_image002

In OIM JMS queues are used for storing the reconciliation events. These events are read from the JMS queues by Message Driven Beans (MDB)  for processing. Each type of event is processed by a specific MDB and is stored in a dedicated queue of the OIMJMSModule.

The MaxThreadsConstraint  for the OIMMDBWorkManager sets the maximum number of concurrent threads for MDBs processing reconciliation events. A high number of concurrent threads of a specific MDB, e.g. oimKernelQueueMDB, can therefore allocate all available threads from the OIMMDBWorkManager. Therefore there may be leaving only some or none threads for the other MDB.

This can be avoided by separating the dispatch policies for different MDBs in two steps. First create a dedicated Workmanager and MaxThreadConstraint (MTC) for one or more MDB. Second change the dispatch policy for the MDB to the just created MTC.

In the steps below a WorkManager and MTC will be created. The existing dispatch policy for the oimKernelQueueMDB will be replaced with the created WorkManager. Multiple MDB may share the same dispatch policy. Always keep in mind that adding a new WorkManager as a dispatch policy will increase the total number threads. So if you want to keep the number of total threads unchanged, reduced the Count in MaxThreadsConstraint-1 .

Create WorkManager and MTC
MaxThread Constraint

· Logon to the Weblogic Console

· Select Lock & Edit in ‘Change Center’

· Open Environment > Work Managers in the ‘Domain Structure’

· Read the complete article here.


WebLogic Partner Community

For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn Forum Wiki

Monday Oct 19, 2015

Free WebLogic Console Customization Self-Study Course by Peter van Nes

clip_image002

I know that the public for Weblogic Console Customizations is not very large, therefore i decided to make the course public available for self-study.

Below you can find the presentation slides and LAB guide. The course is accompanied with an preconfigured VirtualBox OVM imaged which contains all the necessary LAB files. You can download the OVM here. A guest host with a dual-core processor and 4GB RAM is recommended.

Attend the free on-demand course here

WebLogic Partner Community

For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn Forum Wiki

Thursday Sep 24, 2015

Extending the Weblogic console by adding Java classes by Peter van Nes


clip_image002In this video is demonstrated how you can customize the Weblogic console with live monitoring graphs by adding custom Java classes.

The Netbeans projects and source-code shown in this presentation can be downloaded below. The source for bxslider and chart.js can be found here;

· bxslider http://bxslider.com

· chart.js  http://www.chartjs.org

Netbeans projects

· SysStatsMBean

· SysStats-war.zip

· SysStats

Attend a free bootcamp Bootcamp Extending the Weblogic Console On September the 10th and 17th. For more information please visit the registration page here.

Watch the video here.

WebLogic Partner Community

For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn Forum Wiki

Sunday Aug 23, 2015

Extending the Weblogic Console by adding Books, Pages and Portlets by Peter van Nes

In this video is demonstrated how you can customize the weblogic console by adding Books, Pages and Porlets displaying SLA Information related to the domain.

clip_image002

Watch the video here.

WebLogic Partner Community

For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn Forum Wiki

Thursday Jun 18, 2015

Creating graphs from DMS Metrics Peter van Nes

clip_image002When analyzing a (performance) issue in Fusion Middleware components, Dynamic Monitoring Service (DMS) Metrics can support you with the necessary information to support resolving the issue. DMS Metrics can be accessed using a variety of tools like JConsole, Oracle EM, WLDF, WLST and the DMS Spy servlet. The DMS Spy servlet is a perfect tool to get insight in the actual metrics but does not provide a way to store or graph these metrics over time. In Oracle EM Fusion Middleware Control you can view graphs of some metrics over time, but it is not possible to store these for review. To quickly get the needed graphs i wrote a WLST script that recorded the selected metrics to a csv which i could upload to plot.ly to generate graphs in minutes.

To record the DMS metrics to a csv file execute the script with the required arguments as shown in the example below. For more information on the argument metrictables follow this link; metrictables. Make sure to enclose the metrictables argument in single quotes, even if you only need one metric table. e.g. ‘”OIM_*”‘. Read the complete article here.

WebLogic Partner Community

For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn Forum Wiki

Saturday Jun 13, 2015

WebLogic Server on Linux 7 by René van Wijk

clip_image002In this post, we will set-up a WebLogic Server environment on Linux 7 hosts; Show how to create systemd unit files for the Node Manager and the Apache HTTP Server (that contains the WebLogic Server Proxy Plug-In); See how automation tools, such as Ansible, can be made operating system version aware such that the same configuration can be used for multiple operating system distributions; Finally, we will test the environment.
And yes, WebLogic Server is supported on Linux 7 - just take a look at the certification matrix. Here, we see that WebLogic 12.1.3 with Oracle JDK 1.8.0_20+ is certified on Linux 7 (Oracle Linux 7 and Red Hat Enterprise Linux 7).

Creating virtual machines

The steps to create a virtual machine are as follows

  • Open VMWare WorkStation and click file, new virtual machine.
  • Choose custom and click next.
  • Choose a certain virtual machine hardware compatibility. In this case we choose Workstation 11.0. Click next.
  • Choose I will install the operating system later. Click next.
  • Select the guest operating system. In this case we choose Linux and set the version to CentOS 64-bit.
  • Click next and enter the following parameters:
    • virtual machine name: machine1dotcom
    • location: C:\temp\VirtualMachines\machine1dotcom
  • Click next.
  • Choose the number of processors, for example one processor with four cores, and click next.
  • Configure the amount of memory for the virtual machine, for example 4096MB, and click next.
  • Select the network type, for example network address translation (NAT), and click next.
  • Select the I/O controller type (choose the recommended type) and click next.
  • Select the virtual disk type (choose the recommended type) and click next.
  • Select create a new virtual disk and click next. This article provides information on increasing the size of a virtual disk. This procedure is necessary to accommodate data requirements that have changed since the creation of the virtual disk.
  • Enter the disk capacity, for example 20GB, select split virtual disk into multiple files and click next.
  • Enter the name for the disk file and click next.
  • Click finish
  • After the virtual machine is created click edit virtual machine settings

Read the complete article here.

WebLogic Partner Community

For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn Forum Wiki

Saturday May 23, 2015

My first experiences with ThreadLogic by Marcel van de Glind

clip_image002A while ago I came into touch with ThreadLogic. Most of the people whom I was talking about it, did not know the tool. This unfamiliarity with ThreadLogic made me decide to write this blog. I think that every WebLogic Administrator should know ThreadLogic and that it is also a very interesting tool for Fusion Middleware Developers.

But let me start at the beginning. A while ago Michael Sahadat, a SOA/Integration Architect at Oracle, came over to help me solve a performance issue. He was using ThreadLogic and explained me how it helped us at the end to detect the performance bottleneck. But that I will explain later on. First I will tell about ThreadLogic.

What is ThreadLogic?

ThreadLogic is a Thread Dump Analysis tool. Thread Dump Analysis is a key tool for performance tuning and troubleshooting of Java based applications.

Most TDA tools dont mention the type of activity within a thread, should it be treated as normal or deserving a closer look? Can a pattern or anti-pattern be applied against them? Any possible optimizations? Are there any hot spots? Any classification of threads based on their execution cycles? ThreadLogic is created by the Oracle Fusion Middleware Architect Team (A-Team) to address these deficiencies.

Once a thread dump is parsed and threads details are populated, each of the thread is then analyzed against matching advisories and tagged appropriately. The threads are also associated with specific Thread Groups based on functionality or thread group name.

The current version of ThreadLogic is V2.0.217. Since version 2.0.215 it contains support for SOA 12c.

How did ThreadLogic help us?

After creating two threaddumps in WebLogic we loaded them in ThreadLogic. ThreadLogic immediately gave a Warning. Bottleneck among threads.

Opening the dump tree and selecting the Advisory Map show a Map with information about the health of the system under investigation. Each of the advisory has a health level indicating severity of the issue found, pattern, name, keyword and related advice. As you can see in the picture below, our system has a number of FATAL and WARNING issues. Read the complete article here.

WebLogic Partner Community

For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn Forum Wiki

Friday May 08, 2015

ADF Faces 12c Components Demo and Test Automation by Wilfred van der Deijl

clip_image002You might have noticed that I am working on a series of blog articles on using Selenium to automate testing of Oracle ADF applications. This includes work on a little framework to make this easier and a set of sample JUnit tests against the public Oracle ADF Faces 12c Components Demo.
Getting the Faces 12c Component Demo running with test automation had some challenges. I wanted to write them down here in case somebody wants to try the same. It starts by downloading the Oracle ADF Faces Components Demo from OTN. This also includes instructions on how to run this application in your integrated weblogic server, but those instructions have some caveats and are for JDeveloper 11g, not version 12c. Please follow the instructions below as an alternative (I've marked the differences with the normal Oracle instructions and included screenshots at the end).
In the end this needed more work than I expected, so I offer the fixed version for download. If anyone from Oracle feels that this is a problem please contact me and I'll remove the download and you can follow the instructions below to create your own fixed version.

Download the ADF Faces 12c Components Demo WAR file, but don't unpack it.

Start JDeveloper 12.1.3

Instructions updated from 11g: Choose File > From Gallery from the menu to create a new application. Select General > Applications in the tree and select Custom Application as application type and press Ok.

In the Create Application dialog type adffacesdemo as the application name, select a directory, leave the rest of the options alone and press Finish. This creates new application workspace and project.

Instructions updated from 11g: The default created project is not needed and you may delete the project. Right click it and select Delete Project. In the subsequent dialog choose to not only delete the project form the application but also delete it from disk.

Instructions updated from 11g: In the now empty workspace choose File > From Gallery from the JDeveloper menu. In the list of items select Projects and on the right hand side Project from WAR and press Ok. In the next dialog provide a name for the project, e.g. adffacesdemo, and keep the directory information. On the second panel, use the file browser to select the downloaded ADF Faces demo WAR file and finish the wizard.

Double click onto the project node to open the project properties and select the Run > Debug > Profile option. Press the Edit button and select the Tool Settings. In the Before Running section, uncheck the Make Project and Dependencies option and close the dialog pressing Ok. Read the complete article here.

WebLogic Partner Community

For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn Forum Wiki

Friday May 01, 2015

Securing passwords in Coherence override files by Peter van Nes

clip_image002In a previous post i wrote how to Secure Coherence communications for FMW SOA by enabling SSL through a Coherence override file. Setting up SSL involves setting up a keystore and truststore which are protected by a passsword. To access the key- and truststores Coherence retrieves the required passwords from the elements in the Coherence override files. Currently Coherence does not support encryption of these password element values. A possible solution to prevent clear-text keystore passwords in the Coherence override files is to use a System Property override for these password elements.

You can override element values in the Coherence override file using the attribute system-property. The value assigned to this attribute is the System Property containing the value overriding the element value in de Coherence override file. Let’s make it more clear using a snippet from a Coherence override file below. The default private keystore password at line 8 is intentionally left empty and the attribute system-property is added to the password element. The value assigned to the attribute system-property, coh.override.keyst.pwd, is the name of the System Property which is used to override the value in the password element.

So now we can set the value for the private keystore password using the System Property ‘coh.override.keyst.pwd’. You could set this system property for example by adding the next two lines to the setDomainEnv.sh.

But really, this is not a great improvement, the clear-text password has moved from one file to another! Also the password now can be retrieved by anyone who has access to the system by displaying the active processes. What we have learned from here is that the use of System Properties allows us override the value for the password elements in the Coherence override file. If there is a possibility to read the keystore password values from an encrypted file and set the corresponding system properties when starting a Managed Server the it would improve the protection of the keystore passwords.

And yes, it is possible. For those who are not interested in the nitty gritty details but just want to store the keystore passwords in the Coherence Override file in a secure manner here the concise installation instructions first.

Download the Weblogic Startup classes in CoherenceKeystorePasswordCipher.jar here.
Copy this jar into the lib folder of your domain_home and add the jar file to the classpath.
This can be done, for example, by adding the next line to the setDomainEnv.sh
POST_CLASSPATH="${DOMAIN_HOME}/lib/CoherenceKeystorePasswordCipher.jar${CLASSPATHSEP}${POST_CLASSPATH}"

Edit the Coherence override file and change all elements for which you want to secure the password.

Remove the value (password) from the password element.

Add the attribute system-property to the password element and assign a descriptive and unique system property name

For example, change Read the complete article here.

WebLogic Partner Community

For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn Forum Wiki

Sunday Apr 05, 2015

Securing Coherence unicast communications for FMW SOA by Peter van Nes

clip_image002When confidentiality is required for an Oracle Fusion Middleware environment, the first thing you probably will do is configure SSL for the domain. You might think that this will secure all your connections in the domain, but various FMW applications utilize different frameworks like JGroups or Oracle Coherence which connections are not secured by configuring SSL for the domain.

Various FMW applications, like Oracle Identity Manager, use FMW SOA which utilizes Oracle Coherence for Unicast communications. As Oracle recommends Unicast communication for SOA enterprise deployments in the Fusion Middleware Enterprise Deployment Guide for Oracle SOA Suite, you probably will have setup Unicast communication in your production environments accordingly by adding the Java properties tangosol.coherence.wka[1-n] and tangosol.coherence.localhost.

Instead of adding the properties to the Server Start arguments for each server individually you could add these settings to the setDomainEnv.sh. This way you have consolidated view of all the configuration settings for the Coherence cluster. Securing Unicast communications

Unicast (TCMP) communications for Coherence can be secured using by defining a SSL Socket Provider.  [Coherence Security Guide; Using SSL to Secure TCMP Communication]

A pre-defined SSL Socket Provider ‘ssl’ is defined in the tangosol-coherence.xml file of java archive coherence.jar which can be found in the lib directory of your coherence installation in the <MW_HOME>. The pre-defined SSL Socket Provider expects a key- and truststore with the name keystore.jks which must be present in the classpath. Therefore this Socket Provider is less suitable for production environments where truststores and keystores are defined in separate Keystores. Best practice is not to replace tangosol-coherence.xml, but to override the operational and run-time settings using  an Operational Override File. The property tangosol.coherence.override specifies the name of the override file to be used instead of the default. In this override file the cluster-config element should be defined to enable SSL for TCMP (Unicast). The cluster-config element contains three sub-elements; member-identity, unicast-listener and socket-provider.

The member-identity element contains the cluster-name of the Coherence cluster. This is the same name as the cluster name set in property tangosol.coherence.cluster when configuring unicast communications. Element unicast-listener defines the well- known-addresses, listen-ports and other properties of all cluster nodes. This are the values you assigned to the properties tangosol.coherence.wka[1-n] and tangosol.coherence.localhost when setting up unicast communications. The element socket-provider should have the same value as attribute id of the socket-provider element which will be described next. Read the complete article here.

WebLogic Partner Community

For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn Forum Wiki

Thursday Apr 02, 2015

Coherence, WebLogic and Java SE 8 by René van Wijk

clip_image002

In this post we will explore some new Java SE 8 features,

  • Lambda Expressions enable us to treat functionality as a method argument, or code as data. Lambda expressions let us express instances of single-method interfaces (referred to as functional interfaces) more compactly. The Java SE 8 API also ships a lot of new functional interfaces to make our life easier.
  • Method references provide easy-to-read lambda expressions for methods that already have a name.
  • Default methods enable new functionality to be added to the interfaces of libraries and ensure binary compatibility with code written for older versions of those interfaces.
  • Classes in the new java.util.stream package provide a Stream API to support functional-style operations on streams of elements. The Stream API is integrated into the Collections API, which enables bulk operations on collections, such as sequential or parallel map-reduce transformations.

and see how these work out on WebLogic and Coherence. Note that WebLogic 12.1.3 and Coherence 12.1.3 are supported on Java SE 8, with the following restrictions:

  • WebLogic Server 12.1.3 does not support applications using the Java SE 8 fork/join and parallel streams features. Avoid these features when building WebLogic Server 12.1.3 applications using Java SE 8. The reason for this restriction is that the threads used by the fork/join thread pool will not be WebLogic Server managed threads. Any of the work performed in these threads may not be able to make use of WebLogic Server or Java EE facilities because the state of these threads, including security and transaction state, may not be created properly. Further, these threads will not be controlled by WebLogic Server Work Manager thread management facilities, possibly resulting in excessive thread usage.
  • When using Java SE 8, the use of permgen-memory is no longer required. The Java command line options -XX:PermSize and -XX:MaxPermSize are ignored: Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0.
  • Java SE 8 has new APIs for JDBC 4.2 and is supported for WebLogic Server 12.1.3 running on Java SE 8 with a JDBC driver that supports JDBC 4.2. However, although the Oracle JDBC thin driver bundled with WebLogic Server is certified on Java SE 8, the Oracle JDBC thin driver does not support JDBC 4.2.
  • When running using SSL connections with JCE on JDK 8, it may be necessary to install the Java Cryptography Extension Unlimited Strength Jurisdiction Policy Files 8.

As an example, we will use the application presented in the post Coherence 12c Grid Archive. To include some Java SE 8 features, we rewrite the servlet as (in which we also use parallel streams, although not supported, but just out of curiosity to see what goes on in the Java runtime). Read the complete article here.

WebLogic Partner Community

For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn Forum Wiki

Tuesday Feb 24, 2015

Full recovery of a corrupt WebLogic embedded LDAP server by Peter van Nes

clip_image002Today one of the Adminservers failed to re-start and was flooding the AdminServer.out with multiple EmbeddedLDAP java.lang.ArrayIndexOutOfBoundException messages per second. I do admit, this is not the first article about how to recover from this issue, and probably not the last. Although i was able to Google multiple articles and blogs on this exception, all of the suggested solutions left me with a seed embedded LDAP. The good news is that  by default a backup is made of the embedded LDAP every day at 23:05 and the last 7 copies are retained. You can find these setting by selecting the domain in the domainstructure of the Weblogic console and then open the tab Security > Embedded LDAP.

So you can recover fully from a corrupt Weblogic embedded LDAP server, just follow these few steps.

· Shutdown admin server

· Move the current data directory so you can access it later.
mv <domain_home>/servers/AdminServer/data to <domain_home>/servers/AdminServer/data.bkp

· Start the admin server Read the complete article here.

WebLogic Partner Community

For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn Forum Wiki

Search

Archives
« June 2016
SunMonTueWedThuFriSat
   
15
24
25
26
27
28
29
30
  
       
Today