b
Steven Feuerstein from, PL/SQL Evangelist, Quest Software and OPP Conference Chair, has organized this conference to take your knowledge of PL/SQL to the next level!— See our expert lineup of speakers below!

Presentations and Abstracts
Check out the proposed classes at OPP2010!


Quick links:
Track 1 Track 2 Track 3

Track 1 Day 1

Session 1- 10:30-11:45
Empty Session

Session 2- 12:00-13:30
Programming with Collections

Steven Feuerstein, Quest Software
Collections (array-like structures in PL/SQL) are critical data structures that are used in some of the most important features of PL/SQL. Every PL/SQL developer should have a deep familiarity with collections and the wide range of features that Oracle has implemented for them over the years. This session introduces collections and quickly moves on to detailed explanations of collection methods, how to leverage string indexing in associative arrays, multi-level collections, set-level operations on nested tables and more.

Session 3- 14:30-16:00
Turbo-charge PL/SQL Execution with Bulk Processing

Steven Feuerstein, Quest Software
The focus of this first presentation is on enhancing the performance of multi-row SQL statements executed from within PL/SQL, using FORALL and BULK COLLECT. After attending this seminar, you'll be able to create new programs using the features discussed and use them to redesign existing programs safely for enhanced PL/SQL execution.

Session 4- 16:15-17:45
Effective Management of PL/SQL Code
Steven Feuerstein, Quest Software
Although writing code is very important, it is just one aspect of building applications and fully leveraging PL/SQL. As your code volume increases and as Oracle offers more and more options for configuring PL/SQL, it becomes more important to take full advantage of advanced PL/SQL compiler features, data dictionary views and so much more.

This presentation shows developers how to correctly apply the PL/SQL compiler optimizer, compile-time warnings and conditional compilation. It then reviews and shows how to “mine” the most important data dictionary views for PL/SQL developers, from such all-time favorites as ALL_SOURCE to the new PL/Scope ALL_IDENTIFIERS and on to ALL_PLSQL_OBJECT_SETTINGS. 

Return to Top


Track 1 Day 2

Session 5- 8:30-10:00
XML Programming in PL/SQL (Part 1)

Marco Gralike, AMIS
XML is all around us nowadays. XML is a part of our documents, reporting, and SOA architectures and, for instance, is used in mobile phone devices. The Oracle XML database feature is core functionality in the database and is increasing in popularity while dealing with and handling XML data in new and legacy Oracle database environments. The Oracle XML database is very rich in its features and supports almost all W3C XML standards or XML supporting standards. It can be used, among others, to generate XML, query XML, or expose data via XML or Web services.
This first introductory presentation will give you a short overview of the Oracle XML database environment since its appearance in database version 9.2; explain and demonstrate in more detail its XSQL, XPath, and XQuery capabilities; how to use DBMS packages to store, evaluate, or generate XML; and to name some and show the wizardry you could apply to your advantage in your current environment with all these new tools. 
At the end of this session, the dos and don'ts will be discussed and most importantly how to troubleshoot some of those common XML issues you might face.

Session 6- 10:15-11:45
Error Management in PL/SQL Applications
Steven Feuerstein, Quest Software
This session takes you beyond the basics of exception handling in PL/SQL to explore the wide range of specialized error management features in Oracle, plus recommendations for best practices for consistent, robust application construction. We will talk about FORALL's SAVE EXCEPTIONS, the DBMS_ERRLOG package, the AFTERSERVERERROR trigger, the DBMS_UTILITY.FORMAT_ERROR_BACKTRACE function, and more. In addition, we will talk about hiding error management functionality behind a PL/SQL packaged API and then deploying it as a set of services for application developers.

Session 7- 12:45-14:15
Turbo-charge PL/SQL Execution with Bulk Processing
Steven Feuerstein, Quest Software
The focus of this first presentation is on enhancing the performance of multi-row SQL statements executed from within PL/SQL, using FORALL and BULK COLLECT. After attending this seminar, you'll be able to create new programs using the features discussed and use them to redesign existing programs safely for enhanced PL/SQL execution.

Session 8- 14:30-15:30
Designing PL/SQL with Intent
Andrew Clarke, Logica
Most of the PL/SQL in the world is not designed; it just happens.  This is because there is a lack of tools and methodologies for the language.  Yet there are plenty of applicable ideas, not just object-oriented programming but also fields such as town planning and architecture.  This discursive presentation looks at design patterns from these arenas and applies them to the construction of PL/SQL APIs.

Return to Top


Track 2 Day 1

Session 1- 10:15 - 11:45
Introduction to APEX for PL/SQL Developers

Dimitri Gielis, APEX Evangelist
You’ve heard all of the buzz, but just haven’t had the time to check out just what APEX is and does. Well, make no more excuses! This session will provide a brief overview of what APEX is, how it works, and how you can leverage your PL/SQL skills to start building web applications in no time at all. It will then highlight the specific areas where you as a PL/SQL developer can expand the capabilities of the tool. Ample time will be given to a questions and answer session.

