AMIS Technology Blog » Michel Schildmeijer http://technology.amis.nl Friends of Oracle and Java Thu, 23 Oct 2014 14:04:46 +0000 en-US hourly 1 http://wordpress.org/?v=4.0 Oracle SOA Suite 11g & WebLogic 11g: automatic start after reboot http://technology.amis.nl/2012/03/16/oracle-soa-suite-11g-weblogic-11g-automatic-start-after-reboot/ http://technology.amis.nl/2012/03/16/oracle-soa-suite-11g-weblogic-11g-automatic-start-after-reboot/#comments Fri, 16 Mar 2012 14:32:54 +0000 http://technology.amis.nl/?p=16989 In an previous post I discussed the stop start automated mechanism already, but now I developed a procedure how to automatically startup a complete Oracle SOA Suite 11g after a reboot.   The following components which are involved are:   –       Database Instance –       TNS Listener –       Nodemanager –       AdminServer –       SOA [...]

The post Oracle SOA Suite 11g & WebLogic 11g: automatic start after reboot appeared first on AMIS Technology Blog.

]]>
In an previous post I discussed the stop start automated mechanism already, but now I developed a procedure how to automatically startup a complete Oracle SOA Suite 11g after a reboot.

 

The following components which are involved are:

 

–       Database Instance

–       TNS Listener

–       Nodemanager

–       AdminServer

–       SOA Suite Managed server including soa-infra application

 

The following scripts are used:

– dbora : init service file to stop start the database and listenere during startup

– soa_rc: init service file to start  WebLogic and the SOA Suite during startup

 

The image shows you the flow of the various scripts that are called by soa_rc

 

For the database, create  as root a file dbora with the following contents ( see attachment )

Use for ORA_HOME the database ORACLE_HOME (in the script, modify it to your own)

Make the file executable for others and place it in /etc/init.d

chmod +x dbora

Then add it to the Linux service level

chkconfig --add dbora

Linux has 7 different run levels (or operating modes):

  • rc0.d – System Halted
  • rc1.d – Single User Mode
  • rc2.d – Single User Mode with Networking
  • rc3.d – Multi-User Mode – boot up in text mode
  • rc4.d – Not yet Defined
  • rc5.d – Multi-User Mode – boot up in X Windows
  • rc6.d – Shutdown & Reboot
Level 3 4 and 5 should be sufficient for the script. Specify this in you dbora and soa_rc script. The header of the files shoud have this information in the header
Example soa_rc:

#!/bin/sh
#
# Start and stop script for an entire Oracle FMW 11g environment
# Tobe added to the rebootsequence
#
# chkconfig: 345 99 30
# description: Script to start Oracle FMW
# This script starts WebLogic and SOA Suite 11g
# processname: soa_rc
#
# Created by M. Schildmeijer

Also add the soa_rc to the startup service:
chkconfig --add soa_rc
You can test the scripts as the root user without rebooting with:
service soa_rc stopall
service dbora stop

 

This should stop the SOA Suite and Database including listener.
Now reboot the machine; after reboot the database should be up and WebLogic/SOA Suite 11g should be starting automatically. Starting a SOA Suite can, depending how many composites ,adapters and so on must be started can take upto 10 minutes, so be patient!

You can download the scripts here. Do not forget to modify for you own environment like passwords, WLS Admin Port, etc

Also beware of setting some variables in your O/S profile like MW_HOME, WL_HOME etc…

 

The dbora script was obtained from Tim Hall, as Marco already mentioned

The post Oracle SOA Suite 11g & WebLogic 11g: automatic start after reboot appeared first on AMIS Technology Blog.

]]>
http://technology.amis.nl/2012/03/16/oracle-soa-suite-11g-weblogic-11g-automatic-start-after-reboot/feed/ 1
EJB an MDB best practices on WebLogic Cluster http://technology.amis.nl/2012/02/24/ejb-an-mdb-best-practices-on-weblogic/ http://technology.amis.nl/2012/02/24/ejb-an-mdb-best-practices-on-weblogic/#comments Fri, 24 Feb 2012 09:06:57 +0000 http://technology.amis.nl/blog/?p=15390 Recently I did an audit on a WebLogic 11g platform of one of our customers. There were many problems with the availability of their JAVA Applications. Some of the problems we’re platform related ( installation, configuration and infrastructure related) but a lot of them already existed in an earlier stage at application programming and configuration [...]

The post EJB an MDB best practices on WebLogic Cluster appeared first on AMIS Technology Blog.

]]>
Recently I did an audit on a WebLogic 11g platform of one of our customers. There were many problems with the availability of their JAVA Applications. Some of the problems we’re platform related ( installation, configuration and infrastructure related) but a lot of them already existed in an earlier stage at application programming and configuration level.

So I decided to bundle some tips for JAVA programmers how they should configure their EJB, MDB and Servlet applications when they will be deployed on a WebLogic cluster.

This is an example of a typical EJB application architecture in WebLogic Server:

Some hints and tips:

  • Use stateless session beans, when you don’t have heavy transactional load
  • Make use of home-is-clusterable in weblogic-ejb-jar.xml  and set in on “true”. The EJB can be deployed to multiple managed servers in a cluster. Calls to the home stub are load-balanced between the servers on which its deployed, and if a server hosting the bean is unreachable, the call automatically fails over.
  • On bean level, set stateless-bean-methods-are-idempotent in weblogic-ejb-jar.xml on “true”.
  • Set stateless-bean-is-clusterable in weblogic-ejb-jar.xml on “true” to deploy EJB’s in a WLS cluster
  • Use the stateless-bean-load-algorithm in weblogic-ejb-jar.xml for load balancing between EJB replica’s.
  • With in EJB MDB listeners set  setting start-mdbs-with-application to false in weblogic-ejb-jar.xml or weblogic-application.xml with clustered EJB’s. This avoids  hanging of current  messages and processing of the MDB  listeners. Listeners will wait with processing messaging after other services are fully started in WebLogic ( JDBC, JCA, JMS)
  • Configure in-memory replication of stateful session beans
  • Use batching with Message-Driven Beans.You can enable MDB transaction batching by defining the max-messages-in-transaction element in weblogic-ejb-jar.xml deployment descriptor. Beware , database deadlocks can occur in an application where an MDB makes multiple calls to a database so not all MDB’s are suitable
  • Use Multitier Clustered Architecture ( WebTier and Objectier separated) to utilize method calls of clustered EJB’s.
    Single combined-tier clusters provide no opportunity for load balancing method calls to clustered EJBs. Because they  are deployed on all WebLogic Server instances in the cluster, each object instance is available locally to each server. WebLogic Server optimizes method calls to clustered EJBs by always selecting the local object instance, rather than distributing it to remote objects which causes more network overhead.
    This  is, in most cases, more efficient than load balancing each method request to a different server. But if the processing load to individual servers becomes unbalanced, it may eventually become more efficient to submit method calls to remote objects than process methods locally.
    To utilize load balancing for method calls to clustered EJBs, it’s better to split the presentation and object tiers of the application in separate physical clusters.

Failover EJB’s in a cluster

 

Stateless session EJB’ s

As stateless session EJBs do not maintain any server-side state, the EJBObject stub returned by the EJB home object can route a method call to any server hosting the object. Failover occurs only on idempotent methods.

Stateless session EJBs can have both a cluster-aware home stub and a replica-aware EJBObject stub. By default, WebLogic Server provides failover services for EJB method calls, but only if a failure occurs between method calls. For example, failover is automatically supported if there is a failure after a method completes, or if the method fails to connect to a server. When failures occur while an EJB method is in progress, WebLogic Server does not automatically failover from one server to another.

This ensures that database updates within an EJB method are not “duplicated” in a failover scenario. If a client calls a method which increments a value in a datastore and WebLogic Server fails over to another server before the method completes, the datastore would be updated twice for the client’s single method call. So, set the stateless-bean-methods-are-idempotent to “true” in weblogic-ejb-jar.xml, WebLogic  assumes that the method is idempotent and will provide failover services for the EJB method, even if a failure occurs during a method call.

Stateful session EJBs

