Entwicklung von Web-Applikationen mit UIX · 2008-12-16 · 2 WEB-Applikationen mit UIX Database...

21
Entwicklung von Web-Applikationen mit UIX Entwicklung von Web-Applikationen mit UIX Sabine Klessa-Tönnes, i.B.A.G.S. GmbH Dr. Günter Unbescheid, Database Consult GmbH Sabine Klessa-Tönnes, i.B.A.G.S. GmbH Dr. Günter Unbescheid, Database Consult GmbH WEB-Applikationen mit UIX i.B.A.G.S. GmbH i.B.A.G.S. GmbH Gegründet 2000 Schwesterfirma der TerraSel Software GmbH Projektplanung und Projektmanagement • Datenbankanwendungen Planung, Entwurf, Modellierung und Erstellung Datenbankpflege und Administration WEB - Applikationen • Geo-Informationssysteme Gegründet 2000 Schwesterfirma der TerraSel Software GmbH Projektplanung und Projektmanagement • Datenbankanwendungen Planung, Entwurf, Modellierung und Erstellung Datenbankpflege und Administration WEB - Applikationen • Geo-Informationssysteme WEB-Applikationen mit UIX Database Database Consult Consult GmbH GmbH Gegründet 1996 Kompetenzen im Umfeld von ORACLE- basierten Systemen • Tätigkeitsbereiche Datenmodellierung und –design – Datenbankdesign – Systemanalysen Tuning, Installation, Konfiguration Support, Troubleshooting, DBA-Aufgaben Gegründet 1996 Kompetenzen im Umfeld von ORACLE- basierten Systemen • Tätigkeitsbereiche Datenmodellierung und –design – Datenbankdesign – Systemanalysen Tuning, Installation, Konfiguration Support, Troubleshooting, DBA-Aufgaben

Transcript of Entwicklung von Web-Applikationen mit UIX · 2008-12-16 · 2 WEB-Applikationen mit UIX Database...

Page 1: Entwicklung von Web-Applikationen mit UIX · 2008-12-16 · 2 WEB-Applikationen mit UIX Database Consult GmbH • Programmierumgebungen – SQL und PL/SQL – Oracle Forms und Reports,

1

Entwicklung von Web-Applikationen

mit UIX

Entwicklung von Web-Applikationen

mit UIXSabine Klessa-Tönnes, i.B.A.G.S. GmbH

Dr. Günter Unbescheid, Database Consult GmbHSabine Klessa-Tönnes, i.B.A.G.S. GmbH

Dr. Günter Unbescheid, Database Consult GmbH

WEB-Applikationen m

it UIX

i.B.A.G.S. GmbHi.B.A.G.S. GmbH

• Gegründet 2000• Schwesterfirma der TerraSel Software GmbH• Projektplanung und Projektmanagement• Datenbankanwendungen

– Planung, Entwurf, Modellierung und Erstellung– Datenbankpflege und Administration

• WEB - Applikationen• Geo-Informationssysteme

• Gegründet 2000• Schwesterfirma der TerraSel Software GmbH• Projektplanung und Projektmanagement• Datenbankanwendungen

– Planung, Entwurf, Modellierung und Erstellung– Datenbankpflege und Administration

• WEB - Applikationen• Geo-Informationssysteme

WEB-Applikationen m

it UIX

DatabaseDatabase ConsultConsult GmbHGmbH

• Gegründet 1996• Kompetenzen im Umfeld von ORACLE-

basierten Systemen• Tätigkeitsbereiche

– Datenmodellierung und –design– Datenbankdesign– Systemanalysen– Tuning, Installation, Konfiguration– Support, Troubleshooting, DBA-Aufgaben

• Gegründet 1996• Kompetenzen im Umfeld von ORACLE-

basierten Systemen• Tätigkeitsbereiche

– Datenmodellierung und –design– Datenbankdesign– Systemanalysen– Tuning, Installation, Konfiguration– Support, Troubleshooting, DBA-Aufgaben

Page 2: Entwicklung von Web-Applikationen mit UIX · 2008-12-16 · 2 WEB-Applikationen mit UIX Database Consult GmbH • Programmierumgebungen – SQL und PL/SQL – Oracle Forms und Reports,

