20071122 Kennis maken met APEX v1.

advertisement

Kennis maken met Application Express
Patrick Sinke, [email protected]
Michiel Jonkers, [email protected]
22 november 2007

1

 Motto: In het land der blinden…
 We streven in dit KC naar:
 Een eerste eenvoudige kennismaking met Application Express (APEX)
 Voldoende basis voor de APEX/ADF query op 17 december 2007
 Een beeld krijgen van welke onderwerpen jullie graag zien in komende
APEX KC’s
 Vanavond dus geen advanced features

2
Agenda











Geschiedenis van APEX
Architectuur
Ontwikkelen met APEX
APEX in de praktijk
Waar gaat het naar toe?
Demonstraties
Hoe te beginnen met APEX?
Wanneer is APEX een optie?
Diner
Workshop: Zelf aan de slag met APEX

3
Geschiedenis van APEX

•
•
•
•
•
•
•
•
One popular misconception is that it's a new version of
Web DB. Mike Hichwa created Web DB, a successful web
front-end
for WebDB
Oracle, (1999)
but the(aldus
development
of Web DB
Géén opvolger
van Oracle
Wikipedia)!!
started to move in a direction that diverged from Mike's
1.5 eerste versie
(feb 2004)
vision.
When tasked with building an internal web
calendar, Mike enlisted the help of Joel Kallman and
1.6 (december
2004) "Flows". They co-developed the Web Calendar
started
and Flows for several years, adding features to Flows as
2.0 (augustusthey
2005)
needed them for to develop the calendar. In the
days of
Flows, there was no front-end for it, so
HTML DB  earliest
Apex (januari
2006)
all changes to an application were made in SQL*Plus via
3.0 (februariinserts,
2007) updates and deletes. For a while, Flows and Web
DB shared a lot of code, but as the months went on,
most of that
code
was improved
or re-written. Sometime
3.1 (beta beschikbaar
voor
evaluatie
sinds gister)
around 2002 all Web DB code was removed from Flows.
in door;
some team
waysvan
APEX
evolution of Web DB, but it
OntwikkelingSo,
gaat
ca is20an
developers/PM’s
was really a fresh start with new code and no upgrade
path.

4
Architectuur

 Een metadata repository in schema FLOWS_030000(215 tabellen)
 Een ‘engine’ (200 PL/SQL objecten, 300.000 regels code)
 Sessiebeheer, authenticatie, autorisatie, genereren van pagina’s en verwerken
van pagina’s
 De PL/SQL engine genereert realtime HTML-pagina’s. Ontwikkelen is het via
een web-interface vullen van de repository met metadata
 Asynchrone sessies, sessiebeheer in de database, iedere page view wordt
afgehandeld in een nieuwe database sessie

5
Architectuur

 Op de client is geen software nodig voor het ontwikkelen en uitvoeren van
applicaties.
 Onderdeel van de Oracle 11g database, te installeren in Oracle databases
vanaf versie 9.2.3
 In APEX bevinden zich drie hoofdcomponenten:
 Application Builder – de ontwikkelomgeving om applicaties te ontwikkelen
 SQL Workshop – de omgeving om je database te ontwikkelen en te
verkennen en queries te schrijven.
 Utilities – onder andere utilities om bestanden en spreadsheets te
importeren in de database

6
APEX in Designer/Developer terminologie

Designer/Developer
Application Express
Designer repository
APEX repository
Design Editor
Application Builder
Modules
Pages
Genereren
Realtime rendering
Triggers
Validations en Page processing
BI Beans
Flash Charts
PL/SQL
PL/SQL, XML, Javascript en AJAX

7
Verschillen tussen APEX en Designer

