forms 11g: ein blick hinter die kulissen - oracle · forms 11g seite 2 fmw beta2 2007 einladung zur...
TRANSCRIPT
Seite 1Forms 11g
Forms 11g: Ein Blick hinter die Kulissen
Gerd VolbergOPITZ CONSULTING
Seite 2Forms 11g
FMW Beta2 2007
● Einladung zur Fusion Middleware Beta in Redwood Shor es
● 5 Tage im Betatest-Campground
● 40 Tester aus der ganzen Welt (1 Oracle Forms, 2 Re ports)
● 50-60 Oracle Produktmanager standen uns die ganze Ze it zur Verfügung und halfen bei Problemen und Bugs
● Die Tester konnten eigene Ideen und Features mit einbringen, die teilweise über Nacht eingebaut wurd en.
Seite 3Forms 11g
Redwood Shores
Seite 4Forms 11g
New Features in Forms 11g
● Advanced Queuing● Architektur
● Events
● Neue Trigger
● Javascript API● Architektur
● Neue Trigger
● Neue Built-Ins
● Konfigurationsdateien
● Statement of Direction – November 2007
Seite 5Forms 11g
1 Advanced Queuing
Seite 6Forms 11g
Advanced Queuing: Architektur
Seite 7Forms 11g
Advanced Queuing: Anwendungsgebiete
Seite 8Forms 11g
Advanced Queuing: Anwendungsfall
Seite 9Forms 11g
Advanced Queuing
● Erstellen einer AQ
BEGIN
DBMS_AQADM.Create_Queue_Table (
queue_table => 'QU_TABLE',
queue_payload_type => 'RAW',
multiple_consumers => TRUE -- notwendig für Forms
END;
/
BEGIN
DBMS_AQADM.Create_Queue (
queue_name => 'QU_MY_QUEUE',
queue_table => 'QU_TABLE'
END;
/
Seite 10Forms 11g
Advanced Queuing: EVENT
● Event-Properties
Data Base | User Defined
LOV aller AQs
Application | Form
Yes | No
Browse | Locked | Removed
Seite 11Forms 11g
Advanced Queuing: Neuer Trigger
● WHEN-EVENT-RAISED
BEGIN
:control.ti_payload := get_event_object_property
('EV_Default', Event_Payload);
IF upper (:control.ti_payload) = 'ATTACH DEBUG' THE N
debug.attach;
...
END IF;
END;
Seite 12Forms 11g
2 Javascript-API
Seite 13Forms 11g
Javascript-API
Seite 14Forms 11g
Javascript-API: Neue Built-Ins
● :system.javascript_event_name
● Gibt den Namen des Events zurück, der im Javascript gestartet wurde.
● :system.javascript_event_value
● Beinhaltet die Payload, die von Javascript an Forms übergeben wurde.
● web.javascript_eval_expr
● Dieser Javascript-Aufruf wird im Ziel-HTML-Window ausgeführt.
Seite 15Forms 11g
Javascript-API: Neuer Trigger
● WHEN-CUSTOM-JAVASCRIPT-EVENT
%HTMLbeforeForm%<INPUT id="outside_field_id"><SCRIPT>
function set_field (field_id, myValue) {document.getElementById(field_id).value=myValue; };
function clickEvent1(){ document.forms_applet.raiseEvent(" NewForm", "SPU_Start");
}</SCRIPT><input id="button1" type="button" onClick="void cli ckEvent1();" value="New Form">
Seite 16Forms 11g
Javascript-API: HTML-Code
<BODY %HTMLbodyAttrs%>
%HTMLbeforeForm%
<INPUT id=" outside_field_id ">
<SCRIPT>
function set_field (field_id, myValue) {
document.getElementById(field_id).value=myValue;
};
function clickEvent1()
{
document.forms_applet.raiseEvent(" NewForm", "payload");
}
</SCRIPT>
<input id="button1" type="button" onClick="void cli ckEvent1();" value=" NewForm">
...
DECLARE
event_name varchar2 (300) := :system.javascript_event_name;
event_value varchar2 (300) := :system.javascript_event_value;
BEGIN
IF event_name = 'ExitForm' THEN
exit_form;
ELSIF event_name = ' NewForm' THEN
new_form (event_value);
...
END;
web.javascript_eval_expr
('document.getElementById(" outside_field_id ").value="' ||
:control.ti_inside || '";');
web.javascript_eval_expr
('set_field(" outside_field_id ", "' || :control.ti_inside || '")');
:control.ti_get_value := web.javascript_eval_functi on
('document.etElementById(" outside_field_id ").value');
Seite 17Forms 11g
3 Konfigurationsdateien
Seite 18Forms 11g
Konfigurationsdateien
● formsweb.cfg (Neu)digitSubstitution = context
otherparams = ssoProxyConnect
allowAlertClipboard = true
disableValidateClipboard = false
applet_name =
enableJavascriptEvent =
maxEventWait = 100
● default.envFORMS_TRACE_DIR
FORMS_ALLOW_JAVASCRIPT_EVENTS
LD_LIBRARY_PATH
ORACLE_INSTANCE
● webutil.cfgBlockAllowHeartBeat = false
● formsweb.cfg (Entfällt)baseHTMLjinitiator
archive_jini
● default.envFORMS_TRACE_PATH
Seite 19Forms 11g
Feedbackmeeting
● Zum Ende der Testwoche gab es eine umfassende viers tündige Feedbackrunde
● 100 Oracle Mitarbeiter (teils über WebConference) v erfolgten sehr interessiert das Feedback der 40 Tester
● Jedes Produkt wurde von den Testern unter die Lupe genommen, wobei Verbesserungswünsche gern gehört wu rden.
● Am Ende meines Berichtes nannte ich einige Features , die ich mir schon immer für Oracle Forms wünschte● Einen neuen modernen Editor● Integration von Webservices (ähnlich wie bei den Events)
Seite 20Forms 11g
4 Statement of Direction
Seite 21Forms 11g
Statement of Direction – November 2007
Seite 22Forms 11g
Statement of Direction – November 2007
Seite 23Forms 11g
[email protected] F&A talk2gerd.blogspot. com