2

WEB-Applikationen m

it UIX

DatabaseDatabase ConsultConsult GmbHGmbH

• Programmierumgebungen– SQL und PL/SQL– Oracle Forms und Reports, Delphi– Java, JSP und Servlets, BC4J und UIX-Framew.

• Projekte– Komplette Anwendungsentwicklung– Inhouse-Schulungen– Coaching– Support

• Programmierumgebungen– SQL und PL/SQL– Oracle Forms und Reports, Delphi– Java, JSP und Servlets, BC4J und UIX-Framew.

• Projekte– Komplette Anwendungsentwicklung– Inhouse-Schulungen– Coaching– Support

WEB-Applikationen m

it UIX

AgendaAgenda

• Teil 1 – Grundlagen der UIX-Technik– Einführung– Demo– Architektur und Standards– Generierung der BC4J-Schicht, UIX-Seiten

• Teil 2 – Elementare Anwendungsbausteine– Page Layout und Stylesheet– Standard-Tags, LOV– Event- und Errorhandling– Databinding und BC4J-Integration

• Teil 3 – Ausblick: JDeveloper 10g und ADF UIX

• Teil 1 – Grundlagen der UIX-Technik– Einführung– Demo– Architektur und Standards– Generierung der BC4J-Schicht, UIX-Seiten

• Teil 2 – Elementare Anwendungsbausteine– Page Layout und Stylesheet– Standard-Tags, LOV– Event- und Errorhandling– Databinding und BC4J-Integration

• Teil 3 – Ausblick: JDeveloper 10g und ADF UIX

WEB-Applikationen m

it UIX

EinführungEinführung

• User Inderface XML• J2EE-basiertes Framework zur Erstellung von

Web-Applikationen– Java-Klassen zur Generierung von Seiteninhalten

(presentation layer) und Kontrollflüssen– Renderer zu unterschiedlichen Visualisierungen

(HTML, WML)– UIX-Language zur deklarativen Erstellung von

Seiten und Kontrollflüssen

• User Inderface XML• J2EE-basiertes Framework zur Erstellung von

Web-Applikationen– Java-Klassen zur Generierung von Seiteninhalten

(presentation layer) und Kontrollflüssen– Renderer zu unterschiedlichen Visualisierungen

(HTML, WML)– UIX-Language zur deklarativen Erstellung von

Seiten und Kontrollflüssen

Page 3: Entwicklung von Web-Applikationen mit UIX · 2008-12-16 · 2 WEB-Applikationen mit UIX Database Consult GmbH • Programmierumgebungen – SQL und PL/SQL – Oracle Forms und Reports,

3

WEB-Applikationen m

it UIX

EinführungEinführung

• Typische 3-Schichten Architektur

• Gute Umsetzung des MVC-Prinzips– Model: enterprise data,

business rules– View: Abfrage und

Darstellung der Daten– Controler: setzt Aktionen um

• Effiziente Seitengestaltung für "standardisierte" Anforderungen

• Gut für "transaktionale" Arbeit mit den Daten

• Typische 3-Schichten Architektur

• Gute Umsetzung des MVC-Prinzips– Model: enterprise data,

business rules– View: Abfrage und

Darstellung der Daten– Controler: setzt Aktionen um

• Effiziente Seitengestaltung für "standardisierte" Anforderungen

• Gut für "transaktionale" Arbeit mit den Daten

WEB-Applikationen m

it UIX

DemoDemo

• Produktive Anwendung zu Planung und Erfassung von Versuchen und Messdaten

• Joint-Venture Database Consult und i.B.A.G.S.

• Bausteine– UIX Language zur Seitendefinition, Kontrollfluss– BC4J für die Persistenzschicht– Eigene Java Beans für Authentifizierung etc.– Relationales Modell mit Table API und eigenen

PL/SQL-Prozeduren

• Produktive Anwendung zu Planung und Erfassung von Versuchen und Messdaten

• Joint-Venture Database Consult und i.B.A.G.S.

