Devel. + PL/SQL tools

Masterclass Oracle 11g voor Database Ontwikkelaars – haal meer uit SQL en PL/SQL in 11g

Aanstaande vrijdag 27 januari verzorgt Oracle ACE Director Alex Nuijten bij AMIS Services in Nieuwegein een Masterclass voor Oracle Database Developers: iedereen die met enige regelmaat SQL en/of PL/SQL toepast in zijn of haar werk. In deze Masterclass leidt Alex de deelnemers rond in Oracle Database 11g Release 1 en 2 met als voornaamste doelstelling de bezoekers in staat te stellen nuttig gebruik te gaan maken van de nieuwe mogelijkheden in deze 11g releases ten einde code simpeler, beter, sneller en functioneel rijker te maken.

Alex staat wereldwijd bekend als enthousiaste verteller en duidelijke explicateur (hij heeft met die eigenschappen al meerdere speaker-awards gewonnen op internationale conferenties). Hij combineert een duidelijk overzicht van de theoretische achtergrond met sprekende demonstraties en praktijkvoorbeelden. Deelnemers kunnen idealiter zijn some wat droge gevoel voor humor waarderen – en zijn in staat om in een tamelijk intensieve dag veel nieuwe kennis te verwerken.

Voor deze Masterclass is nog een beperkt aantal plaatsen beschikbaar. Zie http://www.amis.nl/amis-masterclasses/masterclass-oracle-11g-voor-database-developers voor meer informatie en inschrijving.

Read the rest of this entry »

Using the Oracle XMLDB Repository to Automatically Shred Windows Office Documents (Part 1)

People who have attended the UKOUG presentation this year where Mark Drake, Sr. Product Manager XML Technologies / XMLDB, Oracle HQ, and I demonstrated the first principles of the XDB Repository, might have been impressed with its (GEO/KML Spatial, Image EXIF info) capabilities combined with Google Earth. This post will zoom in on how to consume automatically content of Windows Office document (docx).

Most (APEX) people know the PL/SQL Gateway functionality of the XDB Protocol Listener, but this is only one very small part of the XDB Repository functionality. To be precise only one “servlet” part of it. Those “servlets” can be based on Java, C or PL/SQL. The PL/SQL Gateway, as it’s name suggests, is based on the PL/SQL part. Another “servlet”, the Native Database Web Service (NDWS), which enables you to create a database SOA endpoint service and more, is based on C code. Beside demonstrating the WebDAV ACL driven security features and database extensibility/interfacing facilities based on the database (no cost option) XMLDB functionality, it also explain one of the coolest features, IMHO, introduced in Oracle 11gR1 called: XDB Repository Events.

There is one big problem in all of this. It is very, very sparsely documented and although there is some, or was some, code out there on the worldwide web, it took me a while to get a feeling of all the specifics at hand. This post will extend on some of the posts I already created to give to a head start of what is possible. This post will demonstrate what you can do with Windows Office documents, nowadays embedded (zipped) XML content, with extentions called: docx, xlsx or pptx…

Read the rest of this entry »

Factorial in Oracle SQL – using both new Recursive Subquery and classic Connect By approach

I regularly teach a masterclass on Oracle SQL. One of the topics I explore in depth is the use of the CONNECT BY query style to perform not just hierarchical queries but also networking or even generic recursive SQL. In Oracle Database 11g, the recursive subquery was formally introduced, the SQL Standard’s approach to this style of querying. The Recursive Subquery even stronger suggest recursive operations to be performed of course, but classic connect by can do that job as well.

One archetypical example of a recursive operation is the calculation of a factorial: n! = 1* 2 * 3 *…. * (n-1) * n.

In this short post I will show both the new, straightforward 11g based solution as well as the classic approach with CONNECT BY – that may not looks as recursive, but still very much is.

Read the rest of this entry »

Absolutely Typical – The whole story on Types and how they power PL/SQL Interoperability (UKOUG, 2011)

