Automatisierung von Schritten in Geschäftsprozessen als Einstieg in SOA

Ähnliche Dokumente
Logging und Debugging. Gerd Volberg OPITZ CONSULTING Deutschland GmbH

Die Nutzung von Webservices in der Oracle Datenbank. 11 März 2010

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion

Praktische SQL-Befehle 2

Prozedurale Datenbank- Anwendungsprogrammierung

Aufbau eines dynamischen ETL Frameworks auf Basis eines PL/SQL Codegenerators

Housekeeping -2

Housekeeping -2

Oracle als Baukasten aus Standardsoftware für Individuallösungen

DOAG 2016 Oracle APEX Security

Neuerungen in Marco Patzwahl MuniQSoft GmbH Unterhaching

Mails direkt aus Oracle versenden komfortabel und mit Umlauten

Mail direkt aus Oracle versenden - komfortabel und mit Umlauten

Oracle Database Vault Beispiele zur Benutzung

Roland Tilgner. Solution Architects & Team Coaching DEVELOPMENT. ORACLE TEXT AUS PL/SQL-SICHT Features und Möglichkeiten

Datenmanagement I SoSe 2006 Aufgabenblatt 4

Oracle 10g Einführung

Powerful PL/SQL: Collections indizieren mit VARCHAR2-Indizes

Arbeit mit zusammengesetzten Datentypen

Datenbanksysteme noch Kapitel 7: SQL Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück

Entwicklungsumgebung für die Laborübung

Objektorientierte PL/SQL-Entwicklung Ein Erfahrungsbericht aus Sicht von JAVA-Entwicklern

Excel-ähnliche Spreadsheets in Apex Innovation aus einer IT-Abteilung

PL/SQL-Code mit APEX generieren

Kapitel 4 Dynamisches SQL

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

Praktische SQL-Befehle

PL/SQL Web-Services mit Oracle 11g

NoSQL mit Postgres 15. Juni 2015

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)

Erfahrungsbericht mit Oracle Spatial

Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel

<Insert Picture Here> Security-Basics. Privilegien, Rollen, SQL und PL/SQL - inkl. 12c-Update. Carsten Czarski, ORACLE Deutschland B.V. Co.

Parallele Programmierung in SQL und PL/SQL. Peter Bekiesch Dierk Lenz DOAG 2011 Konferenz und Ausstellung 17. November 2011

Objektrelationale, erweiterbare Datenbanken WS 04/05

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum:

Oracle Forms und APEX

OLTP von der Echtzeitdatenerfassung bis zur Auswertung. TecWare Gesellschaft für Softwareentwicklung mbh

Kapitel 4 Dynamisches SQL

Eclipse BIRT als Report Tool

Datenintegrität. Kapitel 5 1

ApEx effektiv. Lösungen für Standardanforderungen. Stephan Engel OPITZ CONSULTING Bad Homburg GmbH. Nürnberg,

Datenintegrität. Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und combit GmbH Untere Laube Konstanz

Order Ansicht Inhalt

Strukturierte Objekttypen

Übersicht der wichtigsten MySQL-Befehle

XML in Oracle 12c. Wolfgang Nast

Entwicklungsumgebung für die Laborübung

Folien php/mysql Kurs der Informatikdienste

Lösung zu Aufgabe 6. Lösung:

Übungsblatt 8- Lösungsvorschlag

MySQL Cluster und MySQL Proxy

Vorstellung DIE QSC AG. Datum:

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

Oracle und LDAP. Zugriff auf LDAP-Daten aus einer Oracle-DB. Martin Busik

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Datenintegrität. Kapitel 5 1

Hochschule Karlsruhe Technik und Wirtschaft Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

PL/SQL Zeitbomben. Martin Friemel DOAG 2012 Konferenz 21. November 2012, 16:00 Uhr NCC NürnbergConvention Center Ost

Installation MySQL Replikationsserver

Begrenzte Freigabe privater Daten

Shaping the Future of Intelligence. PLATH Group 1

Oracle9i Data Warehouse Komponenten im praktischen Einsatz

Einführung in PL/SQL

Übung PL/SQL Trigger Lösungen

APEX - OUD - VPD. Steffi Geiser-Metz & Mathias Weber & Björn Hötschl & Markus Geis CAMPUS INNENSTADT

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

Whitepaper. Produkt: combit Relationship Manager 5. Import von Adressen nach Firmen und Personen. combit GmbH Untere Laube Konstanz

PostgreSQL. Susanne Ebrecht, Bernd Helmle. 24. Juni PostgreSQL Workshop

4. Objektrelationales Typsystem Kollektionstypen. Nested Table

Designer Development Kit (DDK)

Oracle Database 12c Was Sie immer schon über Indexe wissen wollten

