270 likes | 289 Views
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.
E N D
ODTUG 2006 – Overview Lucas Jellema Business Intelligence SOA, BPEL Integration Java/J2EE
Zondag: 13.30 – 16.30 Pretty Java Server Faces Lucas Jellema AMIS, The Netherlands ODTUG 2006
Dinsdag: 8.30 - 9.30 Oracle Quiz on SQL and PL/SQLThe Water is Still BurningAlex Nuijten & Lucas JellemaAMIS, The Netherlands
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
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
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
Migration Result http://technology.amis.nl/blog/wp-content/images/jhsmig4.jpg
Woensdag: 9.45 – 10.45 PL/SQL Design PatternsPre-Inventing The Wheel ODTUG 2006 Lucas Jellema AMIS, The Netherlands
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!
Oracle Business Intelligence Strategie • Oracle Warehouse Builder 10gR2 is productie • Core ETL is nu onderdeel van database (licentie) • Drie extra opties – bovenop Enterprise Edition
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
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
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
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
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???
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
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”
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
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)
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
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
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??