• Bausteine– UIX Language zur Seitendefinition, Kontrollfluss– BC4J für die Persistenzschicht– Eigene Java Beans für Authentifizierung etc.– Relationales Modell mit Table API und eigenen

PL/SQL-Prozeduren

WEB-Applikationen m

it UIX

DemoDemo

• Eingestzte Tools:– JDeveloper 9.0.3.2 – UIX und Bc4J, Deployment– Oracle9i Designer – Datenmodell, Table API

• Betrieben derzeit unter OC4J (OracleApplication Server Containers for J2EE )

• Datehaltung in Oracle 9iR2

• Eingestzte Tools:– JDeveloper 9.0.3.2 – UIX und Bc4J, Deployment– Oracle9i Designer – Datenmodell, Table API

• Betrieben derzeit unter OC4J (OracleApplication Server Containers for J2EE )

• Datehaltung in Oracle 9iR2

Demo

Page 4: Entwicklung von Web-Applikationen mit UIX · 2008-12-16 · 2 WEB-Applikationen mit UIX Database Consult GmbH • Programmierumgebungen – SQL und PL/SQL – Oracle Forms und Reports,

4

WEB-Applikationen m

it UIX

UIXUIX--Bausteine (1)Bausteine (1)

• UIX Components– User interface (UI) components

• Layout- und Kontrollelemente für Seiten: buttons,checkboxes etc.

• Implementiert als Java Beans

– Renderers• Darstellungen abhängig von Client devices

– Java Code liegt in Package oracle.cabo.ui und abhängigen

• UIX Components– User interface (UI) components

• Layout- und Kontrollelemente für Seiten: buttons,checkboxes etc.

• Implementiert als Java Beans

– Renderers• Darstellungen abhängig von Client devices

– Java Code liegt in Package oracle.cabo.ui und abhängigen

WEB-Applikationen m

it UIX

UIXUIX--Bausteine (2)Bausteine (2)

• UIX Controller– Kontrolliert Navigation zwischen den Seiten– Implementiert als J2EE-Servlet– Java Code liegt in Package oracle.cabo.servlet

und abhhängigen• Dynamic Images

– Dynamische Generierung von Images– Trennung von Graphik und Text – einfache

Lokalisierung– Code liegt im Package oracle.cabo.image

• UIX Controller– Kontrolliert Navigation zwischen den Seiten– Implementiert als J2EE-Servlet– Java Code liegt in Package oracle.cabo.servlet

und abhhängigen• Dynamic Images

– Dynamische Generierung von Images– Trennung von Graphik und Text – einfache

Lokalisierung– Code liegt im Package oracle.cabo.image

WEB-Applikationen m

it UIX

UIXUIX--Bausteine (3)Bausteine (3)

• UIX Styles– Zentrale Definition des Erscheinungsbildes– oracle.cabo.style

• UIX Share– Allgemeine UIX-Klassen– oracle.cabo.share

• UIX Styles– Zentrale Definition des Erscheinungsbildes– oracle.cabo.style

• UIX Share– Allgemeine UIX-Klassen– oracle.cabo.share

Page 5: Entwicklung von Web-Applikationen mit UIX · 2008-12-16 · 2 WEB-Applikationen mit UIX Database Consult GmbH • Programmierumgebungen – SQL und PL/SQL – Oracle Forms und Reports,

5

WEB-Applikationen m

it UIX

UIXUIX--Bausteine (4)Bausteine (4)

• UIX Language– "Oberste" UIX-Schicht – XML-Dialekt– Deklarative Sprache für user interfaces, data

bindings, events – Umsetzung in Java Objekte– oracle.cabo.ui.xml und oracle.cabo.servlet.xml– Tags für

• UIX components• Data binding• Error handling• Event handling• Templates

• UIX Language– "Oberste" UIX-Schicht – XML-Dialekt– Deklarative Sprache für user interfaces, data

bindings, events – Umsetzung in Java Objekte– oracle.cabo.ui.xml und oracle.cabo.servlet.xml– Tags für

• UIX components• Data binding• Error handling• Event handling• Templates

WEB-Applikationen m

it UIX

Graphische ElementeGraphische ElementeW

EB-Applikationen mit U

IX