Asynchrone Replikation Projekt oder Produkt. Lukas Grützmacher (AIS Automation Dresden GmbH)

Datenintegrität. Referentielle Integrität. Referentielle Integrität in SQL. Bisherige Integritätsbedingungen

Änderungen an den Extraktionsskripten

Klausur PI Datenbanken II vom Name: Praktische Informatik (Krägeloh)

Grundlagen der Informatik

Berechnung von Kennzahlen mit der SQL Model Clause

Fortgeschrittene SQL-Techniken für APEX-Formulare und Reports

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #6. SQL (Teil 4)

PostgreSQL Ein Überblick

DOAG SIG Day. E-Business Suite und SOA: Was ist heute schon möglich? Thomas Karle PROMATIS software GmbH. Frankfurt 26. April 2007

QMF Tabelle Q.OBJECT_DATA in DB2

Abfragen (Queries, Subqueries)

Komplexe XML-Dokumente über XSU und Objekt-Typen aus der Datenbank generieren

REST Services To-Go Einfacher Einstieg in die REST Programmierung

Geodaten und Karten in APEX

Neue Welten: Externe Daten mit APEX nutzen

Bei Kaum noch wartbar -> shortcut badview. Bei Ausführungspläne kippen -> shortcut badviewplan

Advanced Queues und XML-DB Integration von Oracle in einer SOA mit Hilfe von asynchroner Kommunikation und XML-Verarbeitung

SQL Developer Unit Tests

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski.

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Zeitlich abhängig von OWB?

1 Hartmann Anna Cäcilienstr Köln (0221) Behrens-Hoffmeister Heidi Lindenweg Köln (0221)

Transkript:

Automatisierung von Schritten in Geschäftsprozessen als Einstieg in SOA Ein datengesteuerter E-Mail-Service

Vorstellung

Der Anstoß Der Geschäftsprozeß Das (Grob-)Konzept Agenda Datengesteuerter E-Mail-Service Basis für (WEB-)Services Aufbau APEX-Oberfläche (Demo) Der erste Schritt in Richtung SOA? Was bedeutet SOA (m)eine Definition SOA startet mit Diensten für Fachanwender

Der Anstoß Der Geschäftsprozeß Das (Grob-)Konzept

Der Geschäftsprozeß: Fahrzeugbereitstellung

Fahrzeugbereitstellungsdisposition Tankdatenaufnahme "Kennzeichen", "ID",..., "LL-Endstand", "Kraftstoff [l]",...

Werkstattdisposition

Dispo-Inspektion-Wartung Inspektion (HU,AU, SP) Wartung (Öl, Bremsen,...) Vorschlag: E-Mail von der FahrzeugDB mit Nummern aller Fahrzeuge, deren KM-Stand Intervallbedingung erfüllt.

Grobkonzept für weiteres DB-Package für E-Mail-Versand als Oracle- Job Job einrichten, ändern, löschen E-Mail-Text aus Query erstellen E-Mail versenden Query erstellen Vorgehen APEX-Seite für Job- und Query-Parameter

Grobkonzept für weiteres Vorgehen DB-Package für E-Mail-Versand als Oracle- Job und warum daraus nicht gleich noch einen WEB-Service generieren? und unter einer eigenen APEX-Oberfläche für Job- und Query- Parameter gleich einen E-Mail-Service für alle Datenbanken zur Verfügung stellen. SOA?

Datengesteuerter E-Mail-Service Basis für (WEB-)Services Aufbau APEX-Oberfläche (Demo)

Datengesteuerter E-Mail-Service Package EMail_Service (1) function Query2EMail_Text(cQuery IN varchar2, ctext OUT clob, cparam IN varchar2 default null) return number; /* Procedures */ procedure EMail_Senden_DB(cPlanung IN varchar2,...); procedure EMail_Senden(cVerteiler IN varchar2,...); procedure EMail_Planung(cPlanung IN varchar2 default NULL,... ctext IN varchar2, ctext_typ IN char,...); procedure EMail_Planung_loeschen(nJobNr IN OUT number, cplanung IN varchar2 default NULL); procedure EMail_aendern(cPlanung IN varchar2 default NULL, njobnr IN number default NULL,...);

Datengesteuerter E-Mail-Service Package EMail_Service (2) ----- function EMail_Planung_Alle_Planungen return varchar2; procedure EMail_Planung_Lesen(cPlanung IN varchar2, nabsatz IN number, njobnr OUT number,...); procedure EMail_Konfig(cServer IN varchar2 default NULL, nport IN number default NULL, cdomaene IN varchar2 default NULL); END;

Datengesteuerter E-Mail-Service Tabelle E_MAIL_PLANUNG

Datengesteuerter E-Mail-Service Tabelle KONFIGURATION

