Oracle Blog

Thursday Feb 26, 2015

Integrated,
high availability IT infrastructure capabilities are critical for reducing
downtime and costs, and creating ideal performance and SLA results. In this
next session of the Oracle Open World 2014 series, Shari Yamaguchi and Frances
Zhao from Oracle’s Product Management team share best practices on how to
architect highly available multi-data center solutions. They also share what real world customers are doing to achieve
maximum available architectures with WebLogic Server—so be sure to check out
the video itself here (http://bit.ly/oow14cafsessions)for those highly relevant case studies and proven
strategies.

What
is Maximum Availability Architecture (MAA)?

Maximum availability architecture
(MAA) incorporates the high availability solutions that Oracle has invested in
and built out across the stack. The key focus is on ensuring customers’ businesses
and applications can fully meet their end-user community’s needs and
requirements. In today’s world, downtime is no longer an option, but a
given—and this is why Oracle has strategically invested in end-to-end MAA solutions
to ensure your systems stay up and running across the board. At the end of the
day, the #1 priority is that your end users can get to the environments and
applications they need to within a specified period of time.

MAA
Strategy & Investment

Within IT, customers need a quick
way to easily get a view of what's going on across all their data centers,
environments, and applications so that in case of a sudden performance
degradation or failure, alerts are immediately sent to the right administrators.
Given the importance of manageability, Oracle has invested significantly in
Enterprise Manager Grid Control (EMGC), building tools within EMGC for easier
monitoring and management such as job systems for automated patching and backup.
The Oracle Traffic Director has also been a key tool in connecting the
management console to the middle-tier—it is a front-end WebLogic Server that
handles web-tier requests and routes them to different clusters.

From a Database 12c perspective,
features like Flashback provde significant capabilities especially for those
connected to applications, because customers can bring up a test environment,
read and write against that environment, validate, shut it back down, flash it
back to a previous state, and continue rolling forward through a recovery. Active
GridLink, Data Guard, and Site Guard are also key investment areas that allow
seamless and automatic failover between different RAC instances. Finally, Coherence
is another big investment area as it is a high-end caching product that provides an
integrated solution with WebLogic. With session replication, Coherence can be
used not only to offset your data from database, but also could be
high-availability disaster recovery solution for your WebLogic Server session
state.

Core
Technologies and MAA Features

To support these core investments in
maximum availability, there are three primary areas of technology that Oracle
focuses on implementing to support MAA in its platform architecture. The first
area is management configuration monitoring—with Enterprise Manager and Site
Guard, we monitor your product across different data centers. The second area
is in RPO (recovery point objective)—which is related to how fast you can move
your data for replication and for recovery—Oracle is investing in file base
data replication. And finally, for RTO (recovery time objective)—which is
related to how fast you can recover your transactions—one huge new feature is
XA transaction recovery, removing the need to write every transaction statement
in the T-log and making transactions automatically recoverable.

In conclusion, MAA is extremely
critical to your business, which is why it is a huge priority for Oracle. The complete Oracle Solution is a global-level management configuration with
Enterprise Manager, RPO, and RTO runtime for the middle-tier (including WebLogic, Coherence, and Oracle Traffic
Director), and an integrated back-end database. Any one-tier disaster recovery adds
value but the real importance lies in connecting all the pieces together, to
maximize operational efficiency and minimize risk.

Friday Jan 30, 2015

This one is for
those of you who haven’t developed that app [iphone or otherwise] which defies
the laws of physics and lets us be at two sessions at once at OpenWorld. The good folks at
Oracle University recorded many OpenWorld sessions and some of the most
prominent Cloud Application Foundation sessions are now available here. I wanted to
kick it off with the WebLogic Server Strategy and Roadmap session hosted by Will
Lyons, Head of WebLogic Product Management. So sit back, relax, and enjoy your
weekend watching the show!

Will talks about how
to leverage WebLogic today and in the future, sharing WebLogic’s current
features as well as illustrating the product’s future capabilities in the
impending 2015 release of WebLogic 12.1.3. Oracle
is investing in several strategic areas for WebLogic and Java Cloud Service (JCS)
to ensure complete flexibility for our customers with their cloud and
on-premises applications. The investment areas include improved performance,
scalability, and availability for applications deployed on WebLogic and JCS,
cloud-level management to simplify provisioning of WebLogic environments,
multitenancy, ease of deployment flexibility, improved developer environment,
and more.

In the most recent WebLogic version
12.1.3, released in July 2014, new features include improved Oracle Fusion
Middleware product support, mobile client application development features, and
performance and availability innovations from the beginning of the development
lifecycle.

For instance, the OTN Free Developer
license makes WebLogic easier to get started and free for development on
developer desktops, and includes refined language to broaden applicability and
usage. With traditional Oracle licensing, developers could develop on their
desktop for free but once applications were put in production, licensing fees
would apply on the desktop where applications were developed. Now, the entire
development lifecycle is free. Developer zip updates also update zip
distributions with Patch Set updates for automatic bug fixes and common
developer issues.

Other improvements include high
availability and performance via simplified disaster recovery with 3x better
output due to transactional updates without TLOG transaction writes, and
Exalogic optimizations such as JMS replicated stores. Improvements in cloud
scale management also see dynamic clusters that eliminate the need to create
clustered configuration and managed server configurations to those clusters (ie
machines, listen ports, etc.), allowing for enhanced JMS support and maximum
scaling. In doing this, there is seamless upgrade, application compatibility,
and interoperability with previous WebLogic versions, as well as flexibility
and choice for development and runtime. Developers can now take advantage of
all the latest Java SE technology, such as JDK 8 improved memory management
features.

Perhaps one of the most exciting
developments in WebLogic 12.1.3 is the release of Oracle Java Cloud Service,
which allows customers to deploy full-featured WebLogic instances anywhere with
full ability to move applications on-premise to the cloud and vice versa. Java
Cloud Service includes a self-service provisioning interface which makes it
easier to provision clusters and domains. There is also an option of exposing
the entire surface area of the WebLogic server to do whatever you need to
replicate on-premise environments to the Oracle cloud and vice-versa, with full
compatibility.

WebLogic 12.2.1 Roadmap — What is
Coming?

WebLogic 12.2.1, to be released in
2015, will see even further advancements including multitenancy, built-in
elasticity, a REST-based management infrastructure, disaster recovery
improvements, Java EE 7 support, and more seamless Exalogic integration. A
truly differentiating factor is WebLogic’s multitenancy capabilities - in other
words, its ability to run applications supporting multiple tenants within the
same server cluster, domain, or instance.

A brand new innovation in WebLogic
is a new configuration construct called a partition, which represents a ‘slice’
of a domain that can span all the servers running in your domain. Each
partition can be dedicated to tenants, providing appropriate levels of
end-to-end isolation of resources among partitions so you can deploy resources
individually though they share a domain. Examples include memory and CPU isolation
at the JVM level, or separate work managers. This concept is highly significant
as it dramatically decreases density of deployments on WebLogic server, and
allows customers to get far better utilization of their infrastructure. It is
also a great use for consolidation--ie departmental applications that maintain
isolation between multiple applications but want the same domain.

This multitenancy provides strategic
end-to-end value that is completely unique to Oracle, as it will be implemented
not just at the application server level but will be integrated into the entire
Cloud Application Foundation stack. Elastic clusters in WebLogic 12.2.1 will
also define configurable rules for cluster scaling that will help customers
define actions like scaling a cluster up or down, scheduling defined by
workloads or time of day, or driving other configuration changes.

Finally, there are also improvements
to the Exalogic Elastic Cloud Software 12c, on which WebLogic Server is
supported and optimized for. In 2015, Exalogic will allow for capabilities to build
private clouds that run on the same IaaS and PaaS provisioning technology in
Java Cloud Service, as well as similar interfaces.

Well, I really cant cover 45 minutes
worth of content in one blog, although I tried. So go ahead and take a listen
at Will’s sessions that is hosted at http://bit.ly/oow14cafsessions. Next week, we will highlight the Coherence
Roadmap and Strategy session for the in-memory data grid buffs amongst you.

Friday Jan 23, 2015

Many WebLogic (and broader Oracle users) are finding that their cloud strategy is being enabled by specific, industry-leading advances in Oracle's PaaS offerings.

Prove it! (you say) Show me! (you demand)

Then today is your lucky day! Well, January 28th is, anyway. We're hosting a Cloud Online Forum with a strong agenda to explore how you can rapidly build, deploy, manage, and secure rich applications and enable business collaboration and innovation using an integrated cloud platform - all built on the industry’s #1 Database and Application Server.

And this isn't some fluffy marketing event where we do nothing but talk about how great Oracle is and expect you to believe us without hesitation. We're being joined by IDC (the research and analyst firm) and some key guests, including 7-11's Greg Haertling, their Chief Enterprise Architect and Sr. Director of Software Development. They'll help you understand the Oracle PaaS offering from an industry perspective, as well as give an customer view of adoption and implimentation.

The event covers database and middleware platforms in the cloud, so grab your favorite DBA, developer, executive, Ops or middleware guru and join us by registering now!

The Middleware General Session begins at 11:30AM PST. 7 Eleven's, Greg Haertling, Chief Enterprise Architect and Sr. Director of Software Development will you how 7 Eleven "Accelerated their Digital Transformation with Oracle's Platform as a Service." He will be joined by Oracle’s Siddhartha Agarwal, Vice President, Product Management and Strategy.

They will discuss how Platform as a Service is driving efficiencies for development, operations and LOB, including highly scalable and cost efficient development & testing in the cloud, delivery of enterprise class cloud & mobile apps, rapid integration of cloud & on-premise investments, and seamless workload portability between on-premises & cloud.

Afterward, you can watch these additional Middleware Sessions in the following tracks:

Business User Track: Connect, Collaborate & Analyze in the Cloud
• Next-Gen Enterprise Content Management in the Cloud
• Rapid Business Process Automation in the Cloud
• Unlocking the Power of Business Analytics in Oracle Cloud

There will also be a Database General Session and Database Cloud Platform sessions that you can attend. Join us!

Thursday Dec 04, 2014

TUI Travel is a leading provider of travel solutions, operating in 110 countries. They were faced with a challenge of scaling their solutions and providing data in real time to customers. Here's Facundo Rua, Head of Technology, on how WebLogic and Coherence 12c drastically increased their response times and revenue.

Thursday Jul 24, 2014

If you remember, we added Dynamic Clusters in WebLogic Server
12.1.2. Dynamic Clusters make it really easy to configure a cluster and to
scale up that cluster. They are a cloud-enabling technology that provides
elasticity for your applications. We’re always looking to improve on a good
thing, so in WebLogic Server 12.1.3, we enabled Whole Server Migration with
Dynamic Clusters. Whole Server Migration enhances the availability of clusters
by enabling a failing/failed managed server to be restarted automatically on a different
machine. This is especially important for recovery of persistent JMS messages
and distributed transactions.

I just posted a video on YouTube with more details and a
short demo. Take a look:

Thursday Jun 26, 2014

We're proud to announce that Oracle WebLogic Server 12.1.3 has been released as part of the Cloud Application Foundation and Oracle Fusion Middleware 12.1.3 release as described at the Cloud Application Foundation Blog. Oracle WebLogic Server is the industry's leading application server, providing unparalleled choice for deploying applications in public clouds, on-premise private clouds, engineered systems such as Oracle Exalogic Elastic Cloud, Oracle SPARC SuperClusters, and Oracle Database Appliance systems, and conventional systems.

Oracle WebLogic Server 12.1.3 is a new version release of Oracle WebLogic Server 12c. It builds on the features provided in WebLogic Server 12.1.2 to improve developer productivity, performance and high availability, and manageability. It enables you to develop and deliver innovative applications, to meet the application service level requirements for your business, and to manage your application infrastructure efficiently to achieve low total cost of ownership.

For developers we have placed specific focus on enabling development of server applications that support rich client applications running in HTML5 browsers or mobile devices. Such applications typically rely on REST based Web Services, use JSON as the data format for message payloads, and often require dynamic updates between clients and servers. In Oracle WebLogic Server 12.1.3, we have implemented support for selected Java EE 7 APIs including JAX-RS 2.0, Java API for JSON Processing, Java API for WebSocket, and JPA 2.1, to enable and support development of such applications. We have also delivered related value-added capabilities like support for Server-Sent Events and unique WebSocket emulation capability.

High availability and performance improvements include improvements to Oracle Database 12c integration support - we have bundled the latest version of the Oracle Database 12c driver for ready access to database integration features, and have certified Oracle Database 12c AQ JMS as a Foreign JMS Server within Oracle WebLogic Server. Innovations to the Oracle WebLogic Server transaction processing subsystem enable elimination of transaction logs in many cases, increasing performance and simplifying distaster recover configuration. Optimizations for Oracle Exalogic systems include JMS performance improvements, and Cooperative Memory Management to adapt server memory usage based on memory consumption on Oracle Exalogic systems.

Manageability enhancements include improvements to dynamic clusters introduced in Oracle WebLogic Server 12.1.2. In Oracle WebLogic Server 12.1.3 we support use of whole server migration to provide improved availability for dynamic clusters environments using JMS. We have expanded our support for REST-based management, adding lifecycle management, application deployment, and datasource configuration support via REST. We have also made similar improvements to support for Oracle WebLogic Server management in Oracle Fusion Middleware Control.

Finally, Oracle WebLogic Server 12.1.3 is the foundation of the Oracle Fusion Middleware 12.1.3 release, which adds Oracle SOA Suite 12c and other Oracle Fusion Middleware products to the family of products that is supported with Oracle WebLogic Server 12c. This will make it easy for Oracle WebLogic Server 12.1.3 customers to adopt the latest releases of these products, and will also enable Oracle Fusion Middleware users to take advantage of the latest features in WebLogic Server 12.1.3. To learn more:

This thread is considered Stuck by WebLogic because it's been running for over the time defined in MaxStuckThreadTime(600 seconds by default). Weblogic Server waits for this time to be reached before marking a thread as stuck if the thread is still working after this time. If you deem that 600 seconds is too long before a running thread is considered stuck then you can change the value of the this parameter using the WebLogic Console (as shown below), or use setMaxStuckThreadTimefrom the ServerFailureTriggerMBean interface.

An error including BEA-000337 will be logged in the server log file when the thread changes its status to stuck but the server won't take further action on this thread. However, you might want to investigate why this thread is taking such a long time to process the work assigned to it.

Lets now look at the thread itself. From its header, you can spot the thread identifier (2 in this example) and the queue where it originated. The term Self-tuning indicates that the associated thread pool consistently checks the overall throughput to determine if the thread count should change.

id (or tid) is the thread identifier, a unique process-wide number that identifies this thread within the JVM process. This id is unique but can be reused by another thread once this thread is terminated.

prio refers to the thread priority, a number inherited from the thread that created it. You can learn more about thread priorities at Class Thread but basically threads with higher priority are executed in preference to threads with lower priority.

alive refers to the fact that this thread has not ended yet and is still active.

in native means that the thread uses the operating system's native ability to manage multi-threaded processes.

daemon indicates that this thread can't prevent the JVM from exiting.

The thread header is accompanied with a full java stack which lists each method and class invoked since the first assignement to the thread up to its most recent action. This thread consists of obtaining a connection to an Oracle database using a Type 4 JDBC driver and then issuing a call but getting no response from the back end database server. The database failed to respond, and the thread has probably been in the same waiting mode (unchanged and not progressing java stack) for a long time since it's now considered stuck; the most recent invocation being java.net.SocketInputStream.socketRead0.

At this point the back end database needs to be checked to understand why it's not responding to the java thread request. A starting point could be to query v$session to find potential blocking sessions at the database level.

Blocking sessions occur when one session holds an exclusive lock on an object and doesn't release it.

Needless to say, the communication with the database needs to be confirmed as healthy with none to very limited latency. Firewall issues should be ruled out as well. Firewalls could time out idle sockets used by JDBC connections to the database and lead to not closing the socket the JDBC driver is using.

Thursday Jan 23, 2014

The reasons are many. Firstly, WebLogic is Oracle’s strategic application server. Consolidating on the
latest release provides better runtime capabilities and increased efficiency. WebLogic has one of the industry's best [if not the best] backward compatibility. Because thousands of customers have done it and they have been successful and in the process the kinks in the process have been ironed out......

Packed with customer success stories, this e-book provides insights, proof
points, and best practices for you to drive the transition. Learn
from many other WebLogic and Oracle iAS customers why it makes sense to consolidate on
the latest WebLogic release, whether you are operating a traditional data
center or transforming it to the cloud.

Friday Aug 30, 2013

In WebLogic 12.1.2, we enhanced the way that you can configure JMS servers, stores, and subdeployments so that the JMS subsystem can automatically scale with the Managed Servers in a cluster. We call this Elastic JMS. My friend Maciej Gruszka calls it Magic JMS!

Here are some details:

JMS Servers: In releases before WebLogic Server 12.1.2, each JMS Server was individually configured and targeted at a single Managed Server. It didn’t matter whether or not that Managed Server was part of a cluster. Starting in WebLogic Server 12.1.2, you can target a JMS Server at a cluster. Under the covers, WebLogic spins up a JMS Server on each managed server in the cluster. If you add or remove servers from the cluster, JMS Servers are added or removed automatically.

WebLogic Persistent Stores: Like JMS Servers, in releases before WebLogic Server 12.1.2, each WebLogic Persistent Store (file store or JDBC store) was individually configured and targeted to a single Managed Server, clustered or not. In WebLogic Server 12.1.2, you can target a WebLogic Persistent Store at a cluster. Under the covers, WebLogic creates a store instance on each Managed Server in the cluster. Each instance of a file store uses the same path to either a shared file system or to a local file. Each instance of a JDBC store uses the same JDBC data source, but gets its own underlying tables.

Subdeployments: A subdeployment defines the list of JMS Servers that will host a queue or topic. In releases before WebLogic Server 12.1.2, when you defined a subdeployment for a distributed queue or topic, you listed each JMS Server in the cluster. When you scaled up the cluster by adding a Managed Server and a corresponding JMS Server, you also needed to update the subdeployment with the new JMS Server. Starting in WebLogic Server 12.1.2, subdeployments are much simpler. You can list a single JMS Server that is targeted at the cluster. When you scale up the cluster, the distributed queue is automatically extended to the new JMS Server instance without any changes to the subdeployment.

Pulling it all together: By using cluster targeted JMS Servers and Persistent Stores, you get some nice benefits:

Simplified configuration – Even initial JMS configuration is much simpler than it was in the past: no need for individually configured JMS Servers and related items.

Elastic scalability – As you scale the cluster, the JMS services automatically scale with it.

Support for Dynamic Clusters – Because Dynamic Clusters require homogenous targeting of services, the new configuration options make it possible to run JMS on Dynamic Clusters.

Friday May 17, 2013

A Heap Dump is a snapshot of the Java process heap memory at a given time. It's a useful tool to troubleshoot memory leaks and other memory related issues. Heap dumps are to memory what thread dumps are to java threads.

There are different ways to dump the java heap used by a Java application such as WebLogic Server. Heap dumps can be triggered automatically by JVMs such as HotSpot or JRockit when an OutOfMemory event occurs.

This command will generate a heap dump file in the defined heap dump directory when an OOM is thrown.

The file will be in HPROF binary format (*.hprof). If no path is defined the file will be created in the directory from which the java process was launched. The format of the file with JRockit is jrockit_pid,hprof, pid being the process ID of this JVM instance. With HotSpot the format of the file will be java_pidpid.hprof.

Example:

java.lang.OutOfMemoryError: Java heap space

Dumping heap to D:\java_pid4148.hprof ...

Heap dump file created [24921731 bytes in 1.400 secs]

For WebLogic Server these properties, HeapDumpOnOutOfMemoryError and HeapDumpPath (optional), can be added directly to the startup script that contain the Java command that launches WLS. On Windows the script (with default name startWebLogic.cmd) lives in the domain bin directory and the parameters can be directly added to the existing JAVA_OPTIONS.

With a JRockit VM process the following command can also be used to generate a heap dump.

Example:

jrcmd pid hprofdump filename=name_of_dump_file

However if you are using this command against a non JRockit process the following error will come up:

java.io.IOException: Command failed in target VM

You can also manually generate a heap dump with tools such as jmap or VisualVM.

Example:

jmap -heap:live,format=b,file=filename pid

This command will generate a heap dump file in binary format and will only count live objects (the live option is optional). Live objects are used by applications and generally reside in the Young Generation part of the heap.

As illustrated in the screenshot below, generating a heap dump with VisualVM is very simple. VisualVM is shipped as part of the HotSpot JVM (/bin/jvisualvm.exe). However, VisualVM can connect to java processes that started with other JVM such as JRockit.

Once generated, the heap dump will be parsed as shown below:

VisualVM enables you to browse heap dumps as shown above with the Classes view where you can easily identify the number and percentage of instances referred by each class.

These tools include jstack, jinfo, jconsole, jmap, jstat, jhat and a few others.

jstack can be use to dump the java threads. While working with WebLogic Server, you can dump the java threads with various tools such as WLST. jstack can do just that but differs from <ctrl>+<break> or kill -3 since it doesn't dump a heap summary along with the threads.

In addition, jstack can print lock information with -l option and the list of synchronizers that may be exclusively owned by a thread. Such information can be very useful while monitoring concurrent access by threads.

jstack comes as part of the JDK installed with WebLogic Server. With instances of WLS running, you can open a new shell, execute the setDomain script and run jstack or any tool that's part of the JDK package. Thread dumps taken by jstack can be redirected to files, e.g. jstack <pid> > myTD.txt.

PIDs can be obtained on Solaris/Linux with the ps (report process status) command, e.g. ps -ef | grep java, and from the task managed on Windows. In task manager you might need to go to View and Select Columns to add PID or process identifiers.

Friday Jan 18, 2013

A variety of free troubleshooting and debugging tools exist but which ones are really useful when analyzing issues with WebLogic Server? In this new blog post series, I will talk about some of the best tools that are available, easy to use, free, and very effective in identifying a bunch of issues. In this first post I will cover VisualVM.

VisualVM most recent version, or 1.3.5, was released on 11/13/2012. This tool consists of an user-friendly visual interface for monitoring running JVMs. Multiple instances of WLS or Java can be monitored at the same time by just connecting to running local or remote JVMs. VisualVM needs to run on Oracle Sun JDK 6+, the JDK, not the JRE. VisualVM can be started as follow to specify the JDK to run it it on.

Alternatively, /etc/visualvm.conf can be modified to specify a desired JDK. After launch, the list of local running Java instances will be displayed on the left panel under applications. In Remote, you can define the host of other running Java instances. By selecting a running server and clicking on open, you should get a screen similar to the following:

In Start Page, online documentation of VisualVM can be easily accessed. Tags next to Start Page are specific to open JVM instances. In my case, you will find a Weblogic Server instance with its process id (pid).

Underneath, Overview reports all JVM settings as well as many system properties including Weblogic specific properties.

Monitor gives access to realtime monitoring of CPU, Heap, Classes and Threads. You can also force a garbage collection (GC) or issue a heap dump for further analysis.

Threads reports all threads activity in realtime but also allows to take thread dumps. All thread dumps will be attached to the relevant application process on the left panel and saved in C:\Users\<user_name>\AppData\Local\Temp\visualvm.dat. Example: C:\Users\lgoldszt\AppData\Local\Temp\visualvm.dat\localhost_6352\threaddump-1358534350679.tdump. Thread dumps can be further diagnosed with ThreadLogic.

In Samplers, you can record CPU or memory usage activity. This is neat to debug potential memory leak and high CPU usage threads.

Finally, Profiler allows to identify where most of the time is being spent and which objects consume most of the memory.

Snapshots of memory can be taken and compared with others, see File - Compare Memory Snapshots.

Also VisualVM comes with a bunch of easy to install plugins as you can see below:

VisualVM doesn't have an MBeans tab like JConsole. However, this can be very easily changed by installing the available VisualVM-MBeans plugin.

With its extensive features, especially including those offered by individual plugin, VisualVM is the tool of choice and combine characteristics of tools such as JConsole, jstat, jmap, or jstack.

Thursday Dec 22, 2011

Hi Everyone. A few WebLogic Server notes and events that you don't want to miss! Happy Reading and Happy Holidays!

Unveiling Oracle WebLogic Server 12c

Oracle WebLogic Server 12c is cloud-ready and optimized for modern, lightweight Java EE 6 Full Profile Development. Download and unzip the 168mb distro and go, no installer! Check out the launch event replay, which includes a developer-focused deep-dive session, for details.

Virtual Developer Day: Oracle WebLogic Suite 12c (Jan. 24, 2012)

In this virtual workshop, Java developers and architects can learn how to use Java EE 6, Oracle WebLogic Server 12c, Oracle Coherence, Oracle Enterprise Pack for Eclipse, NetBeans, Maven and Hudson in hands-on labs and sessions while interacting with Oracle product experts in live moderated chats. Learn more about the event, or register now!

WebLogic Devcast Webinar Series (Jan 12, 2012 10:00am PT)

Introducing a new, monthly webinar series focused on Oracle WebLogic Server 12c and Java EE 6! The first webinar, "Developing a Data Access Layer with JPA" is now open for registration. The February webinar will be replaced with the OTN Virtual Developer Day: WebLogic Suite 12c, and then we will resume a monthly cadence in March.