Stateful session EJBs should be set to home-is-clusterable to “true.” This provides failover and load balancing for stateful EJB lookups. Stateful session EJBs can’t utilize replica-aware EJBObject stubs, and WebLogic Server does not provide failover services for method calls to stateful session EJBs.

Entity EJBs

WebLogic supports load balancing and failover only at the home level, and not at the method call level (the EJBObject level). Also Enitity EJBs should be set with the home-is-clusterable to “true.”

The post EJB an MDB best practices on WebLogic Cluster appeared first on AMIS Technology Blog.

]]>
http://technology.amis.nl/2012/02/24/ejb-an-mdb-best-practices-on-weblogic/feed/ 2
WLST script to add DataSource and DBAdapter EIS Connection Factory http://technology.amis.nl/2012/02/16/wlst-script-to-add-datasource-and-dbadapter-eis-connection-factory/ http://technology.amis.nl/2012/02/16/wlst-script-to-add-datasource-and-dbadapter-eis-connection-factory/#comments Thu, 16 Feb 2012 12:21:43 +0000 http://technology.amis.nl/blog/?p=15480 Creating a EIS ConnectionFactory in your Database Adapter can be done with the WebLogic Administration Console, but of course this is also “scriptable”. What I needed was a script that created a Data Source with EIS Connection factory bound to the specific datasource. First I created a properties file, let’s call it DsCf.properties. Everything between [...]

The post WLST script to add DataSource and DBAdapter EIS Connection Factory appeared first on AMIS Technology Blog.

]]>
Creating a EIS ConnectionFactory in your Database Adapter can be done with the WebLogic Administration Console, but of course this is also “scriptable”. What I needed was a script that created a Data Source with EIS Connection factory bound to the specific datasource.

First I created a properties file, let’s call it DsCf.properties. Everything between <> should be replaced with your own values:

# Propertie file for creating datasource and EIS DB Adapter
# Created by Michel Schildmeijer
# Domain settings
domainname="&lt;your WLS DOMAIN&gt;"
adminurl=&lt;WLS HOST:Admin Port&gt;
adminusername=weblogic
adminpassword=&lt;passwd weblogic&gt;
#datasource settings
datasourcename=&lt;Name DataSource&gt;
datasourcedatabasename=&lt;database&gt;
datasourcetarget=&lt;targeted manaegd server&gt;
datasourcefilename= datasourcename + '.xml'
datasourcejndiname= 'jdbc/' + datasourcename
datasourcedriverclass=oracle.jdbc.OracleDriver
datasourceurl=jdbc:oracle:thin:@&lt;db host&gt;:1521:&lt;db sid&gt;
datasourceusername=&lt;db user&gt;
datasourcepassword=&lt;db user password
datasourcetestquery=SQL SELECT * FROM DUAL
#EIS Connection Factory settings
connfactname=eis/DB/&lt;Connection factory Name&gt;

Second, I created a WLST script to execute these properties and added the DataSource and ConnectionFactory. See the script below.

When running on a UNIX or linux system, navigate to the WLS DOMAIN DIR /bin( Specified during domaincreation) like /app/oracle/middleware/user_projects/domains/<Your domain>/bin and run

./setDomainEnv.sh

After this you are able to deploy the DataSource en ConnectionFactory:

java weblogic.WLST loadProperties DsCf.properties

After finished you can check in the WebLogic Admin Console to see:

  • If datasource is created
  • If in your outbound connections of the database adapter the EIS connection factory with binding to the DataSource has been created.

Script DsCf.py

 

<code></code><code>import os
</code><code>import time
</code><code>domainName = domainname
</code><code>adminURL= adminurl
</code><code>adminUserName= adminusername
</code><code>adminPassword= adminpassword
</code><code>dsName= datasourcename
</code><code>dsFileName= datasourcefilename
</code><code>dsDatabaseName=datasourcedatabasename
</code><code>datasourceTarget=datasourcetarget
</code><code>dsJNDIName=datasourcejndiname
</code><code>dsDriverName=datasourcedriverclass
</code><code>dsURL=datasourceurl
</code><code>dsUserName=datasourceusername
</code><code>dsPassword=datasourcepassword
</code><code>dsTestQuery=datasourcetestquery
</code><code>connect(adminUserName, adminPassword, adminURL)
</code><code>TargetServerName='soa_server1'
</code><code>edit()
</code><code>startEdit()
</code><code>cd('/')
</code><code>cmo.createJDBCSystemResource(dsName)
</code><code>cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName)
</code><code>cmo.setName(dsName)
</code><code>cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDataSourceParams/' + dsName )
</code><code>set('JNDINames',jarray.array([String('jdbc/' + dsName )], String))
</code><code>cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName )
</code><code>cmo.setUrl(dsURL)
</code><code>cmo.setDriverName( dsDriverName )
</code><code>cmo.setPassword(dsPassword)
</code><code>cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCConnectionPoolParams/' + dsName )
</code><code>cmo.setTestTableName(dsTestQuery)
</code><code>cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName + '/Properties/' + dsName )
</code><code>cmo.createProperty('user')
</code><code>cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName + '/Properties/' + dsName + '/Properties/user')
</code><code>cmo.setValue(dsUserName)
</code><code>cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName + '/Properties/' + dsName )
</code><code>cmo.createProperty('databaseName')
</code><code>cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName + '/Properties/' + dsName + '/Properties/databaseName')
</code><code>cmo.setValue(dsDatabaseName)
</code><code>cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDataSourceParams/' + dsName )
</code><code>cmo.setGlobalTransactionsProtocol('OnePhaseCommit')
</code><code>cd('/SystemResources/' + dsName )
</code><code>set('Targets',jarray.array([ObjectName('com.bea:Name=' + datasourceTarget + ',Type=Server')], ObjectName))
</code><code>save()
</code><code>activate()
</code><code>print 'Data source ' + dsName + ' configured'</code>
<code></code><code>
</code><code>#Connect
</code><code>#appPath='/app/oracle/middleware/soa11g/soa/connectors/DbAdapter.rar'
</code><code>#planPath='/app/oracle/middleware/soa11g/soa/connectors/DbAdapterPlanGenerated.xml'</code>
<code></code><code></code>oracleHome = os.environ.get(“ORACLE_HOME”)
<code></code><code>appPath= oracleHome + 'soa/connectors/DbAdapter.rar'
planPath=oracleHome + 'soa/connectors/DbAdapterPlanGenerated.xml'</code>
<code></code><code></code>
<code>CFName=connfactname
</code><code>dsName=datasourcename
</code><code>appName='DbAdapter'
</code><code>moduleOverrideName=appName+'.rar'
</code><code>moduleDescriptorName='META-INF/weblogic-ra.xml'
</code><code>def makeDeploymentPlanVariable(wlstPlan, name, value, xpath, origin='planbased'):
</code><code>while wlstPlan.getVariableAssignment(name, moduleOverrideName, moduleDescriptorName):
</code><code>wlstPlan.destroyVariableAssignment(name, moduleOverrideName, moduleDescriptorName)
</code><code>while wlstPlan.getVariable(name):
</code><code>wlstPlan.destroyVariable(name)
</code><code>variableAssignment = wlstPlan.createVariableAssignment( name, moduleOverrideName, moduleDescriptorName )
</code><code>variableAssignment.setXpath( xpath )
</code><code>variableAssignment.setOrigin( origin )
</code><code>wlstPlan.createVariable( name, value )
</code><code>             def main():
</code><code>                     connect(adminUserName, adminPassword, adminURL)
</code><code>                     edit()
</code><code>                           try:
</code><code>                           startEdit()
</code><code>                           planPath = get('/AppDeployments/DbAdapter/PlanPath')
</code><code>                           print '__ Using plan ' + planPath
</code><code>                           myPlan=loadApplication(appPath, planPath)
</code><code>                           print '___ BEGIN change plan'
</code><code>                           makeDeploymentPlanVariable(myPlan, 'ConnectionInstance_' '+ CFName' +'_JNDIName_abc123XXX','+ CFName', '/weblogic-connector/outbound-resource-adapter/connection-definition-group/[connection-factory-interface="javax.resource.cci.ConnectionFactory"]/connection-instance/[jndi-name="'+ CFName + '"]/jndi-name')
</code><code>                           makeDeploymentPlanVariable(myPlan, 'ConfigProperty_xADataSourceName_'+ dsName +'_abc123XXX',dsName, '/weblogic-connector/outbound-resource-adapter/connection-definition-group/[connection-factory-interface="javax.resource.cci.ConnectionFactory"]/connection-instance/[jndi-name="'+ CFName + '"]/connection-properties/properties/property/[name="xADataSourceName"]/value')
</code><code>                           print '___ DONE change plan'
</code><code>                           myPlan.save();
</code><code>                           save();
</code><code>                           activate(block='true');
</code><code>                           cd('/AppDeployments/DbAdapter/Targets');
</code><code>
</code><code>                           redeploy(appName, planPath,targets=cmo.getTargets());
</code><code>                           print 'EIS Connection factory ' + CFName + 'using' + dsName + ' configured';
</code><code>                    except:
</code><code>                           stopEdit('y')
</code><code>main()</code>

