Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und...
Transcript of Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und...
![Page 1: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/1.jpg)
Integration von Oracle Forms in Service Oriented Architecture (SOA)
Jürgen MengeOracle Deutschland
![Page 2: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/2.jpg)
The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions.The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
![Page 3: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/3.jpg)
HTTPHTTPServerServer
OC4JOC4JServletServlet EngineEngine
FormsFormsRuntimeRuntime
11
Application Tier Database TierClient Tier
FormsFormsServletServlet
MOD_OC4JMOD_OC4J
FormsFormsListenerListenerServletServlet FormsForms
RuntimeRuntime22
Client 1Client 1
Client 2Client 2
Inte
rnet
OracleAS 10 g Forms Services
Clie
nt s
ide
Fire
wal
lC
lient
sid
e F
irew
all
Inte
rnet
Ser
ver
side
Fire
wal
lS
erve
r si
de F
irew
all
� zentrales DeploymentOracle Forms Runtime + compiled Files
![Page 4: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/4.jpg)
Forms
J2EE
Oracle Application Server
GemeinsameSicherheit
GemeinsameAdministration
GemeinsameGeschäftslogik
Integration von Forms in den OracleAS
Java
Enterprise Manager
Single Sign-On
![Page 5: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/5.jpg)
• Client-side Java• Pluggable Java Components (PJC) und Java Beans• Oberflächenelemente und Logik auf dem Client
• WebUtil ist eine Bibliothek von PJC und Java Beans
• Server-side Java• Ausführung von Logik im Application Server
• Einbindung in Forms mittels des Java Importer• z.B. Java-Klassen, EJBs
• Integration mit Web-Services• Voraussetzung für service-orientierte Architekturen (SOA)
• Verarbeitung von XML
Integration mit Java, XML und Web Services
![Page 6: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/6.jpg)
Implementierung mit Forms 6 i
![Page 7: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/7.jpg)
Implementierung mit WebForms
![Page 8: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/8.jpg)
• Möglichkeiten• Java Classes• EJB• ADF Components for Java• Web Services• Java Stored Procedures
• Erzeugung eines PL/SQL Wrappers durch den Java Importer
• Built-In ORA_JAVA mit Standardfunktionen• Aufrufstack:
PL/SQL => C => JNI (Java Native Interface) => Java
Server-side Java
![Page 9: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/9.jpg)
• Unterstützung für• Arrays• Exceptions• Objects • Methods• Attributes• Static
Methods/Attributes
• Object lifetime & Persistence
• Generierung von PL/SQL-Wrapper-Packages zur Ausführungauf dem Middle Tier
Oracle Forms - Java Importer
![Page 10: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/10.jpg)
Oracle Forms in Service-orientierten Architekturen (SOA)
• Forms als Konsument von (Web) Services
![Page 11: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/11.jpg)
• Forms-Module als Konsument von Web Services• über die Integration von server-seitigem Java
• Einbindung des Web Service Client Stub in Forms mittels des Java Importers
• Aufruf einer JVM auf dem Application Server
Forms als Konsument von Web Services
Beispiele:http://www.oracle.com/technology/sample_code/products/forms/viewlets/10g/webservices/webservices_viewlet_swf.html
http://www.oracle.com/technology/products/forms/htdocs/10gr2/howto/webservicefromforms/ws_10_1_3_from_forms.html
![Page 12: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/12.jpg)
• Web Service auswählen=> JDeveloper: Auswahl
• Client für den Web Service erzeugen=> JDeveloper: Web Service Proxy
• Web Service Client kompilieren und testen=> JDeveloper
• Web Service Client (*.class) importieren=> Forms: Java Importer
• Methoden aus Forms aufrufen=> Forms: Trigger bzw. Program Units
• mit JDeveloper 10.1.3 wird JAX-RPC Client generiert=> Archiv mit notwendigen Bibliothekenhttp://download.oracle.com/otn/java/oc4j/101320/wsclient_extended_101320.zip
Forms als Konsument von Web Services
![Page 13: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/13.jpg)
Web Service in Forms - Konfiguration
• Design Time (Forms Builder)• FORMS_BUILDER_CLASSPATH setzen• CLASSPATH setzen
� Registry oder spezielles Start Script für den Builder
• Runtime (OracleAS Forms Service)• CLASSPATH setzen� Environment File (default.env)
![Page 14: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/14.jpg)
• Problemstellung• Aufruf von server-seitigen Java-Klassen in der Form führt zu
Unhandled Exceptions• ORA-105100 ORA_JAVA.JAVA_ERROR• ORA-105101 ORA_JAVA.EXCEPTION_THROWN
• Java Error Stack erforderlich, um die Fehlerursache zu erkennen
• Lösungsansatz• Import von 2 Klassen aus OH/jdk/jre/lib/rt.jar in die betreffende
Form• java.lang.Exception• java.lang.StackTraceElement
• Temporärer Einbau eines Exception Handlers in die betreffende Form (PL/SQL-Logik)
• Anzeige des Java Error Stack in einem mehrzeiligen Textfeld der Form
Forms Runtime – Java Error Stack
![Page 15: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/15.jpg)
<Insert Picture Here>
Beispiel: Oracle BI Publisher
![Page 16: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/16.jpg)
Aufruf eines Berichtes aus Oracle Forms
• Oracle BI Publisher• moderne Lösung zur Erzeugung von Berichten und
Dokumenten
• BI Publisher Server läuft als Applikation im Application Server
• Nutzung der Web Service-Schnittstelle des BI Publisher (ab 10.1.3.3.1)
• Import des Web Service Client in die Forms-Applikation (Java Importer)
• BI Publisher Server liefert den Bericht im gewünschtenFormat an die Forms-Applikation
http://www.oracle.com/technology/products/xml-publisher/docs/Forms_BIP_v21.pdf
![Page 17: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/17.jpg)
Datenbank
OracleASForms Service
Client
OracleASBI PublisherWeb Service
Daten
Bericht
Aufruf eines Berichtes aus Oracle Forms
![Page 18: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/18.jpg)
D E M O N S T R A T I O ND E M O N S T R A T I O N
Web Service Web Service ausausForms aufrufenForms aufrufen
![Page 19: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/19.jpg)
<Insert Picture Here>
Beispiel: Oracle BPEL
![Page 20: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/20.jpg)
Einbindung von Services in einerService orientierten Architektur (SOA)
SubmitOrder
CheckInventory
CheckCredit
SendResult to
User
Portal
SAP
Java
Web App
Mainframe
FormulateFulfillment
Offer
FormulateRejection
CanFulfill?
TransformOrder/
Customer
DetermineDiscount
![Page 21: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/21.jpg)
• Business Process Execution Language (BPEL)• Standard für die Orchestrierung von Geschäftsprozessen und
Web Services (OASIS, Version 1.1)• BPEL beschreibt den Ablauf von Geschäftsprozessen als
strukturierte Aktivitäten (XML-Dialekt)• entwickelt von IBM, Microsoft and BEA
(Version 1.0 im August 2002) auf Basis von XLANG (Microsoft) und WSFL (IBM)
• Eingereicht zur Standardisierung bei OASIS im April 2003• Unterstützt durch alle “Key-Player” (IBM, Microsoft, Oracle,
Sun, BEA, SAP, Siebel, …)• BPEL 2.0 wurde im April 2007 verabschiedet und freigegeben• Oracle wird BPEL 2.0 schrittweise mit dem Release 11
umsetzen (die meisten Konzepte bleiben unverändert)
BPEL – Service Orchestration
![Page 22: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/22.jpg)
• BPEL = Business Process Execution Language• Unternehmensweite Infrastruktur für Entwicklung und Betrieb der BPEL-
basierten Geschäftsprozessabläufe
• Native BPEL Implementierung
• Einfache Modellierung
• Skalierbare und zuverlässigeLaufzeitumgebung
• Flexibles Binding Framework
• Umfangreiche Verwaltung und Monitoring
• Unterstützt Oracle AS, WebLogic, WebSphere, JBoss
• Installiert und lauffähig in weniger als 15 Minuten!
BPEL ConsoleM
AN
AG
E
J2EE Application Server(Oracle AS, WebLogic, JBoss, WebSphere)
Core BPEL Engine
WSDL Binding Built-in Integration Services
File, FTP
Web services
Java, JMS
Database
JAVA XSLT Rich Workflow
BPEL
JDeveloper, Eclipse
BPEL Designer
BPEL Process Manager
Sensors
Dehydration Store(Oracle Database)
Apps
Oracle BPEL Process Manager
![Page 23: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/23.jpg)
ToDo Liste
Assign Task
TaskComplete
Workflow Service
(1) Zuweisen einer Aufgabe (Task) an einen Benutzer/Rolle
(2) Rückgabe der Antwort an den Prozesses
Update Task
BPELProcess
WSDL Contract
Workflow als Service
![Page 24: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/24.jpg)
Beispiel: Urlaubsantrag
• Einfacher Workflow• Urlaubsantrag
• Antrag abschicken• Ermitteln Resturlaub• Ermitteln Vorgesetzter• Weiterleiten an den Vorgesetzten
• Genehmigen / Ablehnen / Delegieren• Information für den Antragsteller
• Bestätigen
![Page 25: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/25.jpg)
D E M O N S T R A T I O ND E M O N S T R A T I O N
FormsForms --Integration mit Integration mit BPELBPEL --ProzessProzess
![Page 26: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/26.jpg)
BPEL Konsole
• Starten eines Prozesses
Eintragen der Daten
Starten
![Page 27: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/27.jpg)
• Default BPEL Worklist• Java Server Page• bei der Erstellung des Prozesses generiert
Bearbeitung der Tasks in der BPELWorklist
![Page 28: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/28.jpg)
• Worklist Details
Bearbeitung der Tasks in der BPELWorklist
![Page 29: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/29.jpg)
BPEL Prozess starten
• Wie kann man einen BPEL Prozess aus Forms heraus starten ?
• als Web Service • BPEL-Prozess ist selbst ein Web Service• XML/SOAP/WSDL Interface
• aus Java-Applikationen• Java API• Lokal oder Remote (RMI)
![Page 30: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/30.jpg)
• Schreiben der Java-Klassen zur Interaktion mit dem BPEL Process Manager(Java API oder Web Service API)=> JDeveloper
• Java-Klassen kompilieren, testen, deployen=> JDeveloper
• Java-Klassen (*.class) importieren=> Forms: Java Importer
• Methoden aus Forms aufrufen=> Forms: Trigger bzw. Program Units
• Datenmanipulation programmieren=> Forms: Data Block
Interaktion von Forms mit BPEL-Prozess
![Page 31: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/31.jpg)
Bearbeitung der BPEL Tasks in Forms
![Page 32: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/32.jpg)
Bearbeitung der BPEL Tasks in Forms
![Page 33: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/33.jpg)
Bearbeitung der BPEL Tasks in Forms
![Page 34: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/34.jpg)
Web Service oderJava API Aufrufe
Urlaubsantrag
Reisekostenabrechnung
Kreditvergabe
Architektur Forms - BPEL
![Page 35: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/35.jpg)
Integration externer Systeme über BPEL
Siebel
Cobol File
“ Mainframe ”
BPEL
Oracle APPS
Oracle Forms
SAP
J2EE
![Page 36: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/36.jpg)
Zusammenfassung
• Offene Architektur in Forms• client-seitiges Java• server-seitiges Java (Java Importer)
• Integration mit anderen Anwendungen• Forms als Konsument von Web Services• Integration in BPEL-Prozesse
• Prozesse starten• Prozessinformationen abfragen und bearbeiten
![Page 37: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung](https://reader036.fdocuments.in/reader036/viewer/2022071101/5fd9ee6e628e0d2d34710c30/html5/thumbnails/37.jpg)
Q&A