BC4JBC4J

• Eine Möglichkeit für persistence layer• Business Components for Java• Framework in Java und XML für

wiederverwendbare Business Components• Entity Object – Associations

– Java-Klasse + XML-Metadaten– Mapping zu DB-Tabelle, View oder Synonym– Zusätzliche Einbettung von Business-Logik und

Validierungen– Zugriff über View Objekte

• Eine Möglichkeit für persistence layer• Business Components for Java• Framework in Java und XML für

wiederverwendbare Business Components• Entity Object – Associations

– Java-Klasse + XML-Metadaten– Mapping zu DB-Tabelle, View oder Synonym– Zusätzliche Einbettung von Business-Logik und

Validierungen– Zugriff über View Objekte

Page 6: Entwicklung von Web-Applikationen mit UIX · 2008-12-16 · 2 WEB-Applikationen mit UIX Database Consult GmbH • Programmierumgebungen – SQL und PL/SQL – Oracle Forms und Reports,

6

WEB-Applikationen m

it UIX

BC4JBC4J

• View Object – View Links– Zugriff auf Entity-Objekte– Filtern Attribute, Rows

• Application Module– Logischer Container für Instanzen von View-

Objekte, Links, Transaktionen etc.

• View Object – View Links– Zugriff auf Entity-Objekte– Filtern Attribute, Rows

• Application Module– Logischer Container für Instanzen von View-

Objekte, Links, Transaktionen etc.

WEB-Applikationen m

it UIX

BC4JBC4JW

EB-Applikationen mit U

IX

GesamtsichtGesamtsicht

UIX-Language

UIX-Components UIX-Controller

Dyn. Images

UIX-StylesUIX

Sha

re

BC4J

Datenbank

Browser

middle tier

Page 7: Entwicklung von Web-Applikationen mit UIX · 2008-12-16 · 2 WEB-Applikationen mit UIX Database Consult GmbH • Programmierumgebungen – SQL und PL/SQL – Oracle Forms und Reports,

7

WEB-Applikationen m

it UIX

UIXUIX--KonzepteKonzepte

UIX-Datei = UIX-Seite Baum von UI-Nodes

UIX-Node Repräsentation eines UI-Elements

named children Abhängig von UI-Node

Indexed children Innerhalb von <contents>

WEB-Applikationen m

it UIX

DemoDemo

• UIX Programmierung empfohlen über JDeveloper

• Prozedere– Workspace: Gruppierung von Projekten– Project: Gruppierung von Dateien einer Applikation– BC4J-Generierung für Persistenzschicht– UIX-Generierung und Prgrammierung

• UIX Programmierung empfohlen über JDeveloper

• Prozedere– Workspace: Gruppierung von Projekten– Project: Gruppierung von Dateien einer Applikation– BC4J-Generierung für Persistenzschicht– UIX-Generierung und Prgrammierung

WEB-Applikationen m

it UIX

Demo:Demo: WorkspaceWorkspace anlegenanlegen

• Rechte Maustaste – "new Workspace"• Pfad- und Dateiangaben machen• JWS-Datei wird in gleichnamigem Verzeichnis

angelegt

• Rechte Maustaste – "new Workspace"• Pfad- und Dateiangaben machen• JWS-Datei wird in gleichnamigem Verzeichnis

angelegt<?xml version = '1.0' encoding = 'windows-1252'?><workspace xmlns="http://xmlns.oracle.com/jdeveloper/903/workspace" nselem="workspace" class="oracle.ide.model.Workspace">

<activeProjectURL path="Project1/Project1.jpr" id="1"/><listOfChildren class="oracle.ide.model.DataList">

<Item class="oracle.ide.model.Reference"><URL path="BC4J/BC4J.jpr"/><nodeClass id="0">oracle.jdeveloper.model.JProject</nodeClass>

</Item><Item class="oracle.ide.model.Reference">

<URL path="UIX/UIX.jpr"/><nodeClass idref="0"/>

</Item> ...

Page 8: Entwicklung von Web-Applikationen mit UIX · 2008-12-16 · 2 WEB-Applikationen mit UIX Database Consult GmbH • Programmierumgebungen – SQL und PL/SQL – Oracle Forms und Reports,