This presentation will hopefully convince database developers that types in the Oracle Database are worth their salt – and more. With the recent improvements in 11gR2, the pieces are available to complete the puzzle of structured and modern programming with a touch of OO and more importantly to create a decoupled, reusable API that exposes services based on tables and views to clients that speak SQL, AQ, PL/SQL, Types, XML or RESTful, through SQL*Net, JDBC or HTTP.

This session shows through many demonstrations how types and collections are defined, how they are used between SQL and PL/SQL and how they can be converted to and from XML and JSON and how they drive Native WebServices as well as RESTful services based on the Embedded PL/SQL Gateway. Everyone doing PL/SQL programming will benefit immediately from this session. Every Database Developer should be aware of Types and Collections. For structured programming, for optimal SQL to PL/SQL integration and for interoperability to client application. This session introduces Types and Collections, their OO capabilities, the conversion to XML and JSON, their use in Native and RESTful WebServices and the pivotal role they can play in encapsulation and decoupling.

The slides can be reviewed here:

Resources

Download Slides plus Demoscripts here: AbsolutelyTypical_UKOUG2011_jellema.zip.

Looking back at UKOUG 2011

Now that the UKOUG annual conference in Birmingham is over, it’s time to write my thoughts down. As this was the second time that I attended the UKOUG conference, I already knew that it is a big conference. Lots of great speakers and a very good agenda. On the agenda were very interesting session, sometimes making it very hard to choose which session to go to. Guess you can’t complain about that.

On the Sunday before the actual conference starts, the OakTable organized a special day. Originally I didn’t plan to attending this day, as I was flying in in the afternoon. Turned out, I was on time to attend Connor McDonald’s session. Lucky me, Connor is an awesome presenter, so I decided to stay for the rest of the day. Very enjoyable, they even had OakTable beer before the final OakTable panel session.

In the evening there was the Ace dinner, in a nearby Thai restaurant. Good company, good food. A little nerdy perhaps, but as it turned out there were 42 Ace’s and Ace Directors attending.

On Monday I attended some really good sessions, like Kyle Hailey on SQL Tuning, Bryn Llewellyn on Using the PL/SQL Hierarchical Performance Profiler, and Connor McDonald on Partitioning 101.

Late in the evening Cary Millsap did a keynote session: Learning about Life through Business and Software. Only one word for this session: Wow! The things he talked about are still going around in my mind.

Tuesday morning, right after Roel Hartman’s session Done in 60 seconds, was my own session Who’s afraid of Analytic Functions? – for which I was quite nervous. Got some nice feedback on the session, so was quite pleased with it. Of course I had to go and see Carl Dudley’s session on Analysing Your Data with Analytic Functions – check out the competition, so to speak. Michael Salt’s session on Indexing: It’s All In The Index was also very interesting.

Wednesday was time to head back home, so packed up my bags and went to see Jonathan Lewis’ session on Redo. Can you keep an audience captivated for an hour talking about Redo? Jonathan Lewis can. Sadly this was my last session.

Because I arrived early at the Birmingham International Airport, I could get an earlier -originally delayed- flight back to The Netherlands. Now I can look back at a wonderful conference….

Oh,… did I mention I received the Inspiring Presentation Award for my session I did last year?

The Future of Forms is ….. Forms (and some friends) (UKOUG, 2011 – with Grant Ronald)

Slides for the presentation I did with Grant Ronald during UKOUG 2011, last week in Birmingham. The abstract for this presentation: “Many organizations run enterprise Oracle Forms applications created in the 90s. They now wonder about the future of their application.This session tells how modernization of the application landscape could take place, using a mix of the latest version of Forms and other technologies like SOA, ADF and perhaps APEX.

Forms 11g integration and extension points are discussed and demonstrated. Forms applications serving internal, professional user groups today are typically by and large suitable for continued use. Modernization of these applications therefore typically focuses on integration – with a SOA environment and Event infrastructure and with new user interfaces and Portals – and to some extent to enhancing user experience and functionality of the application.