Session 2- 12:00 - 13:30
Oracle11g: Edition-based Redefinition
Alex Nuijten, AMIS
Edition Based Redefinition (EBR), the most spectacular feature of the Oracle 11gR2 database, will blow your mind. This feature introduces an extra dimension in the database allowing us to version objects within the same schema. With EBR we can achieve zero-downtime application upgrade and multiple application versions against a single database schema. This signals the end of big-bang upgrades!

This session will introduce the concepts of EBR, dive into the complexities of data synchronization, as well as demonstrate a multi-versioned application.

Session 3- 14:30 - 16:00
Secure PL/SQL Programming
Peter Schmidt, Trivadis
Modern software systems offer more and more flexibility and Web-based applications offer global access to applications. All of these features and access come, however, with a tradeoff: increased security challenges. The need to apply secure programming principles does not stop when the program flow has entered the database nor is it possible to delegate "the security stuff" to the DBA only.
Increased awareness of potential threats like SQL injection and in-depth knowledge of how to incorporate secure programming techniques into one's own programs is essential for every PL/SQL developer. This session focuses on programming practices a PL/SQL developer should
consider in order to contribute to the security of the entire database application.

Session 4- 16:15 - 17:45
Currently Empty


Return to Top


Track 2 Day 2

Session 5- 8:30 - 10:00
SOA for PL/SQL Developers

Lucas Jellema, AMIS
PL/SQL developers (as well as DBAs and many others involved) typically are uncertain what SOA means to them. They feel overwhelmed by a avalanche of acronyms. Yet they see it coming and instead of being surprised or bypassed, this session allows them to start participating and benefiting themselves. This session introduces SOA and the Oracle SOA Suite 11g to the realm of the PL/SQL developer - from which it sometimes seems so far removed. What are the key SOA concepts and objectives - what's the buzz about? What is at the heart of SOA Suite 11g: Composite Applications, BPEL PM and the Mediator.

The presentation demonstrates how SOA Services can be leveraged from the database – from Triggers and PL/SQL applications and how the database can publish events to the Event Delivery Network. It demonstrates how the SOA infrastructure can access the database, primarily using the Database Adapter – and how database developers can be instrumental in efficiently doing so. It concludes with some hints for applying SOA concepts

Session 6- 10:15 - 11:45
Reaching Out from PL/SQL
Lucas Jellema, AMIS
PL/SQL applications do not live on an island - any longer. Increasingly, applications need relate to the rest of the world. Either to make themselves and the services they provide accessible to external parties - that may not speak PL/SQL at all - or to access information or enlist help from external services.

Fortunately, PL/SQL can do much more than invoke other PL/SQL applications or execute SQL. PL/SQL - sometimes in conjunctions with other components in the Oracle RDBMS - provides many inbound and outbound channels for such interactions. This session discusses and demonstrates a number of channels - when and why to use them and how to use them.

The presentation discusses how to publish data to consumers via HTTP, using both XMLDB and the Embedded PL/SQL Gateway - for example to deliver HTML, XML or RSS or to provide REST-style (web)services that are much in demand. The session also discusses the importance of email as a vehicle for human-application interaction, demonstrating how to send and how to act on received emails. An important topic is how to engage in queue based interactions (for example with a SOA infrastructure) and it concludes with how through utl_http or XMLDB and (simple) middleware, the world of SOA, REST and even the internet is ours as well. It includes a demo on 'chatting from the database' (database triggers that send out IM alerts to human agents).


Session 7- 12:45 - 2:15pm
XML Programming in PL/SQL (Part 2)
Marco Gralike, AMIS
XML is all around us nowadays. XML is a part of our documents, reporting, and SOA architectures and, for instance, is used in mobile phone devices. The Oracle XML database feature is core functionality in the database and is increasing in popularity while dealing with and handling XML data in new and legacy Oracle database environments. The Oracle XML database is very rich in its features and supports almost all W3C XML standards or XML supporting standards. It can be used, among others, to generate XML, query XML, or expose data via XML or Web services.

This second presentation will follow up on why things work and others don't. It will give you an insight into what happens when you process, create, or handle XML and how to balance your design decisions to setup an environment that will last and perform. It will address XML Schema design and registration within the Oracle XML database, its advantages and disadvantages, and its effects on (X)SQL, PL/SQL, and XQuery performance.

The Oracle XML DB utility packages will be demonstrated to show you how it can make life a bit easier. Surprising effects on storing XML and its impact on overall query performance will be shown while dealing with fast amounts of XML data. At the end of this presentation, the dos and don'ts will be reviewed along with some more in-depth performance troubleshooting, via setting session and system events, to help you along when you need more information to solve the issue.

Session 8- 14:30 - 15:30
Say Goodbye to Hard Coding