8

WEB-Applikationen m

it UIX

Demo: Projekt anlegenDemo: Projekt anlegen

• Workspace auswählen• Rechte Maustaste – "new empty project"• Pfad- und Dateiangaben machen• JPR-Datei wird in entprechendem Verzeichnis

angelegt

• Workspace auswählen• Rechte Maustaste – "new empty project"• Pfad- und Dateiangaben machen• JPR-Datei wird in entprechendem Verzeichnis

angelegt<?xml version = '1.0' encoding = 'windows-1252'?><project xmlns="http://xmlns.oracle.com/jdeveloper/903/jproject"

nselem="project" class="oracle.jdeveloper.model.JProject"><defaultPackage>mypackage4</defaultPackage><defaultPackages class="java.util.ArrayList">

<Item class="java.lang.String">mypackage4</Item></defaultPackages><dependencyList/><htmlRootDirectory path="public_html/"/><j2eeWebAppName>BasisTest-Project1-webapp</j2eeWebAppName><j2eeWebContextRoot>BasisTest-Project1-context-root</j2eeWebContextRoot><listOfChildren class="oracle.ide.model.DataList"/> ...

WEB-Applikationen m

it UIX

BC4J Komponenten generierenBC4J Komponenten generieren

• Workspace auswählen• RMT "New Project", rechts "Project containing new

Business Components"• Über Wizzard

– Source- und Klassenpfade– Default Packagename– "Entity Objects mapped to Database Schema Objects"– Connection-Auswahl und Objectauswahl

• Klassen und XML-Dateien für Entity- und View-Objekte sowie Application Module

• BC4J-Konfigurationsdateien

• Workspace auswählen• RMT "New Project", rechts "Project containing new

Business Components"• Über Wizzard

– Source- und Klassenpfade– Default Packagename– "Entity Objects mapped to Database Schema Objects"– Connection-Auswahl und Objectauswahl

• Klassen und XML-Dateien für Entity- und View-Objekte sowie Application Module

• BC4J-Konfigurationsdateien

WEB-Applikationen m

it UIX

ClientClient DatamodelDatamodel anlegenanlegen

• Verbindet ein Projekt mit einer Persistenzschicht (BC4J Application Module)

• Projekt auswählen• Rechte Maustaste – "New"• "Web Tier" – "uiXML for BusinessComponents" – rechts "BusinessComponents Client Data Model"– Erzeugt CPX-Datei im Java-Sourcepath

• Verbindet ein Projekt mit einer Persistenzschicht (BC4J Application Module)

• Projekt auswählen• Rechte Maustaste – "New"• "Web Tier" – "uiXML for BusinessComponents" – rechts "BusinessComponents Client Data Model"– Erzeugt CPX-Datei im Java-Sourcepath

Page 9: Entwicklung von Web-Applikationen mit UIX · 2008-12-16 · 2 WEB-Applikationen mit UIX Database Consult GmbH • Programmierumgebungen – SQL und PL/SQL – Oracle Forms und Reports,

9

WEB-Applikationen m

it UIX

UIXUIX ApplicationApplication generierengenerieren

• RMT "new" – "uiXML for BusinessComponents" – "complete uiXML Application" oder "uiXML Browse &Edit Form"

• Erstellt J2EE Verzeichnisstruktur– Public_html mit WEB-INF u.a.– Uix-Dateien (*create, *view, *update)– Deployment Descriptor (web.xml)

• RMT "new" – "uiXML for BusinessComponents" – "complete uiXML Application" oder "uiXML Browse &Edit Form"

• Erstellt J2EE Verzeichnisstruktur– Public_html mit WEB-INF u.a.– Uix-Dateien (*create, *view, *update)– Deployment Descriptor (web.xml)

WEB-Applikationen m

it UIX

Anwendung (1)Anwendung (1)W

EB-Applikationen mit U

IX

Anwendung (2)Anwendung (2)

Page 10: Entwicklung von Web-Applikationen mit UIX · 2008-12-16 · 2 WEB-Applikationen mit UIX Database Consult GmbH • Programmierumgebungen – SQL und PL/SQL – Oracle Forms und Reports,

