BAPI-basierte Business Collaboration mit dem SAP Web Application Server
Agenda Erläuterung der verwendeten Technologien Resümee
Installation und Einarbeitung in SAP Web Application Server 6.40 SAP NetWeaver Developer Studio Auswahl und Entwicklung eines Business s mit Webflow Implementierung des Business s mit SAP Web Application Server 6.40 SAP R/3 ERP Release 4.7 Nutzung von Webtechnologien
E i nsatz von Web Services Prototypische Anbindung verschiedener externer Systeme Inbound- und Outbound-Kommunikation Anbindung eines selbst entwickelten Systems Anbindung eines existierenden Systems Implementierung von BAPI-Aufrufen Dok umentation
Bildung von drei Teams Stefanie Städter und Carsten Melzer: fachliche Betreuung des s, Anbindung externer Systeme Marcus Bittrich und Sandro Kabus: Web Services, BAPI-Aufrufe Alexander Reichel und Tudor Neumann: technische Betreuung, Entwicklung ABAP-Programm Lars Leibner: Teamleiter
Privatkunden Consumer Channel Geschäftspartner ERP Business Channel
Business Collaboration mit Webtechnologien: Aufbau eines Marketplaces auf Basis SAP R/3 Prozesse verbleiben im vorhandenen R/3-System Zentraler Produktkatalog Anbindung beliebiger externer Systeme Bedienung zweier Kannäle Business Channel Consumer Channel
Live-Demo
Sell-Side ERP-System (Web-basiert) Marketplace SAP Web AS Web Service JCo RFC Provider JCo R/3 BAPI Dynpro/Report
BAPIs Business Application Pogramming Interface ist eine standardisierte Programmierschnittstelle/Methode der SAP- Business Objekte BAPIs ermöglichen es externen (nicht SAP) Anwendungen, auf Daten und Geschäftsprozesse des SAP R/3 zuzugreifen Arbeit mit dem BAPI Explorer (Transaktion: BAPI) standardmäßig 2000 vordefinierte BAPIs Keine Kommunikation vom R/3 nach außen Möglichkeit zur Entwicklung von unternehmensspezifischen BAPIs Function Builder Export/Import Parameter
Struktur des SAP R/3 R/3 - System Sales Distribution (SD) MATERIAL BAPI_MATERIAL_AVAILIBILTY...
Java Connector (JCo) Middleware-Lösung, welche die Entwicklung von SAP-fähigen Komponenten unterstützt Java Framework zum Aufbau einer Kommunikation von Java mit einem SAP-R/3 (Bidirektional) Unterstützt die Verwaltung von Verbindungen zum SAP-System Nutzung für Aufrufe von RFC-fähigen Funktionsbausteinen im SAP (BAPIs) Kritikpunkt: Keine Ausnutzung der Java-Vorteile (Bsp.: Strukturen werden namentlich als Zeichenkette übergeben)
Web Services Software-Anwendungen, deren Schnittstellen als XML-Artefakte definiert, beschrieben und gefunden werden können Dienstorientierte Infrastrukturtechnologie zur Integration heterogener Anwendungen Ermöglichen die direkte Interaktion mit anderen Softwareagenten, mit Hilfe XML-basierter Nachrichten auf der Basis von Internetprotokollen Vereinigung von verteilten und objektorientierte Programmierstandards Ermöglichen betriebswirtschaftliche Lösungen im Internet Folgende wichtige Begriffe: Anbieter Konsument Verzeichnis
Der Konsum von Web Services Informationen zu einem Web Service in WSDL-Datei Generierung von Clientproxies mit Hilfe von Werkzeugen Eigenhändige Programmierung zu aufwendig Immer derselbe Vorgang Generatoren für beliebige Programmiersprachen verfügbar Einbindung des generierten Codes dann systemspezifisch Im Workshop verwendet: Axis-Framework der Apache Group
Zusammenspiel der Technologien
Anwendungsfall Rechnung legen Sachbearbeiter veranlasst Transportauftrag im R/3 Anschließend Erstellen der Faktura Versenden der Faktura über ABAP-Programm Ablauf des Programms Transaktion ZSendRech aufrufen Rechnungsnummer eingeben Daten prüfen Versenden der Email
Darstellung des s Großhändler SAP E-Mail Händler Kunden- System
JCo RFC Provider Service In der SAP J2EE Engine implementiert RFC (Remote Function Call) erlaubt das Aufrufen und Ausführen von Funktionen in einem entfernten System (Remote-System) Aufrufen von Java-Code aus ABAP-Code heraus Entbindet den ABAP-Programmierer davon, seine eigenen Kommunikationsroutinen schreiben zu müssen Übernimmt die Konvertierung aller Parameterdaten in die im entfernten System benötigte Darstellung
Kommunikation über den JCo RFC Provider Dynpro ABAP-Programm (Modulpool) RFC Destination Stateless Session Bean RFC Destination Funktionsbaustein SAP R/3 SAP J2EE
Aufruf des Funktionsbausteins CALL FUNCTION <function_name> DESTINATION <destination_name>, EXPORTING <VAR_IN> = <ABAP_Output> CALL FUNCTION ruft einen Funktionsbaustein im selben System, führt ihn aber Remote aus DESTINATION-Parameter bestimmt Ziel des Aufrufs Zeigt auf Eintrag in der Tabelle RFCDES (Transaktion SM59) Exporting Variablen Übergabe an externe Funktion
Resümee Integration verschiedener Systeme über Web Services problemlos möglich Sehr gute Unterstützung durch verschiedene Werkzeuge SAP NetWeaver Developer Studio Enfinity Studio Aber: zum Teil sehr schlecht dokumentiert Instabiler SAP Web Application Server Das Aktuellste was wir je im Studium gemacht haben.
Vielen Dank für die Aufmerksamkeit