Designer/Developer
Application Express
3-lagen architectuur
2-lagen architectuur
Synchrone database verbinding
Asynchrone database verbinding
Wel pessimistic locking
Geen pessimistic locking
Client/Server ontwikkelomgeving
Web ontwikkelomgeving
Rijke User Interface (Java)
Beperkte User Interface (HTML)
Eenmalig genereren
Realtime genereren
Upper CASE Tool
Prototyping
Duur
Gratis
`Mature`
Volop in ontwikkeling

8
Ontwikkelen met APEX

 Demonstratie van het ontwikkelen van schermen, rapportages en grafieken in
APEX
 Als je begint gebruik dan wizards voor het maken van schermen, rapporten en
grafieken:
 Excel upload wizard
 Een applicatie op bestaande tabellen bouwen
 Basisfunctionaliteit aanpassen
 Grafieken maken

9
APEX in de praktijk

 Voorbeelden van websites die zijn gebouwd met APEX:
 http://metalink.oracle.com
 http://apex.oracle.com
• For the Week ending 11/18/2007:
 1,647,648 total page views for the week
 2,076 distinct applications accessed during the week
 2,773 distinct users logged in throughout the week
 243 new workspaces approved in the past week
 Total Workspaces: 11,290
 http://asktom.oracle.com
 http://www.dgtournament.com
 http://www.iloveplsqland.net

10
Waar gaat het naartoe?

 Wat brengt de toekomst voor APEX?
 Rijkere UI op basis van declaratieve validaties
 Integratie met 3rd party tools
 Meer flexibiliteit voor eindgebruikers (zie de video van Carl Backstrom
http://carlback.blogspot.com/2007/09/apex-40-preview_14.html)
 Hoe positioneren we APEX naast de traditionele ontwikkeltools en ADF? Zijn
het concurrenten of antagonisten? Kom 17 december luisteren naar Dimitri
Gielis en Lucas Jellema.
 Gaat het aanslaan in Nederland? Nederland is in ieder geval geen early
adaptor gebleken. Wellicht toch meer voorkeur voor duurzame applicaties.
 Doe mee aan de evaluatie van APEX 3.1. en heb zelf invloed op de toekomst!

11
Demonstraties

 Demonstratie van een aantal packaged applications:
 RSS integration
 Amazon webstore
 Urenregistratie
 Discussion forum
 Document Library
 AJAX integratie

12
Hoe te beginnen met APEX? (1)

 Zet http://apex.oracle.com in je favorieten:

13
Hoe te beginnen met APEX? (2)

 Installeer APEX in een database of vraag een workspace aan op
http://apex.oracle.com
 Begin met “Oracle by Example”, een tutorial van 2 uur
 Download en installeer Packaged Applications (16 stuks) en bekijk de code
 Stel vragen (en geef antwoorden) op het Technet Forum (28.000 threads)
 Interessante blogs:
 Carl Backstrom (http://carlback.blogspot.com/)
 Patrick Wolf (http://inside-apex.blogspot.com/)
 Dimitri Gielis (http://dgielis.blogspot.com/)
 John Scott (http://jes.blogs.shellprompt.net/)
 …
 Interessante documentatie: Pro Oracle Application Express (april 2008)
 Trainingen: European APEX Training Days (maart 2008)

14
Wanneer is APEX een optie?

 Veel kennis aanwezig van SQL en PL/SQL
 Gegevens zitten in een Oracle database
 Zeker geschikt voor RAD, Throw-away applicaties, Ad Hoc oplossingen en het
delen van spreadsheets
 Overweeg APEX als er sprake is van een klein budget vanwege de lage
licentiekosten (of geen!)
 Overweeg de functionele eigenschappen van APEX per geval:
+ APEX is goed in het maken van overzichten en grafieken
- APEX heeft een beperkte user interface (JavaScript/AJAX is nog niet of
nauwelijks declaratief in schermen op te nemen)
+ Steile leercurve (zeker met kennis van SQL en PL/SQL)
- Versiebeheer in APEX is nog primitief
+ Applicaties staan beschreven in een repository
…

15
Diner

&

16
Download