<code>
</code>

The post WLST script to add DataSource and DBAdapter EIS Connection Factory appeared first on AMIS Technology Blog.

]]>
http://technology.amis.nl/2012/02/16/wlst-script-to-add-datasource-and-dbadapter-eis-connection-factory/feed/ 5
WebLogic 12c: Use JPA in your Web Application http://technology.amis.nl/2012/02/14/weblogic-12c-use-jpa-within-your-web-application/ http://technology.amis.nl/2012/02/14/weblogic-12c-use-jpa-within-your-web-application/#comments Tue, 14 Feb 2012 14:06:23 +0000 http://technology.amis.nl/blog/?p=15393 Where as in WebLogic 11g JPA was not support by default, in WebLogic 12c it is the default persistency provider.JPA 2.0 is part of JAVA EE 6. I was trying some new JAVA EE 6 features in WebLogic 12c, so here is a is a way to create a Web Application with JPA under WebLogic [...]

The post WebLogic 12c: Use JPA in your Web Application appeared first on AMIS Technology Blog.

]]>
Where as in WebLogic 11g JPA was not support by default, in WebLogic 12c it is the default persistency provider.JPA 2.0 is part of JAVA EE 6.

I was trying some new JAVA EE 6 features in WebLogic 12c, so here is a is a way to create a Web Application with JPA under WebLogic 12c

Some of the JAVA EE 6 specifications we’re already supported in WebLogic 11g. JPA 2.0 was one of them. Though version 1.0 was the default. 2.0 also worked.Unless an explicit <provider>…</provider> wass specified in the persistence.xml file of a deployed application, WebLogic 11g used OpenJPA/Kodo by default.

The default JPA provider setting is exposed via a new MBean: JPAMBean on the DomainMBean, and persists the configuration into the config.xml file.

Furthermore, you needed to install the patch QWG8 – Enable JPA 2.0 support on WebLogic Server.

To make it work on 11g, you had to use Oracle TopLink as the persistency provider like the image shows you in the WebLogic Admin Console

Now for 12c this is not needed anymore, TopLink will be the default JPA Provider

We will create our own JAVA EE 6 Web Application with the NetBeans 7.1 IDE.

Choose File > New Project

Select Web Application from the Java Web category. Click Next.

Type WLS12cJPA for the project name and specify the project location.

Deselect the Use Dedicated Folder option, if selected. Click Next.

Select Oracle WebLogic Server from the Server dropdown list.

Select Java EE 6 as the Java EE Version. Click Next.

Use the registered JSF 2.1 library and Select JSF 2.1 from the  dropdown list. Click Finish.

NetBeans creates the web application project and opens index.xhtml in the editor. The faces/index.xhtml acts as the default index page.In WebLogic 12c your weblogic.xml shows no reference anymore to JSF

 

In 11g there was a reference in your weblogic.xml:

<strong>&lt;library-ref&gt;
      &lt;library-name&gt;jsf&lt;/library-name&gt;
      &lt;specification-version&gt;2.0&lt;/specification-version&gt;
      &lt;implementation-version&gt;1.0.0.0_2-0-2&lt;/implementation-version&gt;
      &lt;exact-match&gt;true&lt;/exact-match&gt;
  &lt;/library-ref&gt;</strong>

For now, disable the fastswap feature by setting it to false in the weblogic.xml.

Connect to a database

We will now create the database connection by using the embedded derby database.

Click on the services tab in the left pane, and expand the derby APP tables

Create the persistence unit

To have  persistence in the application you only need to create a persistence unit, specify which data source and entity manager to use, and then let the container do the work of managing entities and persistence. You create a persistence unit by defining it in persistence.xml.

Right-click the project node in the Projects window and choose Properties, and specify in the Sources category of the Properties window,  JDK 6 as the Source/Binary Format.

–  Choose New File and select Persistence Unit from the Persistence category. Click Next.

–  Use the suggested unit name and create a new datasource from the derby connection, jdbc/jpasample.Edit the persistence.xml to use TopLink by specifying  oracle.toplink.essentials.PersistenceProvider as the persistence provider . The IDE will add the Oracle TopLink Essentials – 2.0.1 libraries to the classpath. In current and future versions of Oracle TopLink, Oracle TopLink Essentials is replaced by EclipseLink. Where possible, you should choose to use Oracle TopLink/EclipseLink instead of Oracle TopLink Essentials.

After clicking Finish the persistence unit will be created.

Creating  Entity Classes

You will now use the Entity Classes from Database wizard to create the entity classes based on the  database.

  1. Choose New File
  2. Select Entity Classes from Database from the Persistence category. Click Next.
  3. In the Entity Classes from Database wizard, select jdbc/jpasample from the Data Source drop-down list and supply the password, if necessary.
  4. Select the Customer table from the Available Tables and click Add. Click Next.The customertable and  related tables will be placed under Selected Tables.
  5. Type ejb as the package for the generated classes. Click Finish.

After Finish, NetBeans creates entity classes for each of the selected tables.

You can expand the ejb source package node to view the generated entity classes.

Generating JSF Pages

In this exercise you will use a wizard to generate JSF pages based on the existing entity classes.

  1. Right-click the project node and choose New > Other.
  2. Select from Persistence JSF Pages from Entity Classes in the JavaServer Faces category . Click Next.
  3. Click Add All to create JSF pages for all the available entities. Click Next.
  4. Type web in the JSF fields. Click Finish.

When you click Finish, the IDE generates JSF 2.0 pages and controller and converter classes for the JSF pages.

Running the Project

In this exercise you will build and deploy the web application to the WebLogic Server. You will use the Run command in the IDE to build, deploy and launch the application.

Right-click the project node and choose Run.

When you click Run, building  and deploys the WAR archive to  WebLogic r and creates and registers the new JDBC datasource. The welcome page of the application (http://<weblogicHost>:7001/WLS12cJPA/) opens in your browser.

In WebLogic the application and data source are deployed

More interesting features are for example to use JPA with Coherence as L2Cache, maybe in another post.

 

 

The post WebLogic 12c: Use JPA in your Web Application appeared first on AMIS Technology Blog.

]]>
http://technology.amis.nl/2012/02/14/weblogic-12c-use-jpa-within-your-web-application/feed/ 3
WebLogic 12c questions and answers http://technology.amis.nl/2011/12/11/weblogic-12c-questions-and-answers/ http://technology.amis.nl/2011/12/11/weblogic-12c-questions-and-answers/#comments Sun, 11 Dec 2011 16:10:46 +0000 http://technology.amis.nl/blog/?p=14436 I collected some Q&A for you during the WebLogic 12c launch so here they are

The post WebLogic 12c questions and answers appeared first on AMIS Technology Blog.

]]>
I collected some Q&A for you during the WebLogic 12c launch so here they are

The post WebLogic 12c questions and answers appeared first on AMIS Technology Blog.

]]>
http://technology.amis.nl/2011/12/11/weblogic-12c-questions-and-answers/feed/ 0
WebLogic 12c released! http://technology.amis.nl/2011/12/02/weblogic-12c-released/ http://technology.amis.nl/2011/12/02/weblogic-12c-released/#comments Fri, 02 Dec 2011 13:11:08 +0000 http://technology.amis.nl/blog/?p=14354 At December the 1st, 2011, Oracle announced it’s new major release, the 12c release. As Oracle added the i (internet) at its 8 release, the g(gridcomputing) at its 10 release, now the focus will be on the c(cloudcomputing). Many new features come out of the fact that Oracle has made its key application server ready [...]

