ISA Programming Guidelines

Download Report

Transcript ISA Programming Guidelines

Teleseminar
„Web Services“
Bereitstellung von Business-Funktionen
aus SAP Internet Sales als Web Services
unter Berücksichtigung
von Formfaktoren heterogener Clients
Markus Uhlig
20. Juli 2004
Inhalt
Inhalt
1. Übersicht SAP
2. Einsatz von Web Services bei SAP
3. Einführung Internet Sales Application (ISA)
4. Anforderungsspezifikation
5. Systemarchitektur von Web Services für ISA
6. Datenadaption durch Content Repurposing
7. Design
8. Implementierung
9. Performance
10. Fazit
 SAP AG 2004, Teleseminar “Web Services” (Universität Mannheim), Markus Uhlig 2
1. Übersicht SAP
mySAP PLM
mySAP ERP
mySAP
SRM
Financials
Human Resources
Corporate Services
Operations Management
mySAP
CRM
mySAP SCM
SAP NetWeaver
Zentrale Komponente: Web Application Server
 SAP AG 2004, Teleseminar “Web Services” (Universität Mannheim), Markus Uhlig 3
2. Einsatz von Web Services bei SAP


SAP Mitglied der WS-Interoperability Group (WS-I)
Web Services bei SAP „business driven“
Ziel: Lösung von Kundenproblemen bzgl. heterogener Systemlandschaften
 Innerhalb eines Unternehmens:



Vielzahl unterschiedlicher Systeme im Einsatz
 Vielzahl unterschiedlicher Schnittstellen, Programmiersprachen,
Betriebssysteme und Hardware
Bisher teure und komplexe Enterprise Application Integration (EAI) – Lösungen (Bsp.: WebSphere, BizTalk
etc.)
Verbesserung bestehender EAI – Lösungen
 Enterprise Service Architecture
 Über Firmennetzwerk hinaus:

Business-to-Business (B2B) – Integration
 Verwendung der Internet-Infrastruktur zur Kommunikation
 Web Services ideal geeignet
(Bsp.: Erweiterung von Web Anwendungen (ISA) durch Web Services)
 Web Services als Schnittstellentechnologie / Integrationswerkzeug

Enterprise Portal

Exchange Infrastructure

Web Application Server
 SAP AG 2004, Teleseminar “Web Services” (Universität Mannheim), Markus Uhlig 4
3. Einführung Internet Sales Application (ISA)
ISA aus betriebswirtschaftlicher Sicht:

Web Shop (Bsp.: Conrad, Sony etc.)

Funktionen aus CRM über
Kommunikationskanal Internet
Steuerung Einkaufsprozess für B2B/B2C:
 Suche nach Produkten / Produktdetails
 Verfügbarkeitsprüfung
 Preisberechnung (konditionenabhängig)
 Auftragsgenerierung / Statusabfrage

ISA aus technischer Sicht:




3-Tier-Anwendung basierend auf J2EE-Plattform
 JSPs, Servlets zur Darstellung dynamischer Webseiten
 Struts zur Steuerung der Anwendung
 Trennung von Präsentation und Anwendungslogik (MVC)
Laufzeitumgebung J2EE Engine des WAS (deployed auf J2EE-Server)
Backendsystem R/3,CRM-System (ABAP), kombiniert mit bel. DBMS
Kommunikation mit Backend über JCo und JDBC
 SAP AG 2004, Teleseminar “Web Services” (Universität Mannheim), Markus Uhlig 5
4. Anforderungsspezifikation
ISA bisher:


Zugang nur für browserfähige Endgeräte
Keine Automatisierung für Power-User (Zwischenhändler)

Keine Berücksichtigung von Formfaktoren heterogener Endgeräte
 keine Anpassung der übermittelten Daten (Bsp.: mulimediale Daten)
 Bereitstellung von Business-Funktionen als Web Services
Anforderungen:

Integration WS in ISA-Architektur




Erweiterung der bestehenden Funktionalität
Erweiterbarkeit durch generische Architektur
Verwendung Generischer Datentypen (GDT CCT  XML Data Types) für Schnittstellenbildung
Optionaler Adaptionsprozess
Fragestellungen:

Interoperabilität von Web Services (J2EE / .Net)



Evaluierung Web Services für Produktiveinsatz in ISA (Grenzen von WS)
Komplexität Implementierung
Performanceaspekte
Restriktionen:


Keine Verwendung von UDDI
Kein XML-Encryption