10

WEB-Applikationen m

it UIX

Anwendung (3)Anwendung (3)

WEB-Applikationen m

it UIX

Anwendung (4)Anwendung (4)W

EB-Applikationen mit U

IX

Anwendung (5)Anwendung (5)

Page 11: Entwicklung von Web-Applikationen mit UIX · 2008-12-16 · 2 WEB-Applikationen mit UIX Database Consult GmbH • Programmierumgebungen – SQL und PL/SQL – Oracle Forms und Reports,

11

WEB-Applikationen m

it UIX

Demo Teil 1Demo Teil 1

WEB-Applikationen m

it UIX

• UIX Controller Element• Root-Element der UIX Page• Beschreibung der Seitenkomponenten

(required)• Liste der beauftragten Event-Handler• Import und Definition der Templates<?xml version="1.0“ encodeing="windows-1252“?><page><content> ... </content><handlers> ... </handlers><templates> ... </templates>

</page>

<<pagepage> > -- ElementElementW

EB-Applikationen mit U

IX

• Root-Element des Seiteninhalts• Muss mindestens eine UINode beinhalten• Alle von der UINode abstammenden

Elemente können verwendet werdenBEISPIEL:<page><content>

<pageLayout xmlns="http://xmlns.oracle.com/uix/ui">...

</pageLayout></content>

</page>

<<contentcontent> > -- ElementElement

Page 12: Entwicklung von Web-Applikationen mit UIX · 2008-12-16 · 2 WEB-Applikationen mit UIX Database Consult GmbH • Programmierumgebungen – SQL und PL/SQL – Oracle Forms und Reports,

12

WEB-Applikationen m

it UIX

Demo Teil 2Demo Teil 2

WEB-Applikationen m

it UIX

• Layout-Element zur Seitengestaltung• Vergleichbar mit einem Template• Liefert verschiedene Content-Bereiche zur

Erstellung der Benutzeroberfläche<productBranding> ... </productBranding><globalButtons> ... </globalButtons><start> ... </start><userInfo> ... </userInfo><copyright> ... </copyright><contents> ... </contents> etc.

<<pageLayoutpageLayout> > -- Element (1)Element (1)W

EB-Applikationen mit U

IX

productBranding globalButtons

userInfo

startcontents

copyright

<<pageLayoutpageLayout> > -- Element (2)Element (2)

Page 13: Entwicklung von Web-Applikationen mit UIX · 2008-12-16 · 2 WEB-Applikationen mit UIX Database Consult GmbH • Programmierumgebungen – SQL und PL/SQL – Oracle Forms und Reports,

13

WEB-Applikationen m

it UIX

Demo Teil 3Demo Teil 3

WEB-Applikationen m

it UIX• pageLayout

• stackLayout• flowLayout• labeledFieldLayout• tableLayout / rowLayout / cellFormat• etc.

Layout Layout -- ElementeElementeW

EB-Applikationen mit U

IX• <header>• <image>• <styledText>• <spacer>• <link>• <globalButton>

Basis Basis –– Elemente (1)Elemente (1)

Page 14: Entwicklung von Web-Applikationen mit UIX · 2008-12-16 · 2 WEB-Applikationen mit UIX Database Consult GmbH • Programmierumgebungen – SQL und PL/SQL – Oracle Forms und Reports,

14

WEB-Applikationen m

it UIX

• <textInput>• <choice> <option>• <checkBox>• <radioButton>• <dateField>• <submitButton>• <resetButton>• <form>• <message*> z.B. <messageTextInput>

Basis Basis –– Elemente (2)Elemente (2)

WEB-Applikationen m

it UIX

Demo Teil 4Demo Teil 4

WEB-Applikationen m

it UIX

• Browser Look And Feel• XML Style Sheet Language• Definition von Farben und Schriftfonts• Styles werden in Browser-, Lokale- und

Platform spezifische css-Styles konvertiert• Blaf.xss nicht direkt überschreiben• Import der blaf.xss in eigene *.xss-Datei• ...\public_html\cabo\styles