Datengesteuerter E-Mail-Service Package-Procedure EMail_Senden (1)... if ( csender is null ) then select NAME '@' cdef_domaene into cdef_sender from V$DATABASE; end if; if ( ctext_typ = 'Q' ) then nsqlerror := Query2EMail_Text(cText, cemail_text, cparam);... end if; if ( nzustellenwennleer = 1 or rtrim(cemail_text) is not null ) then /*-----------------------------------------------------------*/ /* E-Mail senden */ /*-----------------------------------------------------------*/... end if;

Datengesteuerter E-Mail-Service Package-Procedure EMail_Senden (2) /* E-Mail senden */ /*-----------------------------------------------------------*/ rsmtp_con := UTL_SMTP.OPEN_CONNECTION(cDef_Server, ndef_port); rsmtp_rpl := UTL_SMTP.HELO(rSMTP_Con, cdef_domaene); csmtp_kommando := 'MAIL'; rsmtp_rpl := UTL_SMTP.MAIL(rSMTP_Con, cdef_sender); if ( rsmtp_rpl.code/10 <> 25 ) then raise utl_smtp.transient_error; end if;... rsmtp_rpl := UTL_SMTP.OPEN_DATA(rSMTP_Con); UTL_SMTP.WRITE_DATA(rSMTP_Con, 'From: ' cdef_sender UTL_TCP.CRLF);... UTL_SMTP.WRITE_DATA(rSMTP_Con, cemail_text); csmtp_kommando := 'CLOSE_DATA';...

Datengesteuerter E-Mail-Service Package-Procedure EMail_Planung (1) begin if ( cplanung is not null ) then nsqlerror := InsertPlanung(cPlanung, cverteiler, ctext, ctext_typ, 1, cparam, nzustellenwennleer); caufruf := 'EMail_Service.EMail_Senden_DB(''' cplanung ''',''' csender ''',''' cbetreff ''');'; if ( nsqlerror = 1 ) then select distinct JOB_NR into njobnr from E_MAIL_PLANUNG where PLANUNGS_BEZ = cplanung; if ( njobnr >0 ) then EMail_Planung_loeschen(nJobNr); end if; nsqlerror := 0; end if; else...

Datengesteuerter E-Mail-Service Package-Procedure EMail_Planung (2) else caufruf := 'EMail_Service.EMail_Senden(''' cverteiler ''',''' csender ''',''' cbetreff ''',''' ctext ''',''' ctext_typ ''',''' cparam ''',''' nzustellenwennleer ''',''' cserver ''',''' nport ''',''' cdomaene ''');'; end if;

Datengesteuerter E-Mail-Service Package-Procedure EMail_Planung (3) /*----------------------------------------------------------*/ /* Job starten */ /*----------------------------------------------------------*/ njobnr := 0; DBMS_JOB.SUBMIT(nJobNr, caufruf, to_date(nstarttag to_char(nstartzeit, '99.99'), 'yyyymmddhh24.mi'), cinterval, force => TRUE); COMMIT; if ( cplanung is not null ) then update E_MAIL_PLANUNG set JOB_NR = njobnr where PLANUNGS_BEZ = cplanung; COMMIT; end if; end;

Der E-Mail-Service und seine Operationen

Demonstration der APEX-Oberfläche Aufruf des Web-Service aus APEX Konfiguration von Servicen Planungen durchführen

Der erste Schritt in Richtung SOA? Was bedeutet SOA (m)eine Definition SOA startet mit Diensten für Fachanwender

Was bedeutet SOA (m)eine Definition Da es sich um einen zusammengesetzten Begriff handelt, beginnen wir mit der Bedeutung der einzelnen Wörter und zwar als Übersetzung aus dem Englischen ins Deutsche: Service: Bedienung, Dienstleistung, [Kunden]dienst,... Oriented: bezogen, orientiert Architecture: Architektur, Baufach, Baukunst, Bauweise,...

CW 07.12.2005: In zehn Schritten zur SOA SOA ist eine Idee, keine Technik. Diese Botschaft kommuniziert die IT-Industrie schon seit längerem.... Das große Ziel ist eine an Geschäftsprozessen ausgerichtete IT-Infrastruktur, die schnell auf veränderte Anforderungen reagiert. Weil Services mehrfach verwendet werden können, verspricht SOA zudem Kostenvorteile.

Werkstattdisposition mit E-Mail- Service

SOA startet mit Diensten für Fachanwender IT-Dienste zur Verfügung stellen, die er selbst in unterschiedlichen Geschäftsprozessen nach Bedarf einsetzen kann. Für Fachanwender geeignete Dialog- Oberfläche für (WEB-)Service anbieten UDDI-Registry, Orchestrierung, ESB...? Ein Orchester braucht einen Dirigenten, ein Flötenquartett aber nicht!

Vielen Dank für Ihre Aufmerksamkeit F Fragen & Antworten A