Upload
trinhduong
View
229
Download
0
Embed Size (px)
Citation preview
Service-orientierte Architekturen mit Forms und Reports
Jürgen MengeTSBU Middleware
ORACLE Deutschland GmbH
• Worum geht es bei SOA ?
• Oracle Forms und SOA
• Oracle Reports und SOA
• Weiterführende Informationen
Service-orientierte Architekturen mit Forms und Reports
� SOA beschreibt eine Software-Infrastruktur, in der heterogene Anwendungen als Services implementiert und über standardisierte Schnittstellen erreichbar sind.
� Services können beliebig verteilt sein und lassen sich dynamisch und flexibel zu Geschäftsprozessen verbinden.
� Vorteile für Unternehmen:– Flexible Anpassung der Anwendungslandschaft
an sich ändernde Anforderungen– Reduzierung der Wartungskosten
Service-orientierte Architektur (SOA)
Web Services und Geschäftsprozesse
Web Service 1
Web Service 2
Web Service 3
Web Service 4
Web Service 5
Web Service n
Prozess
Pragmatische Umsetzung …
� Enwicklung neuer Anwendungen für Geschäftsprozesse (Transaktionen, Security, ...)
� Weiterverwendung bestehender Applikationen(Kapselung als Service)
� Verbindung von .NET, J2EE und Bestandsanwendungen
Sensor Data Hub
Standard Interface
Custom OrderApplication
Standard Interface
SAP R/3
Standard Interface
OracleFinancials
Standard InterfaceMainframe HR
Application
Standard Interface.NET Inventory
Application
Standard Interface
Neue Supply Chain Management Anwendung(Business Process oder Composite Application)
BPEL - Orchestrierung von Geschäftsprozessen
� Business Process Execution Language– Standard für die Orchestrierung von
Geschäftsprozessen und Web Services (OASIS, Version 1.1)
– XML basiert
– 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 imApril 2003
– Unterstützt durch alle “Key-Player” (IBM, Microsoft, Oracle, Sun, BEA, SAP, Siebel, …)
BPEL, XQuery, XSLT, WS-ADDRESSING
MODELLIERUNG CONNECTIVITY EXECUTION RUN-TIME MANAGEMENTMANAGEMENT
• Umfassende BPEL 1.1
Unterstützung
• Visuelles
Modellierungswerkzeug
• Native Java Embedding
• XML Facade
• XQuery Transformation
• Detailiertes Fehler
Reporting
• Ant-basierendes build
und Deployment
framework
• Versionierung
• Bindings zu 100+ Backend
Systemen (JCA)
• JMS Bridge
• .NET, Axis, Workshop,
Glue, Systinet, interop
• Benutzeraufgaben/
Workflow
• Email mit Anhängen
• Umfassende BPEL 1.1
Unterstützung
• Sync. Messaging
• Async. Messaging
• Context Dehydration
• Ausfallsicherheit
•Versionierung
• Kompensierende
Transaktionen
• Clustering
• Grosse XML Dokumente
• Visuelles Monitoring
• Auditing
• BPEL Debugging
• In-flight Administration
• Performance Tuninng
• Task Management
• Partitioning/Domains
BPEL DESIGNER BPEL CONSOLEWSDL
BINDINGSBPEL ENGINE
Oracle BPEL Process Manager
Oracle BPEL – Beispiel Kreditvergabe
Select Lowest Offer
10:00am
Handle Negative Credit Exception
Credit Rating
start
end
BPEL Flow
?
United Loan Star Loan
Get Rating
Send Loan Application
Receive Loan Offer
03:00pm
Send Loan Application
Receive Loan Offer
<process>
</process>
<switch>
<variable>
<partnerLink>
<partnerLink> <partnerLink>
<faultHandlers>
<receive>
<invoke>
<invoke>
<flow>
</flow>
• Worum geht es bei SOA ?
• Oracle Forms und SOA
• Oracle Reports und SOA
• Weiterführende Informationen
Service-orientierte Architekturen mit Forms und Reports
� Forms-Module als Konsument von Web Services– über die Integration von server-seitigem Java
� Interaktion von Forms mit BPEL-Prozess– Forms-Modul kommuniziert mit dem
BPEL-Prozess über Methodenaufruf
– notwendig für Interaktion des Benutzers mit dem Prozess
– über die Integration von server-seitigem Java
� Forms-Module als Web Service publizieren– für Dialog-Anwendungen wenig sinnvoll
Oracle Forms und SOA
� 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
� Beispiel: Java Importer – Calling a Web Service (OTN)
http://www.oracle.com/technology/sample_code/products/forms/index9i.html
Forms als Konsument von Web Services
Oracle Forms - Java Importer
� Unterstützung für– Arrays
– Exceptions
– Objects
– Methods
– Attributes
– StaticMethods/Attributes
– Object lifetime & Persistence
� Generierung von PL/SQL-Wrapper-Packages zur Ausführung auf dem Middle Tier
� Schritte– Web Service auswählen
=> JDeveloper: Suche in Registries
– Client Stub für den Web Service erzeugen=> JDeveloper: Web Service Wizard
– Client Stub kompilieren und testen=> JDeveloper
– Client Stub (*.class) importieren=> Forms: Java Importer
– Methoden aus Forms aufrufen=> Forms: Trigger bzw. Program Units
Forms als Konsument von Web Services
� Interaktion von Forms mit BPEL-Prozess– notwendig für Interaktion des Benutzers mit dem Prozess
– Forms-Modul dient als Dialog-Schnittstelle zum Prozess
– Forms-Modul kommuniziert mit dem BPEL Process Manager über Methodenaufruf
– Einbindung von Java Classes in Forms mittels des Java Importers
– Aufruf einer JVM auf dem Application Server
– Aufruf des BPEL Process Managers über Java API oder Web Service API
� Oracle Forms in the SOA World (Oracle Magazin)http://www.oracle.com/technology/oramag/oracle/05-mar/o25forms.html
Interaktion von Forms mit BPEL-Prozess
Beispiel: BPEL-Prozess
� Angebote einholen– automatische Angebotserstellung
(United Loan)
– Angebotserstellung im Dialog(Star Loan)
Interaktion von Forms mit BPEL-Prozess
� Schritte– Schreiben der Java-Klassen zur Interaktion mit dem
BPEL Process Manager (Java API oder Web Service API)
=> JDeveloper
– Java-Klassen kompilieren und testen=> JDeveloper
– Java-Klassen (*.class) importieren=> Forms: Java Importer
– Methoden aus Forms aufrufen=> Forms: Trigger bzw. Program Units
– Datenmanipulation programmieren=> Forms: Data Block
• Worum geht es bei SOA ?
• Oracle Forms und SOA
• Oracle Reports und SOA
• Weiterführende Informationen
Service-orientierte Architekturen mit Forms und Reports
� Web Service führt Geschäftslogik aus– Einbindung durch Java Importer
– Aufruf des Web Service über PL/SQL-Routinen
– sinnvoll z.B. bei Formatierungen und Berechnungen
� Beispiel: Using a Web Service with Oracle 9i Reports
http://www.oracle.com/technology/tech/webservices/htdocs/series/reports/index.html
Reports nutzt Gesch äftslogik eines Web Service
Oracle Reports - Java Importer
� Unterstützung für– Arrays
– Exceptions
– Objects
– Methods
– Attributes
– StaticMethods/Attributes
– Object lifetime & Persistence
� Generierung von PL/SQL-Wrapper-Packages zur Ausführung auf dem Middle Tier
� Web Service liefert die Daten für den Report– Verwendung einer Pluggable Datasource aus dem OTN
(Plugin Exchange)
– Zertifizierung für Reports 9i (9.0.2)
� OTN (Plugin Exchange)
http://www.oracle.com/technology/products/reports/pluginxchange/index.html
Web Service als Datenquelle f ür Reports
� Kommunikation mit dem Reports Server via Web Service (SOAP)
� Starten, Stoppen und Überwachen von Jobs
� Integration von Oracle Reports in unterschiedlichste Applikationen (J2EE, .NET)
Web Service Interface zum Reports Server
Oracle Reports - Servlet RWWebService
� Web Service Endpoint http://host:port/reports/rwwebservice
– Download des Client Proxy möglich
� Methoden– getAPIVersion()
– getServerInfo()
– getJobInfo()
– killJob()
– runJob()
• Worum geht es bei SOA ?
• Oracle Forms und SOA
• Oracle Reports und SOA
• Weiterführende Informationen
Service-orientierte Architekturen mit Forms und Reports
Weiterführende Informationen
� Oracle Formshttp://www.oracle.com/technology/products/forms/index.html
� Oracle Forms in the SOA World (Oracle Magazin)Robin Zimmermannhttp://www.oracle.com/technology/oramag/oracle/05-mar/o25forms.html
� Oracle Reportshttp://www.oracle.com/technology/products/reports/index.html