Kein Session-Handling (keine Cockies bzw. Session-Ids), BPEL4WS
 SAP AG 2004, Teleseminar “Web Services” (Universität Mannheim), Markus Uhlig 6
5. Systemarchitektur von Web Services für ISA
PC ( Internet Browser )
SAP Client
SAP Web Application Server (WAS)
RFC
Power User / Distributor
Internet Communication Manager (ICM)
SMTP
HTTP
SOAP over HTTP
Java Personality
J2EE Engine
ABAP Personality
SOAP Framework
SOAP Framework
JSPs / Servlets
Mobile Devices (PDAs etc.)
Session /
Entity Beans
Business Server Pages
JCo
Business Objects
DBMS
 SAP AG 2004, Teleseminar “Web Services” (Universität Mannheim), Markus Uhlig 7
6. Datenadaption durch Content Repurposing
Ziel: Berücksichtigung von unterschiedlichen Formfaktoren der Clients
1.
Definition: Content Repurposing
 automatische Aufbereitung bzw. Anpassung von Daten
für unterschiedliche Formfaktoren von Endgeräten
 bestehende Daten meist für spezielle Anwendung erstellt
 lediglich eine einzige Kopie der unveränderten Daten
 Aufbereitung der Daten in Echtzeit
2.
Adaptionsstrategien
 Adaption beim Client
 Adaption über Proxy
 Adaption beim Sender
3.
Client-Informationen müssen vorab übermittelt werden !
Adaptionsprozess
1. Analyse und Charakterisierung von Daten  Einteilung in Kategorien
2. Adaption der Daten durch Translations- und Kompressionsmethoden
 Abhängig von Clientprofil und Adaptionsfähigkeit der Daten
 SAP AG 2004, Teleseminar “Web Services” (Universität Mannheim), Markus Uhlig 8
7. Design
Prozessfolge eines adaptiven WS für ISA
 SAP AG 2004, Teleseminar “Web Services” (Universität Mannheim), Markus Uhlig 9
7. Design
Analyse und Systemarchitektur ISA
J2EE Engine
Interaction & Presentation
Abbildung der Businesslogik, ohne Backendberücksichtigung
Abbildung der Businesslogik, mit backendspezifischer
Implementierung
Businesslogik
 SAP AG 2004, Teleseminar “Web Services” (Universität Mannheim), Markus Uhlig 10
7. Design
Integration von Web Services in die Architektur von ISA
/ J2EE Engine
 SAP AG 2004, Teleseminar “Web Services” (Universität Mannheim), Markus Uhlig 11
7. Design
Sequenzdiagramm adaptiver Web Services in ISA
ClientApp
Stub (Proxy)
Stub (Skeleton)
WSmyService
InitWSIF
MyServiceImpl
ISA Application
controls
Adaption:
DCF, ACG,
CAE
Method ()
(Un)Marshaling
CAP
Method()
new InitWSIF
startService
Request with
Parameters
in XML/ SOAP
getDataObjects
StructureOfDataObjects
getAdaptedObject
Java,
VB, c++
etc.
Java
Response with
adapted
DataObject
in XML/SOAP
AdaptedDataObject
AdaptedDataObject
Response
(Un)Marshaling
Response
 SAP AG 2004, Teleseminar “Web Services” (Universität Mannheim), Markus Uhlig 12
8. Implementierung
1. Technologien
W3C, .Net, J2EE (JAX-RPC/B/P etc.)
2. Benötigte Werkzeugsammlung (Service-Provider)

J2EE-Server  J2EE Engine (WS Toolkit) im Web Application Server






Web Service Toolkit im WAS, basierend auf JWSDP
Bean- / EJB-Methoden als WS
Generierung WSDL-Beschreibungen für installierte Beans
Integration Engine (Monitoring-, Logging-, Tracing-, Analysefunktionen)
Dynamisches Aufrufen von WS durch SOAP-Framework (WS-Navigator)
IDE  NetWeaver Developer Studio (Eclipse)


Basierend auf Eclipse 2.0 (Open Source Produkt von IBM)
Erweiterung der Plug-In Architektur (Extension-Points = Zugangspunkte für Erweiterungen)
Entwicklung Java-basierter (Web-)Anwendungen (J2EE-Toolset, WS-Toolset)

Unterstützung J2EE-Engine (Direct Deploy, Remote Debugging)

 SAP AG 2004, Teleseminar “Web Services” (Universität Mannheim), Markus Uhlig 13
8. Implementierung
 Implementierung der (adaptiven) Web Services in ISA


