1 / 27

PL/SQL Design Patterns: Bringing Abstraction to Oracle Developers

This presentation introduces design patterns in PL/SQL development, bridging the gap between high-level abstraction and practical implementation. It covers common patterns, such as dependency injection and observer pattern, with PL/SQL examples and their relevance to Oracle development.

joanlouis
Download Presentation

PL/SQL Design Patterns: Bringing Abstraction to Oracle Developers

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ODTUG 2006 – Overview Lucas Jellema Business Intelligence SOA, BPEL Integration Java/J2EE

  2. Zondag: 13.30 – 16.30 Pretty Java Server Faces Lucas Jellema AMIS, The Netherlands ODTUG 2006

  3. Dinsdag: 8.30 - 9.30 Oracle Quiz on SQL and PL/SQLThe Water is Still BurningAlex Nuijten & Lucas JellemaAMIS, The Netherlands

  4. Dinsdag 11.00 – 12.00 Migrating Oracle Forms to ADF and JSF using JHeadstart Lucas Jellema AMIS, The Netherlands (on behalf of Steven Davelaar) ODTUG 2006

  5. JDeveloper Manual Page Refinement Oracle Designer Repository Object Navigator & Design Editor Module Components Layout, Item Groups, CRUD Application Logic Domains Generate Oracle Forms application Introducing JHeadstart compared to Oracle Designer JHeadstart • JDeveloper plugin • Application Definition • Layout, lookup, master/detail, domains, regions, CRUD • Generate ADF Faces application Actions • Meta-data for Module Definition • CRUD, layout, prompt, boiler-plate text • Templates Generate! Actions • Manual Page Refinement using Editors, Wizards and Property Palettes Forms Builder • Manual Page Refinement

  6. JDeveloper Oracle Designer Generating with JHeadstart Stand-Alone or Migrate Oracle Designer & Forms JHeadstart Actions • Meta-data for Module Definition • Templates Generate! Oracle Designer JHeadstart Designer Generator Design Capture Actions • Manual Page Refinement Forms Builder

  7. The ODTUG Conference Manager

  8. Migration Result http://technology.amis.nl/blog/wp-content/images/jhsmig4.jpg

  9. Woensdag: 9.45 – 10.45 PL/SQL Design PatternsPre-Inventing The Wheel ODTUG 2006 Lucas Jellema AMIS, The Netherlands

  10. Suggesties achteraf van Steven Feuerstein… • Congratulations again on a fine presentation. Before too much time passes, I will give you some feedback. As I said, I hope you continue to give this presentation...it is an important one in our space... • * Intro: you mention that design patterns don't even originally come from software. I assume you were talking about Christopher Alexander? • But you never said. You might want to close that loop. I find it fascinating. • * I think I am a fairly typical PL/SQL developer in that I don't have an indepth IT background/education. Highly abstract ideas tend to confuse me and make it hard for me to engage with the material. This is part of the problem I have with Fowler's refactoring and G of 4 design patterns. Lots of fancy talk and big words for what are often very common-sensical ideas. Your talk attempts to bring the DP world to PL/SQL developers by carrying over that fairly high level of abstraction, and I believe that for many it makes it harder to grasp. • * I would first of all start by stating a problem. Then show how the specific problem is reflective of a more general class. Show a PL/SQL solution, then reframe it as an example of a particular design pattern. That is, you get people to think more abstractly by moving them from specific to general, not by presenting a highly general pattern as the starting point. Example: Dependency injection = "Avoid hard-coding values" Here are your options, typical approach perhaps not so great, what about THIS idea? Ah and it is a common pattern.... • * I think you should say somewhere, maybe at the end, that these design patterns often seem like a fancy name for something obvious or common. Then explain the benefit of thinking about it in more general terms, as a pattern. • * slide 11: you might want to distinguish that OO patterns may not fit procedural PL/SQL, but surely if you are using OTs they can fit pretty well! And again, rather than point out where all those OO patterns may not apply, START with PL/SQL / database programming patterns that clearly DO apply! • * I suggest that at the end of each individual pattern presentation, you ask for questions before moving on the next. This can be a challenge on time, but worth it to engage the audience more, esp with something this abstract. Also, if you START with a PL/SQL example/pattern, you can involve the audience by asking them to see if they can identify a pattern within the code...have them think "up" • to a pattern WITH you. • * The observer pattern: again, so abstract, but really not uncommon in the Oracle world: DBMS_ALERT (which few use, but many are aware of)...make those linkages to help people understand more easily. • * You mention 40 as milliseconds but it is hundredths of seconds, correct? • * Cover LESS in your talk. Do a WHOLE separate talk on AOP in PL/SQL, but don't do it in this talk. If you take the above approach of starting with a common PL/SQL problem and generalizing to a pattern, you will not be able to cover so much.... • * With AOP, I suggest that you provide an example that shows an app registering several services/aspects, much like you would want to do in a "real" app: register logger; register exception handler; register ... • Well, I hope you find this helpful. You are a fine presenter and I am glad you are joining me to push the limits of how people use and think about PL/SQL!

  11. Oracle Business Intelligence Strategie • Oracle Warehouse Builder 10gR2 is productie • Core ETL is nu onderdeel van database (licentie) • Drie extra opties – bovenop Enterprise Edition

  12. Oracle Business Intelligence Strategie • Siebel Analytics Server nu Oracle BI Server • Siebel heeft substantieel marktaandeel in BI, vooral voor zeer grote ondernemingen • Lufthansa, Cisco Systems, Etos, Xerox, Microsoft, IBM • Pre-packaged ETL processen en OLAP kubussen voor SAP, Siebel, Oracle Applications en JDEdwards • XML Publisher wordt BI Publisher $ 225k per CPU

  13. Oracle BI Server • C++ applicatie • ODBC en SOAP interface, that enables virtually any ODBC-capable report writer or query tool to query the Oracle Business Intelligence Analytics Server as if it were a database • Verzamelt data uit allerlei bronsystemen zoals RBDMS, Microsoft Analysis Services cubes en SAP BW • Geen voorkeur voor Oracle database, geen profijt van specifieke Oracle functionaliteit • Draait op UNIX en Windows – nog niet op LINUX

  14. Oracle BI Suite Standard Edition • ‘Traditionele’ Oracle BI Tools • Discoverer – Plus en OLAP • Spreadsheet OLAP Plugin (voor Excel) • BI Beans • Oracle Reports • $400 per named user

  15. Oracle BI Suite Standard Edition • Discoverer: • Geen gedwongen migratie • 20.000 Discoverer klanten • Geen ingrijpende nieuwe functionaliteit, wel nieuwe releases (10.1.2.2, 11g) • OLAP Spreadsheet Addin • Write back to database, share with other users • Floating editor, integrated Excel taskbar • Connectie met Discoverer Catalog • BI Beans • Verbeterd met de look & feel van Siebel web componenten • Thick Client beans gaan verdwijnen • Basis voor Discoverer en Enterprise Planning & Budgetting

  16. Oracle Forms • Oracle Apps 12 op Forms 10.1.2 • Release eind 2006??? • Oracle 10gAS 10.1.3 krijgt geen Forms Server • Forms 11g • JavaScript API • Betere Application Server integration (SSO/LDAP, EM Grid Control) • Call out from Forms to BPEL Processes, to Java Middle Tier and External WebServices • Trigger Forms events with external events from AQ • Tuning Wizard • Support for Database Proxy Users • Release begin 2008???

  17. Oracle Designer • Certificatie voor 10gR2, 11g en verder • Ontwikkelaars kunnen eigen uitbreidingen op Designer via een extensie-programma aan het core product laten toevoegen • ROB Insert, Update, Delete

  18. Oracle BPEL PM • Weinig presentaties specifiek over BPEL PM • Wel veel referenties naar BPEL PM • Alle producten willen zich graag daarmee associeren • Forms in a SOA world • ADF Faces front end for BPEL Processes • BI for BAM for BPEL Processes • How PL/SQL can participate in a SOA • APEX and BPEL • SQL Developer meets BPEL PM …. • Clemens ‘machine gun’ Utschig deed twee presentaties • Advanced BPEL – 45 man, 2 BPEL PM “gebruikers”

  19. Java/J2EE • JSF – Java Server Faces • (bijna) Geen Struts en ‘plain’ JSP te bekennen • Weinig (niets?) over EJB 3.0 Persistence • ADF Faces Rich Client Components • ADF: • Recipes • Security • Het boek van Duncan Mills en Peter Koletzke

  20. Tutti Frutti • General Session: • 50% Designer en/of Forms, 20% JDeveloper, tussen 10 en 20% SQL Developer, Warehouse Builder en APEX (voorheen HTML DB) • Database 11g • Specificaties bevroren • Beta rond OOW (najaar 2006?), Productie voorjaar 2007 (Linux) en najaar (Windows)? • Feature: Versioning • Data Mining • Gebruik DBMS_PREDICTIVE_ANALYTICS om relevante kolommen te vinden én waarden te voorspellen (10gR2)

  21. Dé onderwerpen om in de gaten te houden… • Oracle BPEL PM • ADF Faces (+ ADF BC en ADF Binding) • Rich Client Components • Oracle BI Suite (EE) • Oracle Warehouse Builder 10gR2 Core ETL • Forms, PL/SQL en SQL

  22. IJking AMIS Crossroads • Bevestigd: • ADF Faces • Forms • BPEL PM • Oracle Warehouse Builder • Oracle Portal, XML Publisher • (Her)overweging: • APEX (Application Express vh HTML DB) • Oracle BI Suite EE • BI Beans, Oracle OLAP • Oracle Reports

  23. Resultaten ODTUG 2006 voor AMIS • Naamsbekendheid, Zichtbaarheid en Image • Contacten • Oracle Product Managers – ADF, BI & OWB, SQL Developer, Designer, Forms, • Toppers in BI, DBA, PL/SQL … • Commerciele aanknopingspunten • Persoonlijke ontwikkeling • Kennis en inzichten, verificatie AMIS Crossroads • Stof tot nadenken, discussieren, bloggen etc. • Organisatie ODTUG-Europa in 2007??

More Related