The post WebLogic 12c released! appeared first on AMIS Technology Blog.

]]>
At December the 1st, 2011, Oracle announced it’s new major release, the 12c release. As Oracle added the i (internet) at its 8 release, the g(gridcomputing) at its 10 release, now the focus will be on the c(cloudcomputing).

Many new features come out of the fact that Oracle has made its key application server ready for the cloud, that is, ready for to run on enigineered systems, in fact its own Exalogic machine, Oracle’s solution for implementing the cloud.

So let’s take a look what this new release brings us, in this blogpost. There are several new features available in the 12c

New or enhanced WebLogic 12c features

  • JAVA EE 6 support all kinds of JEE6 specifications are implemented like :
    • JSF 2.0,Java Servlets 3.0 JPA 2.0 and EJB 3.1.
    • Managed Beans 1.0
  • WebLogic 12c also supports supports Java SE 7 (and Java SE 6).
    • Java language optimizations and Internationalization
    • Client and server support
    • SSL/TLS 1.2 in JSSE to support JAVA Socket Transport security
    • Converged Java VM:JRockit and HotSpot are  incorporated with the best features from both.The JVM convergence will be a multi-year process, which was confirmed during my presence at Oracle’s Publisher Seminar 2011 during OOW

I won’t discuss the full list in this blog because there’s more about WebLogic than only (although very important of course!) the JAVA EE 6 specifications.

  • Support for IDE’s. WebLogic already supported JDeveloper 11.1.1.5, but will come out with the 11.1.1.6 later on. Also suported are Eclipse and NetBeans 7.1 IDE. As said, the JDeveloper 11.1.1.6 and IntelliJIdea IDE will be supported in a later timeframe.
  • New enhanced WebLogic Maven Plug-in See the various new options below in this scheme

As you can see, you can even build a simple domain or control it out of Maven!

  • WebLogic 12c provide upgrades from
    • iAS with automated tooling
    • WebLogic 11g
    • GlassFish redeployment – With a built in GlassFish descriptor recognition for Re-Deployment to WebLogic Server
    • JBoss and webSphere with migration services
  • WebLogic 12c has Active GridLink –> optimalisation for RAC –Uses Fast Connection Failover for faster RAC failure detection.
  • Enhanced High Availability and Disaster Recovery
  • Higher Performance accomplished with different kinds of techniques like:
    • Parallel muxers with Java NIO APIs for low-level I/O based operations
    • An optimized work scheduler providing improvements to the Increment Advisor used to manage the size of WebLogic Server’s Self-Tuning Thread Pool
    • “Lazy” de-serialization of session data on the replica server until required.
    • Multiple replication channels for synchronous in-memory session replication between servers in a WebLogic cluster
  • Tight integration with the Enterprise Manager 12 Cloud Control and the use of the Middleware.

  • Tighter integration with the latest Coherence like:
    • ActiveCache integration for WebLogic Server , being used by JPA entities and TopLink. Allows JPA Entity caching and TopLink Grid enables you to direct queries to ActiveCache.
    • Coherence cluster MBeans within WLS
    • Node Manager integration for starting/stopping cache servers . So you don’t have to use the start-stop scripts anymore.
    • Coherence*Web integration for session management
  • WebLogic 12c supports Oracle traffic Director. Oracle Traffic Director is a layer-7 software loadbalancer thats acts as a -and supports:
    • Load balancer
    • Local traffic manager
    • Uses the application network layer 7
    • Can act as a reverse proxy
    • Support for SSL 3.0 and TLS 1.0. You can configure SSL/TLS-enabled HTTP listeners
    • Will be the replacement for Oracle WebCache.
    • Is not a built-in feature of  WebLogic 12c
    • Integrated Traffic Management like routing, Load Balancing,  request
      routing and caching and SSL Crypto acceleration.

Screenshot of the OTD

Some more Exalogic features

  • The Virtual Assembly Builder:
    • Deploy, un-deploy scale Assemblies with Oracle Virtual Assembly, quickly create and configure entire multi-tier application topologies
  • Exabus – High Speed Network Virtualization using:
    • Coherence 3.7 for JAVA applications
    • Tuxedo 12c for C C++ applications
  • Both are using: Direct Memory Access and Kernel Bypass for better throughput and lower latency

Summary

Of course, I can’t discuss all of the over more than 200 features WebLogic 12c brings with this new release.You can see the Exalogic readiness of the WebLogic 12c release, but for those who can’t afford such a configuration, or simply do not need it, WebLogic 12c can still be of a great value leveraging a solid, robust, fast and scalable application server from which you can use all the built in enhancements.

WebLogic 12c will be ready for all kinds of other products from the Oracle portfolio like the SOA Suite, WebCenter and so on, although those products will be at the 12c level in the coming 2012/2013 year.

An sort of minor detail but for the native BEA customers: the Administration Console will be phased out somewhere in the future bot not in the 12c family!

Have fun using it! Planned at December the 5th available for download.

The post WebLogic 12c released! appeared first on AMIS Technology Blog.

]]>
http://technology.amis.nl/2011/12/02/weblogic-12c-released/feed/ 3
Oracle WebLogic 12c has been announced http://technology.amis.nl/2011/11/18/oracle-weblogic-12c-has-been-announced/ http://technology.amis.nl/2011/11/18/oracle-weblogic-12c-has-been-announced/#comments Fri, 18 Nov 2011 13:52:33 +0000 http://technology.amis.nl/blog/?p=14131 Yesterday I received the announcement of the new Oracle WebLogic 12c, on the 1st of December 2012. You can register for a webcast on https://event.on24.com/eventRegistration/EventLobbyServlet?target=registration.jsp&eventid=375727&sourcepage=register So, what’s there to be expected. Personally I think WebLogic has been made Exalogic ready, according to Mike Lehmann, Director of Product Management for Oracle WebLogic. Some of the few [...]

The post Oracle WebLogic 12c has been announced appeared first on AMIS Technology Blog.

]]>
Yesterday I received the announcement of the new Oracle WebLogic 12c, on the 1st of December 2012. You can register for a webcast on

https://event.on24.com/eventRegistration/EventLobbyServlet?target=registration.jsp&eventid=375727&sourcepage=register

So, what’s there to be expected. Personally I think WebLogic has been made Exalogic ready, according to Mike Lehmann, Director of Product Management for Oracle WebLogic.

Some of the few features I expect:

More  Exalogic features like:
  • Parallel muxers with Java NIO APIs for low-level I/O based operations
  • An optimized work scheduler providing improvements to the Increment Advisor used to manage the size of WebLogic Server’s Self-Tuning Thread Pool
  • “Lazy” de-serialization of session data on the replica server until required.
  • Multiple replication channels for synchronous in-memory session replication between servers in a WebLogic cluster
  • Adjustments for supporting the  Infiniband and SDP
Furthermore: Java EE 6 (finally!), GridLink for RAC, Oracle Traffic Director,  Oracle Virtual Assembly Builder plus tight integration with Enterprise Manager Console 12c. The Administration console will stil be there to server earlier BEA customers.

The post Oracle WebLogic 12c has been announced appeared first on AMIS Technology Blog.

]]>
http://technology.amis.nl/2011/11/18/oracle-weblogic-12c-has-been-announced/feed/ 0
Some WebLogic Administration Essentialsbook reviews http://technology.amis.nl/2011/11/10/some-weblogic-administation-essentialsbook-reviews/ http://technology.amis.nl/2011/11/10/some-weblogic-administation-essentialsbook-reviews/#comments Thu, 10 Nov 2011 08:08:40 +0000 http://technology.amis.nl/blog/?p=13972 Some people were asked to review my book, here are some links: Edwin Biemond http://www.amazon.com/Oracle-Weblogic-Server-11gR1-Administration/dp/1849683026/ref=sr_1_5?ie=UTF8&qid=1320912495&sr=8-5 Jurgen Kress https://weblogiccommunity.wordpress.com/2011/11/09/oracle-weblogic-server-11gr1-ps2-administration-essentials-book-and-ebook Markus Eisele http://blog.eisele.net/2011/11/review-oracle-weblogic-server-11gr1-ps2.html Frank Muntz http://t.co/ukq1SUx6

