Das nächste Duet(t): APEX und SAP - doag.org · SAP Netweaver Gateway RFC (XML) JSON/XML REST Web...

Preview:

Citation preview

|

Das nächste Duet(t): APEX und SAPDOAG Konferenz 2014

Niels de Bruijn

Nürnberg, 19.11.20141

|

FACTS & FIGURES

GESCHÄFTSFORM INHABERGEFÜHRTE AG

HAUPTSITZ RATINGEN

GRÜNDUNGSJAHR 1994

BESCHÄFTIGTE 180 FESTANGESTELLTE MITARBEITER

BETEILIGUNGEN MT-IFS GMBH (RATINGEN), MT-IFS SARL (LUXEMBURG)

business by integration

Das nächste Duet(t): APEX und SAP?4

|

UNSER PORTFOLIO

BUSINESS

INTELLIGENCE SOLUTIONSSOCIAL BUSINESS

SOLUTIONSMOBILE

SOLUTIONS

APPLICATION

DEVELOPMENTINTEGRATION

SERVICESIT SYSTEM

SERVICES

DATA INTEGRATION

SELF SERVICE BI

MOBILE BI

COLLABORATION

SEARCH

SOCIAL

APPS

ABLÄUFE

LOKALISIERUNG

APEX / ADF

JAVA

.NET

STRATEGIE

ARCHITEKTUR

SAP HANA

MANAGED SERVICES

BETRIEB

MIGRATION

Das nächste Duet(t): APEX und SAP?5

|

Weiße Folien für den eigentlichen Vortrag

Das nächste Duet(t): APEX und SAP?6

Mehr Infos dazu während Open Mic Night heute zwischen 20:00-21:30 im Raum Istanbul

| Das nächste Duet(t): APEX und SAP?7

apexmeetups.com

|

Über mich

Niels de Bruijn, Fachbereichsleiter APEX

Geboren in 1977, verheiratet, drei Töchter, Wohnort Ratingen

seit 12.2003 bei der MT AG in Ratingen

zuvor 2 Jahre als Berater bei Oracle Nederland B.V. angestellt

Beschäftigt sich seit 2004 mit APEX

Federführend beim Vertrieb/Marketing/Delivery von APEX Projekten aller Art

- https://apex.mt-ag.com & http://www.apexsolutions.de

Themenverantwortlicher für APEX bei der DOAG

Wo bin ich zu finden?

- Online: Skype, Xing, LinkedIn, Twitter, Facebook

- Offline: DOAG Konferenz/ APEX CONNECT, ODTUG Kscope, APEX UserGroup,

Meetups

Das nächste Duet(t): APEX und SAP?8

||

Agenda

Das nächste Duet(t): APEX und SAP?9

1. Auslöser

2. Synchrone Lösungen für die Anbindung

3. Drink your own champagne

|

Auslöser (technisch)

Ziel

Daten aus SAP anzeigen und verarbeiten

Mit welchem Front-end?

SAP Client (nur für Power User im Unternehmen)

Webapps auf Basis SAP UI5 bereitstellen

- dauert zu lange und produziert zu viel Javascript

Webapps auf Basis .Net, Java oder APEX bereitstellen

- Mit APEX kann man in kürzer Zeit intuitive Oberflächen bereitstellen, optimiert

sowohl für den Desktop als auch für mobile Endgeräte

Das nächste Duet(t): APEX und SAP?10

||

Agenda

Das nächste Duet(t): APEX und SAP?11

1. Auslöser

2. Synchrone Lösungen für die Anbindung

3. Drink your own champagne

|

Synchrone Lösungen für die Anbindung

Java Connector

REST Web Services

SOAP Web Services

Das nächste Duet(t): APEX und SAP?12

|

Java Connector

13

Architektur

Oracle

PL/SQL Funktion

Java Class

(Stub)

Java Class

(Skeleton)

SAP JCo

(JNI)

APEX

RFC

(XML)RMI

SAP

Funktions-

baustein

(ABAP)

Das nächste Duet(t): APEX und SAP?

|

Java Connector