blafblaf..xss xss (1)(1)

Page 15: Entwicklung von Web-Applikationen mit UIX · 2008-12-16 · 2 WEB-Applikationen mit UIX Database Consult GmbH • Programmierumgebungen – SQL und PL/SQL – Oracle Forms und Reports,

15

WEB-Applikationen m

it UIX

• Anpassung der übergeordneten Styles ausreichend (z.B. DefaultFontFamily, DarkBackground, ...)

• Alle anderen Styles sind abhängig• Eigene Styles/StyleSheets können definiert

werden<styleSheetDocument xmlns="http://xmlns.oracle.com/uix/style version="2.0"><import name="blaf.xss"/><styleSheet> ... </styleSheet><styleSheet browsers="ie"> ... </styleSheet>

</styleSheetDocument>

blafblaf..xssxss (2)(2)

WEB-Applikationen m

it UIX

Demo Teil 5Demo Teil 5

WEB-Applikationen m

it UIX

• Dynamische Anbindung von Daten• Jedes Attribut einer Komponente kann mit

dem DataBinding versorgt werden• Namespace für das DataBinding

xmlns:data=http://xmlns.oracle.com/uix/ui

• DataBinding ist unabhängig von der Datenquelle (JDBC, EJB, etc.)

DataBinding DataBinding (1)(1)

Page 16: Entwicklung von Web-Applikationen mit UIX · 2008-12-16 · 2 WEB-Applikationen mit UIX Database Consult GmbH • Programmierumgebungen – SQL und PL/SQL – Oracle Forms und Reports,

16

WEB-Applikationen m

it UIX

• Sammlung von DatenObjekten• DatenObjekt ist eine Sammlung von Daten

- <inline> (into the UIX Page)- <method> (from static Methode)- <bean> (Java-Bean)- <bundle> (ResourceBundle)- <instance> (from Class)

• Werden innerhalb des <dataScope>-Tags spezifiziert

• Ein Java-Provider liefert ein DataObject. Die Attributwerte werden daraus per Key ermittelt

DataProviderDataProvider

WEB-Applikationen m

it UIX

• Syntax für die DatenQuelle: Key@Provider

• Namespace-Name muss angegeben werden

Beispiel:<dataScope xmlns="http://xmlns.oracle.com/uix/ui"><provider>

<data name="myFirstProvider"><inline myText="Text aus Provider" myValue="100"/>

</data><data name="mySecondProvider">

<method class="package.MyDataProvider" method="getText"/></data>

</provider><contents>

<textInput data:text="myText@myFirstProvider"/></contents>

</dataScope>

SimplesSimples DataBindingDataBindingW

EB-Applikationen mit U

IX

• Mit dem Tag boundAttribute kann eine komplexere Form des DataBindingdurchgeführt werden

• Das Attribut Name von boundAttribute muss identisch zu dem anzubindenden Attribut sein - Select gibt den Key an - Source gibt den Provider an

• Zu jedem Provider muss ein UIX-Datahandlerexistieren

Komplexes Komplexes DataBinding DataBinding (1)(1)

Page 17: Entwicklung von Web-Applikationen mit UIX · 2008-12-16 · 2 WEB-Applikationen mit UIX Database Consult GmbH • Programmierumgebungen – SQL und PL/SQL – Oracle Forms und Reports,

17

WEB-Applikationen m

it UIX

Beispiel Langform:<textInput text="test">

<boundAttribute name="text"><dataObject select="myText"

source=“myProvider"/></boundAttribute>

</textInput>

Beispiel Kurzform:<textInput data:text="myText@myProvider"

KomplexesKomplexes DataBindingDataBinding (2)(2)

WEB-Applikationen m

it UIX

DataProviderDataProvider // DataObjectDataObjectRendering ContextRendering Context // UINodesUINodes

WEB-Applikationen m

it UIX

Demo Teil 6Demo Teil 6

Page 18: Entwicklung von Web-Applikationen mit UIX · 2008-12-16 · 2 WEB-Applikationen mit UIX Database Consult GmbH • Programmierumgebungen – SQL und PL/SQL – Oracle Forms und Reports,

18