Beschränkt auf Laufzeitumgebung von ISA  J2EE-Engine
Vorgehensweise definiert durch JWSDP:
1.
2.
3.
4.
5.
6.
Java Beans als Basis für Schnittstellenbeschreibung
Interface-Kompatibilität durch Generic Data Types aus XI
Implementierung Anwendungslogik bzw. Funktionalität
Erzeugung WSD (Virtual Interface, Web Service Definition, Web Service Configuration)
Komprimierung Web Service Archive (WSAR)
Zusammenführung WAR (ISA) und WSAR in Enterprise Archive (EAR)
Deployment EAR
 Verfügbarkeit WSD auf J2EE Engine
7.
 Clientimplementierung



Einsatz beliebiger Tools und Programmiersprachen (Bsp.: Excel-Integration, Standalone-App)
Voraussetzung: Standardeinhaltung des W3C
Prinzipielle Vorgehensweise:
1.
2.
3.
Lokalisierung WSD
Generierung Proxy- bzw. Stubklassen (.Net, JAX-RPC)
Einbindung in Programmcode und Aufruf der Service-Methoden über Service-Proxy
 SAP AG 2004, Teleseminar “Web Services” (Universität Mannheim), Markus Uhlig 14
9. Performance
Viele Faktoren: WS-Implementierungen (JAX-RPC, .Net), Systemumgebung (Netzwerk, J2EE-Server, etc.)
Ziel: Allgemeine Aussagen über die Performance von WS-Technologien

Speicherplatz: SOAP textbasiert, Verwendung SOAP-Template
 Daten-Overhead (Bsp. Grafik, Integer-Array)
 Zeit: Marshalling- und Parsing-Pozesse (75 % der Gesamtprozesszeit, nach Abzug Netzwerkdelay)
 hohe Verarbeitungszeit von SOAP-Nachrichten im Vgl. zu andern Middleware-Ansätzen
 hohe Latenzzeit (Nullfunktionen mind. um Faktor 10 höher als bei CORBA und RMI)
 ungeeignet für zeitkritische Anwendungen (hierfür auch nicht entworfen!)
 SAP AG 2004, Teleseminar “Web Services” (Universität Mannheim), Markus Uhlig 15
10. Fazit
Web Services heute

Einsatzgebiete:



Vorteile:






Geschäftsschnittstellen (Bsp.: B2B)
Integrationswerkzeug (Ad-hoc-Integration per SOAP)
Einfache Verwendung durch Vielzahl von Tools (Bsp.: Remote Debugging, WSNavigator)
standardisiert: offene Standards
 benutzen Internet-Infrastruktur (Bsp. Firewalls, Lastverteiler)
 einfache Integration in Web- und Applikationsserver (vgl. Integration in ISA)
vermiedene Komplexität
 stabile Implementierungen
Interoperabel (Bsp. Verbindung J2EE, .Net  Excel-Integration)
Security-Aspekt: Freigabe gezielter Funktionen
(dadurch aber Application-Level Firewalls notwendig)
Probleme:


Fehlende Standards
 Session-Handling für übergreifendes Transaktionsverhalten (evt. BPEL4WS)
 Sicherheitsproblem (offenes XML-Format  WS Security Implementierung oft nicht kompatibel
zueinander)
 Attachements ( DIME/MIME)
Implementierung: Java Serializable Interface  Verwendung Byte-Array
 mit Einschränkungen verwendbar
 Verbesserungspotential bei Performance (Marshalling-, Parsingprozesse)
 SAP AG 2004, Teleseminar “Web Services” (Universität Mannheim), Markus Uhlig 16
10. Fazit
Web Services in Zukunft

Einsatzgebiete:




Middleware-Lösung und Integrationswerkzeug verschiedenster Anwendungen (über B2B hinaus)
Bsp.: Synergieeffekte durch Kombination von Middleware und Content Repurposing
WS-basierte Grids (Bsp. Globus Toolkit)
Kontrollprotokoll in Multiprotokollumgebung ( Versendung nicht-textbasierter Datenformate )
Erfolgsindikatoren:


Vielfältigkeit der möglichen Einsatzgebiete und einfache Verwendung
Beteiligung und Unterstützung aller großen Softwarehersteller
(Indigo in MS Longhorn, IBM WebShpere, SAP NetWeaver etc.)
 wichtige Komponente für global verteilte Systemarchitektur
 SAP AG 2004, Teleseminar “Web Services” (Universität Mannheim), Markus Uhlig 17
Fragen?
 Kontakt: [email protected]
 SAP AG 2004, Teleseminar “Web Services” (Universität Mannheim), Markus Uhlig 18