Steven Feuerstein, Quest Software

Everyone knows that hard-coding is a bad idea. Too many developers, however, only think in terms of literal values when they think of hard-coding. There are, unfortunately, many ways that hard-coding manifests itself in our programs. This webinar offers a comprehensive look at all the types of hard-coding that can appear in your programs, from literals to explicit declarations to exposed formulas, and offers specific techniques to get rid of the hard-coding. The result is code that is much easier to read and to maintain


Track 3 Day 1

Session 1- 10:15 - 11:45
The Helsinki Declaratio: Thick Databases to the Rescue!
Toon Koppelaars, Rulegen
The demise of client/server architecture at the end of last century, gave way to lots of new approaches to build, mainly web, applications. A common trend in all new approaches has been to move logic out of the DBMS and put everything in middle tier servers. This of course is absolutely wrong. In this session we will show that code running outside the DBMS a) has serious scalability issues, and b) will need to be completely rewritten every 2-3 years. This ugly state of affairs can be prevented by adopting a database-centric approach to web application development. This approach, which has been presented several times yearly since 2003, was declared to be the only right one, when presented in 2008 in Helsinki to a Finnish Oracle developers and DBA audience (hence the title).
Adopting a database-centric development approach will, when done right, prevent the performance issues that mid-tier centric applications are known to suffer from. Window-on-Data applications (that query and transact data and are founded on a sound relational database design) will perform and scale an order of a magnitude better when all "business logic" is implemented inside the DBMS using PL/SQL and SQL. To prevent PL/SQL spaghetti, one must implement a layered architecture inside the DBMS. We will introduce such architecture somewhat mimicking the MVC design pattern and demonstrate its implementation by building a simple web-application during this presentation using Apex.

Session 3- 14:30 - 16:00
Advanced Web Programming (outside of APEX)

Filipe Silva, Universidade do Porto

Introduced in Oracle 8.1.6. the PL/SQL Web Toolkit provides a way to get build Internet (on Intranet) database-based websites, REST-like webservices and XML and JSON-like output to the Web.
In this session we will discuss how to provide security (avoid sql/injection, backlisting and whitelisting program access, etc.. ), to avoid unnecessary DB processing (use of client cache, ...),to add error management to your PL/SQL Web Toolkit programs and to make your website more Google friendly.

Session 4- 16:15 - 17:45
Automating PL/SQL Unit Tests
Andrew Clarke, Logica
Everybody agrees our programs should be tested, but nobody wants to test their own code. This is as much a psychological problem as a technical one. Automated unit tests attack both sides: they don’t just test our code; they help us as programmers deliver better code. This presentation covers the theory of automated unit testing, especially Test Driven Development, and covers some of the tools available to help test PL/SQL programs.

Return to Top


Track 3 Day 2

Session 6- 10:15 - 11:45
Programming with Oracle Types

Andrew Clarke
Oracle introduced Types way back in version 8.0, but they are not widely used, outside of bulk processing and pipelined functions.  There are several reasons for this situation but one is that database programmers often do not understand when Types could be useful. Types are a useful thing for a PL/SQL practitioner to have in their toolbox because there are problems which Types can solve more elegantly than other approaches.  This presentation introduces the object-oriented programming concepts and shows how Oracle Types implement them (or not), and also shows some of the scenarios where Types can be valuable.

Session 7- 12:45 - 14:15
PL/SQL Developer Tools Session
Patrick Barel, AMIS
In this session the main components, like the SQL Window (where you can run multiple queries at the same time, or just a single one), the Command window (SQL*Plus-like interface, to test the scripts you send out to production) and of course the PL/SQL program window of PL/SQL Developer will be presented. Along with a couple of tips and tricks like how can you make your environment fit like a glove (keyboard and tool bar settings), use drag-n-drop (almost) anywhere and use code-insight.

Use templates to start you development and apply standards right away. This tool helps to get the job done, fast. Everything you need is there and in case you might miss something, you can build your own plug in, using for Delphi or C++. Some plug ins will be covered that can help you make your day-to-day job easier. Use the PL/SQL Doc plug in for your documentation, use the comment-lines plug in to comment some lines out, while developing (also in the SQL Window), use the Favorites plug in for your frequently used scripts, use the Template plug in to reduce typing or choose from one of more than 40 plug ins. Optional PL/SQL Developer is your extensible toolbox.

Session 8- 14:30 - 15:30
Using the Oracle 11g Result Cache Feature
Rob van Wijk,CIBER Nederland
For most database developers, the single most important new feature of Oracle 11g is the result cache. This technical session will use demonstration scripts to explore all types of result caches and how they work, including the enhancements from 11g Release 2. The session will also take a deep dive into how concurrent access and invalidations are handled. If you know how and when to apply this functionality, you’ll do the end users of your applications a big favor.

Return to Top


 
bottom
An ODTUG Seriously Practical Conference | 910.452.7444 | www.odtug.com