The post Some WebLogic Administration Essentialsbook reviews appeared first on AMIS Technology Blog.

]]>
Some people were asked to review my book, here are some links:

  • Edwin Biemond

http://www.amazon.com/Oracle-Weblogic-Server-11gR1-Administration/dp/1849683026/ref=sr_1_5?ie=UTF8&qid=1320912495&sr=8-5

  • Jurgen Kress

https://weblogiccommunity.wordpress.com/2011/11/09/oracle-weblogic-server-11gr1-ps2-administration-essentials-book-and-ebook

  • Markus Eisele

http://blog.eisele.net/2011/11/review-oracle-weblogic-server-11gr1-ps2.html

  • Frank Muntz

http://t.co/ukq1SUx6

The post Some WebLogic Administration Essentialsbook reviews appeared first on AMIS Technology Blog.

]]>
http://technology.amis.nl/2011/11/10/some-weblogic-administation-essentialsbook-reviews/feed/ 0
Oracle Tuxedo… A renewed acquaintance http://technology.amis.nl/2011/10/27/oracle-tuxedo-a-renewed-acquaintance/ http://technology.amis.nl/2011/10/27/oracle-tuxedo-a-renewed-acquaintance/#comments Thu, 27 Oct 2011 11:04:23 +0000 http://technology.amis.nl/blog/?p=13866 Years ago, when I worked as an Application Support Analyst for a big triple-A Bank, I got acquainted with the BEA product stack. One of those products was BEA Tuxedo, at that time at the release of 6. I worked at a settlements project, and Tuxedo was used for as distributed transaction processing, to process [...]

The post Oracle Tuxedo… A renewed acquaintance appeared first on AMIS Technology Blog.

]]>
Years ago, when I worked as an Application Support Analyst for a big triple-A Bank, I got acquainted with the BEA product stack.

One of those products was BEA Tuxedo, at that time at the release of 6. I worked at a settlements project, and Tuxedo was used for as distributed transaction processing, to process settlements an clearing messageg from the bank to an international Clearing an Settlements Project, called CLS. It used the SWIFT network to connect; CLS  was an international and timezone independent settlements and clearance platform to overcome timezone and bankrupt issues, and prevent a domino effect when an important bank in the chain becomes bankrupt.

Tuxedo is a transaction processing system or transaction-oriented middleware, or enterprise application server for a variety of systems and programming languages.

Tuxedo was designed for high availability and to provide  scalable applications to support a lot  transactions per second on commonly available distributed systems. It was developed and designed by AT&T  if that required online transaction processing (OLTP) capabilities.

Tuxedo is a  message routing and queuing system. Requests are sent to named services and Tuxedo uses memory based inter-process communication facilities to queue the requests to servers. The requester is unaware of where the server that actually processes the request is located or how it is implemented. In fact, Tuxedo was already implementing the SOA, in the early days before even the concept of SOA was familiair to any one.

Oracle acquired it in 2008, along with all other products from the BEA stack. I was really curious how Oracle would position this product, but during Oracle OpenWorld 2011 it became clear to me.

Oracle Tuxedo 12c will be part of the new Exabus stack, a component embedded in the Exalogic solution Oracle launched some earlier.

In this picture, you can see the position of the Exabus stack and in particular Tuxedo:


Oracle poses Tuxedo as THE interface for C/C++ and Cobol applications, so from here Oracle tries to reach the Mainframe segment to migrate those applications to a Exalogic infrastructures with in this case the Tuxedo as a middleware solution for these applications, where on the other side of the Exabus stack Coherence for JAVA applications.

Tuxedo in the Oracle version delivers:

Communication concentrators

For remote clients (Java, CORBA, or WebServices)

Gateways

To facilitate the sharing of services across domains, Tuxedo provides domain gateways.

Failure recovery

Each machine monitors the state of all servers and can automatically restart failed servers.

Transaction monitoring and coordination

Tuxedo applications can  make use of the transactions ( to databases or other subsystems)  to be controlled by the application or automatically controlled by the Tuxedo configuration, i.e., container controlled transactions.

Queuing subsystem

Tuxedo uses a queuing subsystem called /Q. This facility provides transient and persistent queues. Looks a lot like JMS or MQ

Newer Products from Oracle

Mainframe re-hosting

To migrate the C/C++ and  Cobol applications

SALT

For web services, SOAP/HTTP(S) gateway and for developing SCA based applications in C++, Python, PHP and Ruby. Supports modules for Apache Web Server, Oracle HTTP Server, and Oracle iPlanet Web Server

Tuxedo Mainframe Adapters (TMA)

This  provides a set of  processes that run on Tuxedo that communicate with a mainframe.

JCA Adapter

This  is a wrapper to  WebLogic Tuxedo Connector (WTC) as part of WebLogic Server . WTC can only be used on WebLogic, but the JCA adapter allows deploying WTC capabilities on other Java Apps Servers that support JEE JCA

Conclusion

I think Tuxedo, although less known than some other software products,  is a solid, reliable and scalable product which Oracle transformed to be part of the Exabus API. I will be monitoring Tuxedo an will come up with news as soon as I know. The technology is proven in mission critical systems like the SWIFT Banking infrastructure.

The post Oracle Tuxedo… A renewed acquaintance appeared first on AMIS Technology Blog.

]]>
http://technology.amis.nl/2011/10/27/oracle-tuxedo-a-renewed-acquaintance/feed/ 2
Being a San Francisco "local celebrity" http://technology.amis.nl/2011/10/05/being-a-san-francisco-local-celebrity/ http://technology.amis.nl/2011/10/05/being-a-san-francisco-local-celebrity/#comments Wed, 05 Oct 2011 16:03:53 +0000 http://technology.amis.nl/blog/?p=13659 This week, I went on an invitation of my publisher Packt to Oracle OpenWorld, to be present on the launching of my book, Oracle WebLogic 11gR1 PS2: Administration Essentials. While busy dropping some tweets, I noticed a tweet mentioning my book; I opened the link and what did I see? An article on the San [...]

The post Being a San Francisco "local celebrity" appeared first on AMIS Technology Blog.

]]>
This week, I went on an invitation of my publisher Packt to Oracle OpenWorld, to be present on the launching of my book, Oracle WebLogic 11gR1 PS2: Administration Essentials.

While busy dropping some tweets, I noticed a tweet mentioning my book; I opened the link and what did I see? An article on the San Francisco Chronicle online version, about the announcement form Packt about the publishing of my book.

So now, I’m waiting for the limo taking me downtown to SF  … well, it didn’t show up so I took BART to downtown SF. Bit still a neat thing to see you name in a local paper!

Here’s the article:

http://www.sfgate.com/cgi-bin/article.cgi?f=/g/a/2011/10/04/prweb8846728.DTL

The post Being a San Francisco "local celebrity" appeared first on AMIS Technology Blog.

]]>
http://technology.amis.nl/2011/10/05/being-a-san-francisco-local-celebrity/feed/ 0
My book: Oracle WebLogic Server 11g ps1 R2 at Oracle OpenWorld http://technology.amis.nl/2011/09/29/my-book-oracle-weblogic-server-11g-ps1-r2-at-oracle-openworld/ http://technology.amis.nl/2011/09/29/my-book-oracle-weblogic-server-11g-ps1-r2-at-oracle-openworld/#comments Thu, 29 Sep 2011 11:28:05 +0000 http://technology.amis.nl/blog/?p=13503 My book will be presented at OOW, tuesdat the 4th of october 2011, at Oracle’s Publisher Seminar, Hotel Nikko in San Francisco! See here

The post My book: Oracle WebLogic Server 11g ps1 R2 at Oracle OpenWorld appeared first on AMIS Technology Blog.

]]>
My book will be presented at OOW, tuesdat the 4th of october 2011, at Oracle’s Publisher Seminar, Hotel Nikko in San Francisco!

See here

