integration von oracle forms in service oriented architecture (soa) · • skalierbare und...

37
Integration von Oracle Forms in Service Oriented Architecture (SOA) Jürgen Menge Oracle Deutschland

Upload: others

Post on 25-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung

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

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

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

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

• 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

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

Implementierung mit WebForms

Page 8: Integration von Oracle Forms in Service Oriented Architecture (SOA) · • Skalierbare und zuverlässige Laufzeitumgebung • Flexibles Binding Framework • Umfangreiche Verwaltung

• 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

• 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

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

• 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

• 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

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

• 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

<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

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

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

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

<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

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

• 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

• 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

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

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

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

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

• 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

• 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

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

• 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

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

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

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

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

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

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

Q&A