This session shows how Forms 11g – part of Fusion Middleware and running on WebLogic Server – can be integrated in a modern Service Oriented Architecture and how it can be embedded in Web 2.0 Portals and Applications. The audience will see how Forms can quite easily get a face-lift – to bring it on par UI wise with other modern applications. The session will also discuss when other technologies such as ADF or APEX might come into mix.”

APEX: Make a report row clickable

When you create a “Report with Form”, there will be an icon in the report which allows you to navigate to  the form page. Only when the user clicks the icon this navigation will take place. For the current project, this was not what they wanted. They wanted to click on the row instead of just the icon. This can be simply implemented using jQuery.

Read the rest of this entry »

Solving connection problems using virtualBox:”SOA&BPM Development VM”

A few weeks ago I had to work with a virtual box by oracle with a pre installed Database (xe) and weblogic to do some BPM Studio work. After the default installation I expected to just start the Virtual machine, start the weblogic server and enjoying the advantages of having everything installed properly…

Not exactly because I could not get the right connection established and on the virtual machine I could not get the Weblogic Server started. If you encounter the same type of problem here is my solution that worked for me and perhaps as well for you. Hoping this will speed up things and to concentrate more on the BPM stuff then actually fixing the bugs on the VM Boxes J. Read the rest of this entry »

Some explorations around Java Stored Procedures in the Oracle Database

While working on the challenge to publish a message to a JMS Queue in a remote WebLogic Server from within the Oracle Database – using a Java Stored Procedure – I came across a few things that I would like to record for future reference. Note that unfortunately I have not [yet?] succeeded in making that JMS publication work.

The things I would like to record here are:

  • using JDeveloper to developer and load Java Classes and create PL/SQL Wrappers for them
  • using the loadjava command line utility to load (the classes in) JAR files into the database
  • using the ojvmjava command line utility to try out the classes that have been loaded into the Oracle database directly (which allows us to get access to the console output and the stacktraces when exceptions occur)

If anyone has pointers for my main challenge: publishing a message onto a WebLogic Queue, I would be most interested because even with a lot of help from a lot of (virtual, cyber if not imaginary) friends I have not been able to pull it off. In fact, at this point I am not even able to initialize a JNDI context in a Java Stored Procedure (JSP) through a connection with a remote WLS server.

Read the rest of this entry »

2 dagen seminar door Steven Feuerstein: Best of Oracle PL/SQL (8 en 9 december)

Steven Feuerstein

In dit tweedaagse seminar neemt Steven Feuerstein je mee ver voorbij de basismogelijkheden van PL/SQL. Steven zal tijdens dit seminar de best practices behandelen die hij op tientallen plekken in de wereld heeft verzameld en die hij ook mede door zijn nauwe samenwerking met het PL/SQL product team van Oracle kan verifiëren en aanscherpen. Hij laat via code-voorbeelden en interactieve sessies zien hoe je als ontwikkelaar in staat bent om snel, hoogwaardige, goed onderhoudbare en uitbreidbare applicaties kunt maken.

Er is tijdens dit seminar voldoende ruimte om vragen te stellen en ideeën met Steven Feurestein uit te wisselen.

Bij dit seminar zijn de volgende zaken inbegrepen:

- Een exemplaar van het boek Oracle PL/SQL Programming (5th edition) van Steven Feuerstein (twv €71,-).

- Een PL/SQL quiz onder leiding van Steven Feuerstein met leuke prijzen.

- Ook ontvang je een gratis jaarabonnement op het PL/SQL Channel. Hiermee heb je toegang tot 27 uur videotraining (normaal $395).

Dit is de kans om in Nederland in een select gezelschap met één van de experts op PL/SQL gebied kennis te maken en je expertise in  Oracle PL/SQL verder te vergroten. Meer informatie of inschrijven kan via deze link.

(NB: Deelname voor deze twee dagen kost 1050 euro)