The post My book: Oracle WebLogic Server 11g ps1 R2 at Oracle OpenWorld appeared first on AMIS Technology Blog.

]]>
http://technology.amis.nl/2011/09/29/my-book-oracle-weblogic-server-11g-ps1-r2-at-oracle-openworld/feed/ 0
Oracle WebLogic – Extend your WLDF Console http://technology.amis.nl/2011/09/29/oracle-weblogic-extend-your-wldf-console/ http://technology.amis.nl/2011/09/29/oracle-weblogic-extend-your-wldf-console/#comments Thu, 29 Sep 2011 10:11:24 +0000 http://technology.amis.nl/blog/?p=13474 A great tool within Oracle WebLogic Server is the WLDF ( WebLogic Diagnostics Framework). Before 11g deliverd as an extension, but now integrated into the Console, It delivers a framework for monitoring your entire WebLogic Server with monitoring capabilities through MBeans.Out of the box, the WLDF console delivers some basic views, but if you’d like [...]

The post Oracle WebLogic – Extend your WLDF Console appeared first on AMIS Technology Blog.

]]>
A great tool within Oracle WebLogic Server is the WLDF ( WebLogic Diagnostics Framework). Before 11g deliverd as an extension, but now integrated into the Console, It delivers a framework for monitoring your entire WebLogic Server with monitoring capabilities through MBeans.Out of the box, the WLDF console delivers some basic views, but if you’d like to extend the monitoring capabilities, here’s a way to do this.

First of all, your WebLogic uses watches to monitor all kinds of things to see how you system is performing, but not all watches are running. In this example, we would like to see how the CPU’s are holding under heavy load during testing.

Our Oracle WebLogic runs on a AIX LPAR p690, version 6 64 bits O/S.

First we need to create a watch to pick up notifications about the state of the CPU.

In the Admin Console, section Domain Structure, click on Diagnostic Modules to create a new Collected Metric


We use the ServerRuntime to create a new Metric:

In the next screen, we select an MBean which can monitor some IBM specific things. These MBeans are delivered with the com.ibm.lang.management package which WebLogic uses to monitor O/S CPU, memory, and other things.

In the next screen, we can select our metrics, for this example we choose all

In the next screen select the instance and click on Finish

Next step, we can create our own view in the WLDF Console

In the Admin Console home, click on Monitoring Dashboard

Add a new view and give it a useful name, nex select the Metric Browser tab. In there you can see the metric you’ve created. Be sure that the watch is active.

Select the package, the instance and the various metrics and drag and drop them into you view….et voila!. You’ve created your own metric page!

The post Oracle WebLogic – Extend your WLDF Console appeared first on AMIS Technology Blog.

]]>
http://technology.amis.nl/2011/09/29/oracle-weblogic-extend-your-wldf-console/feed/ 0
My OOW Schedule http://technology.amis.nl/2011/09/29/my-oow-schedule/ http://technology.amis.nl/2011/09/29/my-oow-schedule/#comments Thu, 29 Sep 2011 09:00:03 +0000 http://technology.amis.nl/blog/?p=13468 These are sessions I will try to follown at OOW 2011. Tuesday I will be present at the Oracle Publishers and Writers seminar. More is yet to come! 09105  –  Oracle Exadata/Oracle Exalogic: The Magic Wand for the Aging Application Infrastructure,” 28661  –  Web Architecture Introduction, Overview, and Agenda,”10/2/11″,”12:00″,”10/2/11″,”12:30″,”Moscone West – 2012-“ 09066  –  Oracle [...]

The post My OOW Schedule appeared first on AMIS Technology Blog.

]]>
These are sessions I will try to follown at OOW 2011.

Tuesday I will be present at the Oracle Publishers and Writers seminar.

More is yet to come!

09105  –  Oracle Exadata/Oracle Exalogic: The Magic Wand for the Aging Application Infrastructure,” 28661  –  Web Architecture Introduction, Overview, and Agenda,”10/2/11″,”12:00″,”10/2/11″,”12:30″,”Moscone West – 2012-“ 09066  –  Oracle SOA Suite: Supporting Changing Market Demands,”10/2/11″,”13:00″,”10/2/11″,”13:45″,”Moscone West – 2001″ 32180  –  Oracle OpenWorld Welcome Keynote,”10/2/11″,”17:30″,”10/2/11″,”19:00″,”Moscone North – Hall D” 32181  –  Oracle OpenWorld Keynote: Oracle and EMC,”10/3/11″,”8:00″,”10/3/11″,”10:00″,”Moscone North – Hall D” 33680  –  Engaging the Digital Consumer: Leveraging Data for Greater Product Relevance/…,”10/3/11″,”11:00″,”10/3/11″,”12:00″,”Novellus Theater” 09491  –  Oracle WebLogic Server Application Security: Implementing the Superstition in Oracle JDeveloper,”10/3/11″,”12:30″,”10/3/11″,”13:30″,”Moscone South – 305″ 17580  –  Best Practices for Managing Oracle WebLogic Server,”10/3/11″,”14:00″,”10/3/11″,”15:00″,”Moscone South – 306″ 31161  –  Oracle WebLogic Server Security,”10/3/11″,”15:30″,”10/3/11″,”16:30″,”Marriott Marquis – Salon 3/4″ 31800  –  Oracle WebLogic Server JMS Support: Architecture/Performance/Tuning Essentials/Best Practices,”10/3/11″,”18:30″,”10/3/11″,”19:15″,”Marriott Marquis – Salon 7″ 32182  –  Oracle OpenWorld Keynote: Oracle and Dell Inc.,”10/4/11″,”8:00″,”10/4/11″,”9:45″,”Moscone North – Hall D” 30000  –  CERN Achieves Oracle Database Scalability and Performance by Building on NetApp,”10/4/11″,”10:15″,”10/4/11″,”11:15″,”Novellus Theater” 33000  –  Japan’s Recovery and The World #1 Supercomputer,”10/4/11″,”11:45″,”10/4/11″,”12:45″,”Novellus Theater” 34180  –  Can an ERP Upgrade Now Help Transform Your Business?,”10/4/11″,”15:30″,”10/4/11″,”16:30″,”Novellus Theater” 06980  –  Configuring and Managing a Private Cloud with Oracle Enterprise Manager,”10/4/11″,”17:00″,”10/4/11″,”18:00″,”Moscone South – 309″ 32200  –  Oracle OpenWorld Keynote: Oracle and Cisco ,”10/5/11″,”8:00″,”10/5/11″,”9:45″,”Moscone North – Hall D” 15050  –  An Integrated End-to-End Data Integrity Solution for Oracle Products,”10/5/11″,”10:15″,”10/5/11″,”11:15″,”Moscone South – 236″ 14862  –  Best Practices for Maintaining Oracle Fusion Middleware and Oracle Exalogic,”10/5/11″,”11:45″,”10/5/11″,”12:45″,”Moscone West – 2020″ 31160  –  Developing with Oracle WebLogic Server,”10/5/11″,”13:15″,”10/5/11″,”14:15″,”Marriott Marquis – Salon 3/4″ 32201  –  Oracle OpenWorld Keynote: Oracle and Infosys Limited,”10/5/11″,”14:45″,”10/5/11″,”16:30″,”Moscone North – Hall D” 20000  –  Oracle Enterprise Manager Upgrade Best Practices,”10/5/11″,”17:00″,”10/5/11″,”18:00″,”Moscone South – 309″ 14365  –  Oracle WebLogic Server Management for DBAs: Cross-Tier Visibility from JVM to Database,”10/6/11″,”9:00″,”10/6/11″,”10:00″,”Moscone South – 306″ 14363  –  What’s New for Oracle WebLogic Management: Capabilities That Scripting Cannot…,”10/6/11″,”12:00″,”10/6/11″,”13:00″,”Moscone South – 306″

The post My OOW Schedule appeared first on AMIS Technology Blog.

]]>
http://technology.amis.nl/2011/09/29/my-oow-schedule/feed/ 0
WebLogic 11g start and stop automation http://technology.amis.nl/2011/09/27/weblogic-11g-start-and-stop-automation/ http://technology.amis.nl/2011/09/27/weblogic-11g-start-and-stop-automation/#comments Tue, 27 Sep 2011 09:04:57 +0000 http://technology.amis.nl/blog/?p=13423 There are many ways of starting and stopping your Oracle WebLogic 11g  environments, You can stop your Admin and Managed Server Instances through the Adminsitration console, use the the start and stop scripts shipped with the Oracle WebLogic software and domain creation, or use a tool like WLST to manipulate your entire environment. In this [...]

