In my OUG Ireland 2016 – Summary post I mentioned the Oren Nakdimon session called “Write Less (Code) with More (Oracle 12c New Features)”. One of the things he mentioned was the removal of restrictions associated with the use of the TABLE operator on local table types. If I had read about this or seen it before, it had certainly slipped my mind, so I made a note to write something about it and add a link to it from my PL/SQL new features article. So here it is.
The star of this video is Kevin Closson. Kevin’s a really nice guy and has a brain the size of a planet, but you know somewhere in the back of his mind he’s wondering what it would be like to hunt you down, kill you and mount your head above his fireplace. 🙂
We publish a number of XML web services from the database using the PL/SQL web toolkit, as described here. In more recent times we’ve had a number of requirements for JSON web services, so we did what most people probably do and Googled for “json pl/sql” and got a link to PL/JSON.
I know about the support for JSON in 12c, but we are not on 12c for these projects and that’s more about consuming JSON, rather than publishing it.
People seemed reasonably happy with PL/JSON, so I thought no more about it. At the weekend, kind-of by accident, I came across the APEX_JSON package that comes as part of APEX 5 and thought, how could I have missed that?
This is not a slight against PL/JSON, but given the choice of using something built and supported by Oracle, that is already in the database (we have APEX 5 in most databases already) or loading something else, I tend to pick the Oracle method. Since then I’ve been having a play with APEX_JSON and I quite like it. Here’s what I wrote while I was playing with it.
If you have done anything with XML in PL/SQL, you should find it pretty simple.
I’m guessing this post will result in a few people saying, “What about ORDS?” Yes I know. Because of history we are still mostly using mod_plsql and OHS, but ORDS is on the horizon. Even so, we will probably continue to use APEX_JSON to do the donkey-work, and just use ORDS to front it.
Today’s session was more about giving them an idea of where databases fit into the big picture as far as data and data processing is concerned. I obviously come at this as a relational database guy, but the presentation also included NoSQL and Hadoop. I hope nobody is naive enough anymore to think relational databases are the correct solution for every use case, so it’s important to be objective about this stuff, rather than to push your own agenda.
Over recent weeks I’ve spent time trawling through material to get a feel for the subject matter, and it’s quite depressing to see the territorial pissing that goes on between all these camps. Each trying to convince you their solution is suitable for use cases where it clearly is not. To be fair, most of this is not coming from the experts themselves, but from the hangers on who can’t cope with the fact their favourite tech might not be perfect. We’ve all been there! 🙂
Over the weekend as I was putting the talk together and Mark Rittman tweeted a link to this article.
I could have kissed him. The article is really even-handed and certainly helped me to put some of what I wanted to say into context.
After the session I was invited to a staff meeting to discuss industry engagement. So that’s the second time today I had to discuss something I know nothing about. 🙂 It was actually really interesting though.
Presenting at conferences and writing on the internet makes you, to some extent, part of the education system. Getting involved in this stuff is quite an eye-opener and makes you think about how you approach things yourself. As I’ve said many times before, I do all this stuff on the internet for me, but if I can make a few adjustments to make what I do more useful and/or accessible to others, that is worth considering.
I got connected with BCU as part of the UKOUG NextGen event in 2014 and the relationship has grown from there. If you are interested in reaching out to some higher education (HE) establishments in the UK, you might want to contact UKOUG. You’re not going to get paid, but I think you will get more out of it personally than put put in! 🙂