SAP Java Connector (SAP JCo) besitzt eine RFC-Middleware, die auf

dem JNI (Java Native Interface) basiert.http://help.sap.com/saphelp_dm40/helpdata/de/09/a4a9e1d51d11d6b2c200508b5d5c51/content.htm

Oracle unterstützt kein JNI in der Datenbankhttp://docs.oracle.com/cd/B19306_01/java.102/b14187/chthree.htm#CACFCDJF

http://docs.oracle.com/cd/E23549_01/doc.1111/e14770/adapters_iway.htm#CEGHEJIF

Lösung: Java Interface in der Datenbank, Implementierung außerhalb (RMI)

- PL/SQL Wrapper um Java Interface, damit von APEX ausführbar

Das nächste Duet(t): APEX und SAP?14

|

Java Connector

select extractvalue(x, '/BAPI_COMPANYCODE_GETDETAIL/COMPANYCODE_DETAIL/COMP_CODE') as compcode

, extractvalue(x, '/BAPI_COMPANYCODE_GETDETAIL/COMPANYCODE_DETAIL/COMP_NAME') as compname

, extractvalue(x, '/BAPI_COMPANYCODE_GETDETAIL/COMPANYCODE_DETAIL/CITY') as city

, extractvalue(x, '/BAPI_COMPANYCODE_GETDETAIL/COMPANYCODE_DETAIL/CURRENCY') as currency

from

( select xmltype

( call_JCo_bapi('BAPI_COMPANYCODE_GETDETAIL

‚,

'<BAPI_COMPANYCODE_GETDETAIL><COMPANYCODEID>1000</COMPANYCODEID></BAPI_COMPANYCODE_GETDETAIL>')

) as x

from dual

)

Das nächste Duet(t): APEX und SAP?15

Funktionsbaustein BAPI_COMPANYCODE_GETDETAIL

Parameter COMPANYCODEID => 1000

|

Synchrone Lösungen für die Anbindung

Java Connector

REST Web Services

SOAP Web Services

Das nächste Duet(t): APEX und SAP?16

|

SAP

REST Web Services mit SAP

Das nächste Duet(t): APEX und SAP?17

Architektur mit SAP Netweaver Gateway

PL/SQL(APEX_WEB_SERVICE)

APEX HTTP

request Funktions-

baustein

(BAPI)

OracleSAP Netweaver

GatewayRFC

(XML)

JSON/XML

REST

Web

Service

|

SAP

REST Web Services mit Microsoft

Das nächste Duet(t): APEX und SAP?18

Architektur mit Microsoft ASP .Net WebAPI

PL/SQL(APEX_WEB_SERVICE)

APEX HTTP

request Funktions-

baustein

(BAPI)

OracleMS ASP .Net

WebAPIRFC

(XML)

JSON/XML

REST

Web

Service

Für die Verwendung von MS ASP .Net WebAPI selbst fallen keine Kosten an.

MS ASP .Net WebAPI haben wir bereits beim Kunden erfolgreich im Einsatz.

Weitere Infos:

http://www.asp.net/web-api

|

Synchrone Lösungen für die Anbindung

Java Connector

REST Web Services

SOAP Web Services

Das nächste Duet(t): APEX und SAP?19

|

SAP

SOAP Web Services

Das nächste Duet(t): APEX und SAP?20

Architektur mit SOAP Web Services

PL/SQL(APEX_WEB_SERVICE)

APEXXML

über HTTPSFunktions-

baustein

(BAPI)

SOAP

Web

Service

Oracle

RFC

(XML)

Einige Anmerkungen:

• Zugriff auf Web Services mittels einem technischen Benutzerkonto

• Absicherung durch z.B. Basic Auth (HTTPS!) oder Clientzertifikat

• Package APEX_WEB_SERVICE gilt als Wrapper für UTL_HTTP

• Benutzerkontext wird als Parameter weitergeleitet

|

SOAP Web Services

ABAP Baustein als Web Service bereitstellen

- Geht ab SAP NetWeaver 7.0 SP14

- Siehe: http://rz10.de/2011/01/abap-webservices-mit-dem-soa-manager-