The post WebLogic 11g start and stop automation appeared first on AMIS Technology Blog.

]]>
There are many ways of starting and stopping your Oracle WebLogic 11g  environments, You can stop your Admin and Managed Server Instances through the Adminsitration console, use the the start and stop scripts shipped with the Oracle WebLogic software and domain creation, or use a tool like WLST to manipulate your entire environment.

In this blog I will  use the different kinds of techniques to stop and start your Oracle WebLogic Server environment, even in case of a physical host reboot (planned or unplanned)

For this I used the common UNIX shell scripting in combination with WLST

The bundle consists of the following components:

  • weblogic_rc.sh start|stop|status –> Overall shellscript which calls the different scripts for stopping and starting. This can be added to the bootsequence of the physical host, which varies per O/S ( Linux-init.d, AIX- rc) Ask you O/S admin how to implement it). Your OS profile needs to be set as well, so set some variables like MW_HOME. WL_DOMAIN and WL_DOMAIN_DIR, and ORACLE_HOME
  • nodemgrstart and nodemgrstop –> python/WLST scripts for starting the Node Manager. Can be invoked with or without the overall script. First set the setWLSEnv.sh or the setDomainEnv.sh to issue the correct environmentsettings. Execute:

java weblogic.WLST nodemanagerstart / nodemanagerstop

  • wl11gstart and wl11gstop > python/WLST scripts for starting the WebLogic Server Instances. Can be invoked with or without the overall script. First set the setWLSEnv.sh or the setDomainEnv.sh to issue the correct environmentsettings. Execute:

java weblogic.WLST wl11gstart / wl11gstop

See the scripts below:

  • weblogic_rc.sh:

#!/bin/sh
#
# Start and stop script for an entire Oracle FMW Forms 11g environment
# Tobe added to the rebootsequence of the AIX LPAR.
#
#

#
#
PWD=`pwd`
if [ "$USER" != 'root' -a "$USER" != 'orawl' -a "$USER" != '' ]; then echo $BAD_USER &amp;&amp; exit 1;fi
if [ "$USER" == 'root' -o "$USER" == '' ]; then WL_DOMAIN_DIR=`su - orawl -c 'echo $WL_DOMAIN_DIR'`;fi
if [ "$USER" == 'root' -o "$USER" == '' ]; then WL_NM_PORT=`su - orawl -c 'echo $WL_NM_PORT'`;fi
if [ "$USER" == 'root' -o "$USER" == '' ]; then WL_HOME=`su - orawl -c 'echo $WL_HOME'`;fi
. ~/.profile
case "$1" in
start)
echo Starting the Nodemanager
java weblogic.WLST $PWD/nodemgrstart
sleep 20
echo  Starting AdminServer on WebLogic Domain $DOMAIN
nohup $WL_DOMAIN_DIR/startWebLogic.sh &amp; &gt; /dev/null 2&gt;&amp;1 &amp;
sleep 120
#
echo Starting the the Managed Server Instances on WebLogic Domain $DOMAIN
java weblogic.WLST $PWD/wl11gstart
;;
stop)
echo WebLogic Server instances
java weblogic.WLST $PWD/wl11gstop
sleep 60
echo  Stopping AdminServer on WebLogic Domain $DOMAIN
$WL_DOMAIN_DIR/bin/stopWebLogic.sh
echo Stopping the Nodemanager
java weblogic.WLST $PWD/nodemgrstop
;;
status)
echo checking runtime status
java weblogic.WLST $PWD/chkwlsrvr
;;
* )
echo "Usage: $0 (start | stop | status)"
exit 1
esac
  • nodemanager start
#### Created by Michel Schildmeijer
# Credentials and constants
username = 'weblogic'
password = '&lt;passwd&gt;'
import socket
localhost = socket.getaddrinfo(socket.gethostname(), None)[0][4][0]
import os
domain = os.getenv('WL_DOMAIN')
mwHome = os.getenv('MW_HOME')
print mwHome
#
# Derived constants
url = 't3://' + localhost + ':7001'
domain_dir = mwHome + '/user_projects/domains/' + domain
nmhome = mwHome + '/wlserver_10.3/common/nodemanager'
nmpfile = mwHome + '/wlserver_10.3/common/nodemanager/nodemanager.properties'
nmPort='5556'
# Loop through the managed servers and stop all servers running on localhost
print '-- CONNECT TO NODE MANAGER AND START IT --';
nmConnect(username, password, localhost, nmPort, domain, domain_dir)
#Start the nodemanager
startNodeManager(NodeManagerHome=nmhome,PropertiesFile=nmpfile)
  • nodemanager stop
<span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;"><span style="line-height: 19px;">
</span></span>#### Created by Michel Schildmeijer
# Function to get server state
def serverStatus(server):
  cd('/ServerLifeCycleRuntimes/' + server.getName() )
  return cmo.getState()
#
def stopAdminserver():
  nmConnect(username, password, 'localhost', 5556, domain, domain_dir)
  nmStop('AdminServer')
  nmDisconnect()
# End of functions
# Credentials and constants
username = 'weblogic'
password = '&lt;passwd&gt;'
import socket
localhost = socket.getaddrinfo(socket.gethostname(), None)[0][4][0]
import os
domain = os.getenv('WL_DOMAIN')
mwHome = os.getenv('MW_HOME')
print mwHome
#
# Derived constants
url = 't3://' + localhost + ':7001'
domain_dir = mwHome + '/user_projects/domains/' + domain
nmhome = mwHome + '/wlserver_10.3/common/nodemanager'
nmpfile = mwHome + '/wlserver_10.3/common/nodemanager/nodemanager.properties'
nmPort='5556'
# Loop through the managed servers and stop all servers running on localhost
print '-- CONNECT TO NODE MANAGER AND STOP IT --';
nmConnect(username, password, localhost, nmPort, domain, domain_dir)
#stop the nodemanager if running
stopNodeManager()
  • wl11gstart
#### Generic Oracle WebLogic 11g Start Script
#### Created by Michel Schildmeijer
# Credentials and constants
username='weblogic'
password='&lt;passwd&gt;'
import socket
localhost = socket.getaddrinfo(socket.gethostname(), None)[0][4][0]
import os
domain = os.getenv('WL_DOMAIN')
domaindir= os.getenv('WL_DOMAIN_DIR')
mwHome = os.getenv('MW_HOME')
url = 't3://' + localhost + ':7001'
domain_dir = mwHome + '/user_projects/domains/' + domain
nmhome = mwHome + '/wlserver_10.3/common/nodemanager'
nmpfile = mwHome + '/wlserver_10.3/common/nodemanager/nodemanager.properties'
# Function to get server state
def serverStatus(server):
cd('/ServerLifeCycleRuntimes/' + server.getName() )
return cmo.getState()
#
def startAdminserver():
nmConnect(username, password, localhost, 5556, domain, domain_dir)
nmStart('AdminServer')
nmDisconnect()
# End of functions
# Connect to the AdminServer
try:
connect(username, password, url)
except:
# AdminServer is not running. Start it now and retry
startAdminserver()
connect(username, password, url)
# Loop through the managed servers and start all servers running on localhost
svrs = cmo.getServers()
domainRuntime()
for server in svrs:
# Do not start the adminserver, it's already running
if server.getName() != 'AdminServer':
# Get state and machine
serverState = serverStatus(server)
machine = server.getListenAddress()
print server.getName() + " has now the status " + serverState + " on " + machine
#
# startup if needed
if serverState == "SHUTDOWN":
if machine == localhost:
start(server.getName(),'Server')
serverState = serverStatus(server)
print "Now " + server.getName() + " is " + serverState + " on " + machine
disconnect()
exit()
  • wl11gstop
#### Created by Michel Schildmeijer

# Function to get server state

def serverStatus(server):

  cd('/ServerLifeCycleRuntimes/' + server.getName() )
  return cmo.getState()
#
def stopAdminserver():
  nmConnect(username, password, 'localhost', 5556, domain, domain_dir)
  nmStop('AdminServer')
  nmDisconnect()
# End of functions
#

