From: thomas at tada.se (Thomas Hallgren) Date: Fri, 16 Nov 2007 13:47:15 +0100 Subject: [Pljava-dev] pljava talk at javaone In-Reply-To: References: <473C9464.60906@tada.se> <200711151524.46259.josh@agliodbs.com> <473D5EF9.60905@tada.se> Message-ID: <473D9153.5060900@tada.se> This looks great! I wish I could be there to listen. - thomas Tom Dunstan wrote: > On Nov 16, 2007 9:12 AM, Thomas Hallgren wrote: >> I think it would be great if you could combine. First some slides where you go over what PL/Java >> really is and then round up with a demo. > > Sorry, I forwarded my kinda rushed abstract / outline through to Josh, > but didn't CC the list. Here it is... anything missing / obviously > stupid? > > Thanks > > Tom > > > > Title: Knee Deep in the Data: Using PL/Java to Write Custom Functions > for PostgreSQL. > > > Abstract: > PL/Java is a PostgreSQL procedural language that allows developers to > write functions and triggers for the PostgreSQL open source database > using Java. This allows Java developers to get deeper into the > development stack, without having to leave Java's second-to-none > toolset and huge set of available libraries. > > The talk will describe the overall design of PL/Java and under what > circumstances it is a useful tool for Java developers. A demo of how > to use PL/Java to write database functions and triggers will follow, > including a demonstration of using a IDE debugger to step through a > function mid-transaction. > > Prerequisite knowledge: general use of SQL and JDBC. Demo may include > use of JPA. > > > Summary / Outline: > > - What's the problem? > - Performance > - Access to libraries > > - Introducing PostgreSQL > - Open Source, with support from Sun, Red Hat et al > - Highly flexible > - Other PL's > > - PL/Java > - Brief history > - Design - embedded JVM rather than separate process > > - Example problem > - Explain why standard JDBC/JPA less than ideal > - If only we could do this... > > - Demonstration > - Write database function in IDE > - Show deployment steps > - Drive from JDBC/JPA application > > - Another example: a trigger > - Data validation / correction using 3rd party library (e.g. HTML Tidy) > - Show how to write and deploy trigger > > - Why not use other, more established PostgreSQL PL's? > - Java devs familiar with Java > - Other imperative PL's can't do this: > > - Debugging > - Attach IDE debugger to PostgreSQL backed process > - Set breakpoints, poke around data etc > > - Embedded JDBC Driver > - Uses PostgreSQL SPI interface > > - Extensible Types > - PostgreSQL's User Defined Types > - Enums > - Completely different > - Can be interacted with using PL/Java > - Could write a UDT using PL/Java! > > - Future > - Upcoming / Blue Sky Features > > - Q & A > > Code Samples: Code from function and trigger demonstrations.