WEB-Applikationen m

it UIX

• Namespace für das Eventhandlingxmlns:ctrl=http://xmlns.oracle.com/uix/controller

• Events werden vom UIX Controller behandelt• Alle Elemente mit dem Attribut „destination“

unterstützen UIX Controllen Events• Alle Form-Parameter (Key-Value-Pairs)

stehen im EventHandling zur Verfügung• Java Interface ist PageEvent

EventsEvents // EventHandlingEventHandling

WEB-Applikationen m

it UIX

• Framework für Web Applikationen basierend auf dem Model-View-Controller-Konzept (MVC)

• PageFlow kann kontrolliert werden• Datenfluss zwischen den Views wird

kontrolliert• Gruppiert Seiten zu einer Applikation

UIX Controller (1)UIX Controller (1)W

EB-Applikationen mit U

IX

UIX Controller (2)UIX Controller (2)

Page 19: Entwicklung von Web-Applikationen mit UIX · 2008-12-16 · 2 WEB-Applikationen mit UIX Database Consult GmbH • Programmierumgebungen – SQL und PL/SQL – Oracle Forms und Reports,

19

WEB-Applikationen m

it UIX

Beispiele:<page>...<contents>

<link text="Vorherige" ctrl:event="myEvent"/><submitButton text="Nächste" ctrl:event="next"/>

</contents>...<handlers>

<event name="myEvent"><method class="package.MyClass" method="handleMyEvent"/>

</event><event name="next">

<go name="NextPage"/></event>

</handlers>

</page>

EventsEvents

WEB-Applikationen m

it UIX

Demo Teil 7Demo Teil 7

WEB-Applikationen m

it UIX

• Namespace für Templatesxmlns="http://xmlns.oracle.com/uix/controller"

• Einheitliche Seitengestaltung• Definition von Wiederholungsbereichen• Wiederverwendbarkeit• Erweitern von bestehenden Komponenten • Erstellen von neuen Komponenten• Tag-Definition: Ein Template entspricht einem

XML-Tag, leichte Verwendung• Unterstützt DataBinding

Templates Templates (1)(1)

Page 20: Entwicklung von Web-Applikationen mit UIX · 2008-12-16 · 2 WEB-Applikationen mit UIX Database Consult GmbH • Programmierumgebungen – SQL und PL/SQL – Oracle Forms und Reports,

20

WEB-Applikationen m

it UIX

• Root-Element <tempalteDefinition>• targetNamespace = Namensraum des

Templates• localName = Definiertert Tag-Name innerhalb

des Namespace• Dateierweiterung *.uit

TemplateTemplate--DefinitionDefinition

WEB-Applikationen m

it UIX

• Können nicht direkt angezeigt werden• Müssen vor <head> bzw. <content>-Element

importiert werden• Einzeltemplates können in einer

TemplateLibrary zusammengefasst und importiert werden

Templates Templates (2)(2)W

EB-Applikationen mit U

IX

Demo Teil 8Demo Teil 8

Page 21: Entwicklung von Web-Applikationen mit UIX · 2008-12-16 · 2 WEB-Applikationen mit UIX Database Consult GmbH • Programmierumgebungen – SQL und PL/SQL – Oracle Forms und Reports,

21

WEB-Applikationen m

it UIX

• Verknüpfung über das Client Data Model• Registrierung des Applikation Moduls in der

UIX Page• Deklarieren von ViewObjekten/Rows• Definition der BC4J-Scope Bereiche für

ApplikationModul, ViewObject, Row ...• Erweiterung jeder UI-Komponente um

„attrName“ für das DataBinding per BC4J• <keyStamp>-Element für TableBean

BC4JBC4J--IntegrationIntegration

WEB-Applikationen m

it UIX

AusblickAusblick

• Application Developement Environment

• Implementiert über JDeveloper 10g

• Verstärkte graphische Entwicklungs-möglichkeiten

• Application Developement Environment

• Implementiert über JDeveloper 10g

• Verstärkte graphische Entwicklungs-möglichkeiten

WEB-Applikationen m

it UIXVielen Dank für´s Zuhören

www.ibags.dewww.database-consult.de