# credentials and constants

username = 'weblogic'
password = '&lt;passwd&gt;'
import socket
localhost = socket.getaddrinfo(socket.gethostname(), None)[0][4][0]
import os
domain = os.getenv('WL_DOMAIN')
mwHome = os.getenv('MW_HOME')
print mwHome

#

# Derived constants
url = 't3://' + localhost + ':7001'
domain_dir = mwHome + '/user_projects/domains/' + domain
nmhome = mwHome + '/wlserver_10.3/common/nodemanager'
nmpfile = mwHome + '/wlserver_10.3/common/nodemanager/nodemanager.properties'
nmPort='5556'

## Connect to the AdminServer

try:
  connect(username, password,url)
except:
  # AdminServer is not running. Start it now and retry
  #stopAdminserver()
  connect(username, password,url)
# Loop through the managed servers and stop all servers running on localhost
print '-- CONNECT TO NODE MANAGER AND ADMINSERVER --';
nmConnect(username, password, localhost, nmPort, domain, domain_dir)
domainRuntime()
serverLifeCycles = cmo.getServerLifeCycleRuntimes()
for serverLifeCycle in serverLifeCycles:
        if (serverLifeCycle.getState() == 'RUNNING') and (serverLifeCycle.getName() != 'AdminServer' ):
                print 'Stopping Server: ' + serverLifeCycle.getName()
                shutdown  (serverLifeCycle.getName())
disconnect()

exit()

The post WebLogic 11g start and stop automation appeared first on AMIS Technology Blog.

]]>
http://technology.amis.nl/2011/09/27/weblogic-11g-start-and-stop-automation/feed/ 12
Clone your Oracle FMW SOA Suite 11g http://technology.amis.nl/2011/08/11/clone-your-oracle-fmw-soa-suite-11g/ http://technology.amis.nl/2011/08/11/clone-your-oracle-fmw-soa-suite-11g/#comments Thu, 11 Aug 2011 13:23:57 +0000 http://technology.amis.nl/blog/?p=13211 Sometimes, you would like to have an extract from a SOA Suite 11g  production environment to test it in a test or acceptance environment. There are several ways to do this, but in this post I’d like to discuss about how to get a clone of your SOA Suite 11g, from one WebLogic Server host [...]

The post Clone your Oracle FMW SOA Suite 11g appeared first on AMIS Technology Blog.

]]>
Sometimes, you would like to have an extract from a SOA Suite 11g  production environment to test it in a test or acceptance environment.

There are several ways to do this, but in this post I’d like to discuss about how to get a clone of your SOA Suite 11g, from one WebLogic Server host to another.

To extract a clone, you will have to determine which components should be cloned:

  • The SOA repository schema’s, like MDS, SOA-INFRA and so on.
  • The WebLogic and FMW software
  • The SOA Suite Domain Configuration including all SCA components and other deployments.

The SOA Repository

Only taking a clone of your you Oracle FMW  SOA Suite is not enough. It requires you to clone the database repository aswell.

You can ask your DBA to clone the database or create a new database and do an export and import of all the schema’s belonging to the SOA Suite

These schema’s are:

– MDS

– SOAINFRA

– OASDPM

– ORABAM ( if installed)

The Oracle FMW/SOA Suite cloning process

This section covers a clone action from a physical server on where the following components are installed:

– Oracle WebLogic 10.3.5

– Oracle SOA Suite 11.1.1.4

The cloning will be done to configure a new physical server.

Cloning the Middleware home

First, an archive file should be created of the source Middleware home, by copying the binary files of that Middleware home, including all directories, into a archive file. Be aware that all WebLogic Admin and Managed Server instances are up and running on the source host

  • From the source host: copy pasteBinary.sh(MW_HOME/oracle_common/bin) and cloningclient.jar(MW_HOME/oracle_common/jlib) to the target  (MW_HOME/oracle_common)
  • On the source, clone all the software binaries executing:
<code>$MW_HOME/oracle_common/bin/copyBinary.sh -javaHome /app/Oracle/Middleware/jrockit_160_20_D1.1.0-18 -archiveLoc /tmp/mw_copy.jar -sourceMWHomeLoc /app/Oracle/Midleware -invPtrLoc /app/oracle/oraInst.loc</code>

$MW_HOME is set to something like /app/oracle/Middleware.

  • On the target host, create a directory somewhere, like clone. This is for your cloned files.
  • Transfer your created archive ( in my example called mw_copy.jar) to the clone directory on the target host
  • Transfer the oraInst.loc also to the physical host. Create a directory called oraInventory and put the file in it.

Cloning the Oracle FMW / SOA Suite components

Next step is to cloning the FMW components, including domain configuration. This can be done by using the copyConfig script, located in the MW_HOME/oracle_common bin.

  • Create a simple text file and place the WebLogic adminstrator password in it
vi pwd.txt
welcome1

Save the file in the home folder of the oracle user

  • Navigate to the $MW_HOME/oracle_common/bin and execute:
$MW_HOME/oracle_common/bin/copyConfig.sh -javaHome /app/Oracle/Middleware/jrockit_160_20_D1.1.0-18 -archiveLoc /tmp/fmwsoa_copy.jar -sourceDomainLoc /app/Oracle/Middleware/user_projects/domains/WLS_SOAWC -sourceMWHomeLoc /app/Oracle/Middleware/ -domainHostName sourcehost -domainPortNum 7001 -domainAdminUserName weblogic -domainAdminPassword /home/oracle/pwd.txt-silent true

Sourcehost will be the name or ip-adress of your WebLogic host.. This jar file contains the entire domainconfiguration plus deployments, adapters and so on.

After this has been done, we should create a moveplan. This can be extracted from this archive. The moveplan creation is needed to change all kinds of settings of the new physical host.

  • Navigate to the $MW_HOME/oracle_common/bin and execute:
extractMovePlan.sh -javaHome /app/oracle/Middleware/jrockit_160_20_D1.1.0-18 -archiveLoc /tmp/fmwsoa_copy.jar -planDirLoc /tmp/moveplan

Now transfer the moveplan and the fmwsoa_copy.jar to the target host. Next, we will work on the target host and complete the cloning process

Extract the clone on the target

Firstt, before we proceed we need to ensure that java is  installed on the target box. You could copy over you JDK directory from the source host, or do a fresh install. Afterwards, don’t forget to set your JAVA_HOME and include in into your PATH variables

export JAVA_HOME=&lt;path to your JDK&gt;
export PATH=$PATH:$JAVA_HOME/bin

Next we will create a directory structure similar to the source, something like /app/oracle. Normally this should be done by root, ensure that the oracle user has enough permissions to read/write/execute.

First we will extract the cloned Middleware home into /app/oracle

Next we execute from the clone directory:

pasteBinary.sh -javaHome /app/oracle/jrockit_160_20_D1.1.0-18 -archiveLoc /clone/mw_clone.jar -targetMWHomeLoc /app/oracle/Middleware

The java Home is the location in which you installed your JDK.

This will take some time. When fisnished, you can continue extracting your FMW SOA components.

But first, we have to edit the moveplan.xml, which was extracted from the FMW clone. In here you can set it to the new host, change JDBC, or everything else what nedds to be changed.

When this is done, we will extract the FMW archive.

pasteConfig.sh -javaHome /app/oracle/jrockit_160_20_D1.1.0-18 -archiveLoc /clone/fmwsoa_copy.jar -targetDomainLoc /app/oracle/Middleware/user/projects/domains/WLS_SOA -targetMWHomeLoc /app/oracle/Middleware -movePlanLoc /clone/move_plan.xml -domainAdminPassword /clone/pwd.txt -logDirLoc /tmp/log

After completed, you can start your WebLogic and SOA Suite and perform basic sanity checks like testing JDBC, lgging in to EM and navigate to the BPEL Services or check the following URL’s

http://<hostname:port>/soa-infra

http://<hostname:port>/b2bconsole

http://<hostname:port>/integration/worklistapp

http://<hostname:port>/OracleBAM

The post Clone your Oracle FMW SOA Suite 11g appeared first on AMIS Technology Blog.

]]>
http://technology.amis.nl/2011/08/11/clone-your-oracle-fmw-soa-suite-11g/feed/ 4