anlegen

- Web Service mit SoapUI testen

Web Service in der APEX Anwendung registrieren

Formular oder Bericht in APEX erstellen

Das nächste Duet(t): APEX und SAP?21

Vorgehensweise bei der Implementierung

|

Webservice über den integrierten Webserver

1. Funktionsbaustein in SAP (ABAP)

Das nächste Duet(t): APEX und SAP?

SOAP Web Service bereitstellen

22

|

Webservice über den integrierten Webserver

2. RFC Fähigkeit festlegen

Das nächste Duet(t): APEX und SAP?

SOAP Web Service bereitstellen

23

|

Webservice über den integrierten Webserver

3. WebService Wizard starten

Das nächste Duet(t): APEX und SAP?

SOAP Web Service bereitstellen

24

|

Webservice im SOAMANAGER

4. Transaktion soamanager starten

Im Soamanager zu Anwendungs- und szenariokommunikation wechseln, dann zu

Administration eines Services wechseln. Danach den Namens des Services eingeben.

Von hier kann die WSDL-Datei des Service (Link: WSDL Dokument für gewähltes Binding

öffnen) bezogen werden.

Das nächste Duet(t): APEX und SAP?

SOAP Web Service bereitstellen

25

| Das nächste Duet(t): APEX und SAP?

SOAP Web Service mit SoapUI testen

26

| Das nächste Duet(t): APEX und SAP?

SOAP Web Service mit SoapUI testen

27

||

Agenda

Das nächste Duet(t): APEX und SAP?28

1. Auslöser

2. Synchrone Lösungen für die Anbindung

3. Drink your own champagne

|

HR Self Service @ MT AG

Im Einsatz: SAP ERP

APEX Apps für die Abbildung der Formulare Projektmeldung, Urlaubsantrag,

Schulungsantrag und Reisekosten

Anbindung mit SAP über SOAP Web Services und APEX_WEB_SERVICE

Genehmigungsprozesse werden auch über mobile Endgeräte abgebildet

Das nächste Duet(t): APEX und SAP?29

|

HR Self Service @ MT AG

Das nächste Duet(t): APEX und SAP?30

|

HR Self Service @ MT AG

Das nächste Duet(t): APEX und SAP?31

|

HR Self Service @ MT AG

Das nächste Duet(t): APEX und SAP?32

|

HR Self Service @ MT AG

Das nächste Duet(t): APEX und SAP?33

| Das nächste Duet(t): APEX und SAP?34

ALLE VORTRÄGE DER

MT AG

| Das nächste Duet(t): APEX und SAP?35

15:00 - 15:45

Sydney

Datenmodellierung ist langweilig,

lassen Sie Datamodeler das machen

Oleg

Kiriltsev18.11.14

12:00 - 12:45

Sydney

Das nächste Duet(t):

APEX und SAP.

Niels de

Bruijn19.11.14

16:00 - 16:45

Singapur

Speichersparende XML Verarbeitung

mit StAX und JAXB

Wolfgang

Nast19.11.14

16:00 - 16:45

Istanbul

"Echtes" Single Sign On

mit APEX realisieren.

Niels de

Bruijn19.11.14

09:00 - 09:45

Sydney Five Fingers Death Punch

Oliver

Lemm20.11.14

10:00 - 10:45

Helsinki

12c Oracle Warehousing voll Groovy.

Ein Projektbericht.Rosenberger

Ketteltasche20.11.14

12:00 - 12:45

Istanbul

Dateien per Drag & Drop in APEX

Applikationen ablegen

Franziska

Höcker20.11.14

15:00 - 15:45

Oslo Ist Gradle auch für die APEX-Projekte?

Oleg

Kiriltsev20.11.14

Tune Up Your APEXOliver

Lemm20.11.14

15:00 - 15:45

Istanbul

|

Telefon:

Telefax:

E-Mail:

www.mt-ag.com

Vielen Dank…

Fachbereichsleiter APEX

+49 2102 309 61 0

+49 2102 309 61 101

niels.de.bruijn@mt-ag.com

Niels de Bruijn

Recommended