Diplomarbeit. Volker Ritzau

Größe: px
Ab Seite anzeigen:

Download "Diplomarbeit. Volker Ritzau"

Transkript

1 UNIVERSITÄT HAMBURG FAKULTÄT FÜR MATHEMATIK, INFORMATIK & NATURWISSENSCHAFTEN DEPARTMENT INFORMATIK ARBEITSBEREICH SOFTWARETECHNIK Diplomarbeit Volker Ritzau Technischer und betriebswirtschaftlicher Vergleich des ABAP- und JAVA- Stacks von SAP NetWeaver zur Unterstützung bei der Technologieauswahl in mittelständischen Unternehmen Kontaktdaten: Volker Ritzau Diplomstudiengang Wirtschaftsinformatik Matr.-Nr Tarpenbekstraße Hamburg Telefon: Mobil: Hamburg, Erstbetreuer: Dr. Guido Gryzcan Zweitbetreuer: Prof. Dr. Manfred Sommer Abgabe:

2 Inhaltsverzeichnis Seite I Inhaltsverzeichnis Inhaltsverzeichnis...I Abbildungsverzeichnis... IV Tabellenverzeichnis... V Abkürzungsverzeichnis... VI 1 Einleitung Motivation Zielsetzung Gang der Untersuchung Intendierter Leserkreis 4 2 SAP NetWeaver (TM) Integrations- und Applikationsplattform SAP-Technologieplattform (SAP Basis) SAP NetWeaver-Komponenten People Integration Information Integration Process Integration Application Platform Weitere Komponenten SAP Web Application Server Funktionale Architektur des SAP Web Application Servers Internet Communication Manager SAP Konnektoren Systemlandschaft des SAP WAS ABAP-Stack JAVA-Stack Vergleich der Technologiestacks Zusammenfassung der Ergebnisse 25 3 Erstellung eines Vergleichs- und Bewertungskriterienkatalogs Bewertungskriterien und Kennzahlen Klassische Qualitätskriterien von Software 27

3 Inhaltsverzeichnis Seite II Bewertungskriterien für IT-Architekturen Kennzahlen in der IT Kriterien zur Bewertung der Technologiestacks Auswertungs- und Bewertungsverfahren Wirtschaftlichkeitsanalyse Auswahl des Bewertungsverfahren Zusammenfassung der Ergebnisse 41 4 Vergleichende softwaretechnische Implementierung Präsentationsschicht Beschreibung Programmierung und Ergebnisse Auswertung Persistenzschicht (ABAP-Schema) Beschreibung Programmierung und Ergebnisse Auswertung Zusammenfassung der Ergebnisse 60 5 Aufstellung und Anwendung des Kriterienkatalogs Vorstellung der Projektsituation Aufstellung des Kriterienkatalogs Entscheidungsalternativen Merkmalsübersicht Bewertung der Entscheidungen Auswertung & Technologieempfehlung Kritik an der Anwendung des Kriterienkatalogs Zusammenfassung der Ergebnisse 71 6 Fazit und Ausblick Zusammenfassung der geleisteten Arbeit Offene Punkte Erweiterung des Katalogs auf Anwendbarkeit im Nicht-SAP-Bereich 74 (A) Anhang Nutzwertanalyse...77 (B) Anhang Quelltexte...78

4 Inhaltsverzeichnis Seite III (1) ZSQL 78 (2) ZBAPI_WRAPPER_SQLFLIGHT 79 (3) BSP ZBAPI_TEST 80 (4) SQLTest 81 (5) EnterpriseConnect 84 (6) Lokale Schnittstelle BAPI_SALESORDER_CREATEFROMDAT2 87 Literaturverzeichnis...88 Erklärung...93

5 Abbildungsverzeichnis Seite IV Abbildungsverzeichnis Abb. 1 SAP NetWeaver Fridge [KTD, S. 24]...8 Abb. 2 Applikationsserver Evolution bei SAP [SAP04, S. 11]...11 Abb. 3 Architektur des SAP WAS [nach HR04, S. 33 & 46]...12 Abb. 4 SAP JCo-Architektur [vgl. SAP08i]...15 Abb. 5 Hierarchie der SAP-Berechtigungen...18 Abb. 6 Entwicklungsprozess unter Einbeziehung aller Komponenten der JDI [KTD05, S. 45]...20 Abb. 7 Integration von JAVA und ABAP [nach HR04, S. 80]...24 Abb. 8 Nutzenwert (vereinfacht)...39 Abb. 9 Beispiel HTMLB-Baumstruktur...43 Abb. 10 BAPI-Explorer...44 Abb. 11 Layoutbereich des SAP-Geschäftsobjekts Produktkatalog...44 Abb. 12 BSP-Request Treeclick...46 Abb. 13 GWT-Request Treeclick"...46 Abb. 14 Beispiel GWT-Baumstruktur...47 Abb. 15 com.c1ips.gwtcatalog Paketstruktur...48 Abb. 16 GwtbaseEAR Enterprise Application Project...48 Abb. 17 Ausgabe ZSQL...51 Abb. 18 Laufzeitanalyse ZSQL...52 Abb. 19 Test RFC-Funktionsbaustein ZBAPI_WRAPPER_SQLSFLIGHT...52 Abb. 20 Beispiel BSP-Benchmark...53 Abb. 21 Zusammenhänge des J2EE-Toolsets...54 Abb. 22 Enterprise Connector - Select RFC Module...57

6 Tabellenverzeichnis Seite V Tabellenverzeichnis Tab. 1 SAP WAS "wichtigste" Bestandteile...11 Tab. 2 Exemplarische Requestverarbeitung und technische Architektur des SAP WAS [HR04, S. 43]...13 Tab. 3 Vom SAP WAS unterstützte J2EE-Standards...19 Tab. 4 Gegenüberstellung der technischen Merkmale der Technologiestacks...22 Tab. 5 Beispiel KPI - Produktivitätsindex...33 Tab. 6 Auswahl der klassischen Qualitätskriterien für Software...34 Tab. 7 Auswahl der Bewertungskriterien für IT-Architekturen...34 Tab. 8 Ausgewählte Kennzahlen für den Kriterienkatalog...36 Tab. 9 Risikotest (Auszug) [Kü05, S. 304]...38 Tab. 10 Standard Ordnerstrukturen eines GWT-Projekts...45 Tab. 11 Vergleichsobjekte für den Persistenzzugriff...51 Tab. 12 BSP-Benchmarks...53 Tab. 13 JCo-Verbindungsparameter...55 Tab. 14 Laufzeitverhalten mit JCo.Client.Function...56 Tab. 15 Aufstellung der generierten Klassen des SAP Enterprise Connectors...57 Tab. 16 Laufzeitverhalten mit SAP Enterprise Connector...58 Tab. 17 Gegenüberstellung der RFC-Laufzeiten...59 Tab. 18 Entscheidungsalternativen Technologieeinsatz...65 Tab. 19 Übersicht ausgewählter Merkmmale...66 Tab. 20 Bewertungshierarchie...68 Tab. 21 Bewertungsmatrix...69 Tab. 22 Nutzenwert der Entscheidungsalternativen...69

7 Abkürzungsverzeichnis Seite VI Abkürzungsverzeichnis Abkürzung 3Tier ABAP ABAP VM ABAP/4 ABAP-OO ABAP-Stack ABAP Workbench AJAX ALE ALV-Grid AS BAPI BC-SERV BO BOB BOR BSP CMS CPU CSS DDIC DMS DTR E-Commerce ERP FLOBS GUI GWT HTML HTMLB HTTP HTTPS ICF ICM IDE IDocs ISC IT Erklärung 3-Tier-Architektur Advanced Business Application Programming SAP-spezifische Programmiersprache ABAP Virtual Machine ABAP - Programmiersprache der 4. Generation ABAP - Objektorientiert ABAP Technologiestack ABAP Development Workbench SAPs integrierte ABAP Entwicklungsumgebung Asynchronous JavaScript and XML Application Link Enabling SAP spezifischer Integrationsdienst Advanced List Viewer-Grid SAP-spezifische Ausgabeart für Listen und Tabellen Application Server Business Application Programming Interface Basis Component Server Business Object Berechtigungsobjekt Business Object Repository Business Server Page Change Management System Central Processing Unit Cascading Style Sheets Data Dictionary Dokumentenmanagementsystem Design Time Repository Electronic Commerce Enterprise Resource Planning Flex over BSPs Graphical User Interface Google Web Toolkit Hypertext Markup Language HTML Business SAP-spezifische HTML-Erweiterung Hypertext Transfer Protocol HyperText Transfer Protocol Secure Internet Communication Framework Internet Communication Manager Integrated Development Environment Intermediate Document Internet-Server-Cache Informationstechnologie

8 Abkürzungsverzeichnis Seite VII Abkürzung Erklärung IT BSC IT Balanced Scorecard ITIL IT Infrastructure Library IViews Integrated Views eingebettete Seiten, z.b. im SAP Enterprise Portal J2EE Java 2 Platform Enterprise Edition Standard JAVA VM JAVA Virtual Machine JAVA-Stack JAVA Technologiestack JEE5 Java Plattform Enterprise Edition 5 JNI Java Native Interface KPI Key Performance Indicator MaxDB Datenbankserver von SAP MT Manntage mysap technology SAP Produktname mysap.com SAP Produktname NPV Net Price Value NWA Nutzwertanalyse PC Personal Computer PDA Personal Digital Assistant P-System Produktivsystem Q-System System zur Qualitätssicherung RCO Real Cost of Ownership RPC Remote Procedure Call RFC Remote Function Call proprietäre SAP-Standardschnittstelle zur Realisierung systemübergreifender Kommunikation ROI Return on Investment SAP AS SAP Applikationsserver SAP Basis SAP Basisplattform SAP BI SAP Business Intelligence SAP CAF SAP Composite Application Framework SAP CRM SAP Customer Relationship Management SAP ECC SAP ERP Central Component SAP EP SAP NetWeaver Enterprise Portal SAP ERP SAP Enterprise Resource Planning SAP HR SAP Human Resources SAP ITS SAP Internet Transaction Servers SAP JCo SAP Java Connector SAP JDI SAP Java Development Infrastructure SAP JRA SAP Java Resource Adapter SAP Kernel SAP Systemkern SAP LDAP Connector SAP Leightweight Directory Access Protocol Connector SAP NetWeaver SAP NetWeaver Applikations- und Integrationsplattform SAP NWDS SAP NetWeaver Developer Studio SAP PI SAP Process Integration SAP R/3 SAP ERP-System R steht dabei für realtime ( Echtzeit ) und die 3 steht für die 3-Tier-Architektur

9 Abkürzungsverzeichnis Seite VIII Abkürzung SAP SCM SAP SM SAP WAS SAP xapps SAP XI SDM SDN SMTP SOA SOAP SQL TCO TCP/IP TEI T-System TVO UI WD4A WDA WDJ WWW WYSIWYG XHTMLB XML XSLT Erklärung SAP Supply Chain Management SAP Solution Manager SAP Web Application Server SAP Cross Applications SAP Exchange Infrastructure Software Delivery Manager Software Developer Forum Simple Mail Transfer Protocol Serviceorientierte Architekturen Simple Object Access Protocol Structured Query Language Total Cost of Ownership Transmission Control Protocol/Internet Protocol Total Economic Impact Entwicklungs- und Testsystem Total Value of Ownership User Interface WebDynpro for ABAP WebDynpro Anwendungen WebDynpro Java World-Wide-Web What You See Is What You Get Extensible HTMLB Extensible Markup Language Extensible Stylesheet Language Transformation

10 Kapitel 1 Einleitung Seite 1 1 Einleitung Die SAP AG stellte als eine der ersten Softwareentwicklungsfirmen für Unternehmens- Informationssysteme ihre Systemarchitektur der Systemlandschaft für IT-unterstützende Geschäftsprozesse (SAP R/3) auf eine - mittlerweile als Quasi-Standard anzusehende - 3- Schichten-Systemarchitektur um. Diese ist für einen Betrieb auf Client/Server-Basis konzipiert und geprägt durch die Aufteilung in die drei Schichten (auch allgemein 3Tier-Architektur), bestehend aus Datenbanktier, Applikationsservertier und Frontendtier. [vgl. SAP08a; DFH03, S. 276ff.]. Mit dieser Umstellung wurde die Akzeptanz und Verbreitung der 3Tier-Architektur in IT- Geschäftsanwendungen gerade im Enterprise Resource Planning (ERP)-Systemumfeld angestoßen [vgl. SAP08a; KTB05, S.14]. Die Architektur der SAP Basisplattform (SAP Basis) ist gekennzeichnet durch drei Merkmale gekennzeichnet: Die alleinige Unterstützung der plattformneutralen, aber proprietären SAP- Applikationsplattform, der Optimierung der Laufzeitumgebung auf eine hohe Skalierbarkeit von Geschäftsanwendungen und die Integration der Entwicklungsumgebung in den SAP Applikationsserver (SAP AS). Deutlich zeigt sich die durchgängige SAP ist eine eigene Welt -Philosophie an der vollständigen Implementierung des Applikationsservers durch die SAP-eigene Programmiersprache Advanced Business Application Programming (ABAP) (bzw. ABAP-Objektorientiert (ABAP-OO)) und die Geschlossenheit durch die monolithischen Systeme wie SAP Enterprise Resource Planning (SAP ERP), SAP Supply Chain Management (SAP SCM), SAP Customer Relationship Management (SAP CRM) und andere. Mit Verbreitung und Wachstum des World-Wide-Web (WWW) und dem damit einhergehenden Erfolg der Programmiersprache JAVA, wurde auch bei SAP die proprietäre und monolithische Systemlandschaft weiter geöffnet. Dies wurde im ersten Schritt durch die Öffnung für Webanwendungen durch eine wiederum auf ABAP basierende Entwicklung und Implementierung des SAP Internet Transaction Servers (SAP ITS) durchgeführt. Dieser machte es möglich, über Standard Internetprotokolle (wie z. B. Hypertext Transfer Protocol (HTTP)) mit verschiedenen SAP-Systemen zu kommunizieren und Webanwendungen zu entwickeln, hatte aber noch keinen integrativoffenen Ansatz. Im zweiten Schritt, wurde der Applikationsserver erweitert und reimplementiert, so dass es jetzt als vollwertiger Web Server benutzt werden konnte. Der so genannte SAP Web Application Server (SAP WAS) unterstützt ab Release 6.20 den kompletten Java 2 Enterprise Edition Standard (J2EE), seit neuestem mit SAP NetWeaver 7.1 den Java Enterprise Edition 5 Standard (JEE5), und bietet somit die Möglichkeit Java-Applikationen zu entwickeln, zu kompilieren und zu hosten. Die Öffnung der proprietären, auf ABAP beruhenden SAP-Entwicklungslandschaft, war somit der dritte Schritt, um die SAP-Systemlandschaft konkurrenzfähig und zukunftssicher für die Durchdringung der IT-Geschäftsprozesse durch Internettechnologien und die Chancen und Herausforderungen des Electronic Commerce (E-Commerce) zu machen. Diese Öffnung führt

11 Kapitel 1 Einleitung Seite 2 allerdings auch zu einem nebeneinander zweier teils stark unterschiedlicher Entwicklungsumgebungen, dem ABAP Technologiestack (ABAP-Stack) und dem JAVA Technologiestack (JAVA-Stack). Die weitergehende Entwicklung der Serviceorientierten Architekturen (SOA) und die Umsetzung dieses Konzepts durch SAP in Form des Produktes SAP NetWeaver, führte dazu, dass der SAP WAS Basis jedes SAP-Systems (SAP ERP, SAP CRM, SAP SCM; ab dem jeweiligen Releasestand) ist. Durch diese große Verbreitung des SAP WAS hat jeder Kunde eine große Auswahl an Technologien zur Umsetzung seiner Ideen und damit auch für viele Projekte die Qual der Auswahl, welches Produkt oder welche Technologie die beste zur Umsetzung seiner Anforderungen ist. Die SAP AG hat im Laufe der letzten Jahre und der weitergehenden Entwicklung des SAP WAS ihr Produktportfolio mehrfach umstrukturiert, umgruppiert und umbenannt. So wird im ERP-Systemumfeld von SAP R/3, SAP ERP und mittlerweile SAP ERP Central Component (SAP ECC) gesprochen und im Bereich der SAP-Internettechnologien reicht die Namensgebung über den SAP ITS, SAP WAS, mysap.com, mysap technology bis zu der SAP NetWeaver Applikations- und Integrationsplattform (SAP NetWeaver). Eine genauere Betrachtung von SAP NetWeaver und eine Definition und Vorstellung der benötigten SAP-Begrifflichkeiten und SAP NetWeaver-Komponenten wird in Kapitel 2 vorgenommen, ebenso eine Abgrenzung der letztendlich zu betrachtenden und zu bewertenden SAP NetWeaver-Komponenten. 1.1 Motivation Durch die Arbeit bei einem SAP-Systemhaus, dessen Kundenkreis zum großen Teil aus dem industriellen Mittelstand kommt, wurde in verschiedenen webanwendungsbezogenen Projektsituationen auf Basis der SAP-Technologien deutlich, dass beim Kunden große Unsicherheiten auftreten und die Lösung der Frage welche, Technologie verwendet werden soll, Projekte erschwert und verlängert. Es ist anzumerken, dass aufgrund des segmentierten Kundenkreises (industrieller Mittelstand mit vorhandener SAP-Systemlandschaft), sich die Entscheidung zumeist darauf beschränkt, mit welchen Mitteln, Produkten und Technologien der SAP AG eine Umsetzung der Kundenbedürfnisse realisiert werden kann. Fragen, die in diesem Zusammenhang auftreten, sind z.b.: Welcher Technologiestack bzw. welche Entwicklungsumgebung soll für Webanwendungen benutzt werden? Welche Konsequenzen für spätere Entwicklungen hat eine Entscheidung zwischen den beiden Technologiestacks? Welches sind die Schlüsselindikatoren unter denen eine Entscheidung zu treffen ist? In wie weit ist die getroffene Entscheidung zukunftssicher?

12 Kapitel 1 Einleitung Seite 3 Welche Ressourcen können weiter verwendet werden und in welche muss neu investiert werden? Was kostet die Auswahl einer bestimmten Technologie? Erfahrene SAP-Berater und SAP-Entwickler sollten die jeweiligen Vor- und Nachteile der Entwicklung im Rahmen des JAVA- und bzw. oder des ABAP-Stacks der SAP NetWeaver Entwicklungsumgebung gut kennen und sich über die strategische Fragestellungen und Entscheidungen bewusst sein. Aus diesem Zusammenhang entstand die Notwendigkeit einen Kriterienkatalog aufzustellen, mit dem eine unkomplizierte, anpassbare und damit individuelle Beurteilung und Bewertung von Kundensituationen (Projekten) mit anschließender Technologieempfehlung durchgeführt werden kann. 1.2 Zielsetzung Zielsetzung dieser Diplomarbeit ist es einen solchen Kriterienkatalog auf Grundlage von betriebswirtschaftlichen und softwaretechnischen Kriterien zu entwickeln, aufgrund derer solch eine Beurteilung und Bewertung von Kundensituationen durchgeführt werden kann. Das Ergebnis dieser Projektcharakteristik soll eine klare und differenzierte Technologieempfehlung sein, die vorher ausgesuchte und gewichtete Schlüsselindikatoren und Entscheidungsfaktoren berücksichtigt. Der Kriterienkatalog soll weiterhin durch die vorgenommenen Testimplementierungen in Kapitel 4 mit anschaulichen Beispielen und einfachen Tests untermauert werden. Die Anwendung des Katalogs ist auf Projektsituationen aus dem Kundenkreis des SAP- Beratungshauses begrenzt. Das bedeutet, wie eingangs erläutert, die Kunden kommen zum einen aus dem (zumeist industriellen) Mittelstand und zum anderen ist im Voraus schon einmal eine Entscheidung für die Nutzung des SAP-ERP-Systems getroffen worden. Aus so einer Entscheidung folgt oft die Konsequenz, dass die Betrachtung von Fremdprodukten damit sind hier Nicht-SAP-Produkte gemeint aus integrativen Aspekten, d.h. dem Aufbau und der Unterstützung einer einheitlichen IT-Infrastruktur, zweitrangig ist. Diesem das Betrachtungsfeld stark eingrenzenden Punkt wird im Fazit dieser Arbeit genüge getan. Es wird ein Ausblick darauf gegeben, welche Schritte und Faktoren notwendig sind, um eine Erweiterung des Kriterienkatalogs auf die Betrachtung von Nicht-SAP-Produkten durchzuführen. 1.3 Gang der Untersuchung Kapitel 1 gibt eine Einführung in die Thematik, beschreibt die Entstehung der Aufgabenstellung, die Motivation und die Zielsetzung dieser Arbeit.

13 Kapitel 1 Einleitung Seite 4 Kapitel 2 enthält eine nähere Beschreibung der SAP NetWeaver Integrations- und Applikationsplattform, der SAP-spezifischen Systemlandschaft und der zu beurteilenden Technologiestacks. Es führt die SAP-eigenen Begrifflichkeiten ein, die für das Verständnis der weiteren Untersuchung hilfreich sind. Es wird außerdem eine klare Abgrenzung vollzogen und begründet, welche SAP NetWeaver-Komponenten in die Untersuchung einbezogen werden. Der in den darauf folgenden Kapiteln benutzte Kriterienkatalog wird in Kapitel 3 erarbeitet. Dazu werden zuerst Bewertungskriterien für Software, IT-Systeme und IT-Architekturen, sowie Kennzahlen aus der IT vorgestellt. Aus diesen wird eine sinnvolle Auswahl für die Bewertung der SAP NetWeaver-Technologiestacks getroffen. Teilweise werden die Bewertungskriterien auf die erläuterte Fragestellung angepasst. Im zweiten Teil wird die Wirtschaftlichkeitsanalyse vorgestellt. Aus dieser werden Teilverfahren für die Anwendung im Kriterienkatalog ausgewählt. In Kapitel 4 werden auf Grundlage einiger der im dritten Kapitel entwickelten Bewertungskriterien einfache Implementierungen zur Bewertung und argumentativen Untermauerung durchgeführt. Diese vergleichenden Implementierungen sind zur Aufstellung und späteren Anwendung des Kriterienkatalogs notwendig und sinnvoll. Bestimmte Merkmale der Technologiestacks wären im Projektumfeld erst nach einer Umsetzung des Projektes bewertbar, die Aufgabe des Katalogs ist aber die Entscheidungshilfe zur Auswahl einer Technologie. Die vergleichenden Implementierungen sind angelehnt an die 3Tier-Architektur des SAP WAS. D.h. es wird zumindest zur Prüfung der Schnittstellen zur Applikationsschicht jeweils eine Testimplementierung eines ausgewählten Kriteriums des Kataloges vorgenommen. Das Vorgehen bei der Implementierung wird beschrieben und die Implementierungen vorgestellt. Die Ergebnisse werden dargestellt und auf besonders kritische Bereiche oder Unterschiede wird aufmerksam gemacht. In Kapitel 5 wird anhand einer konkreten Projektsituation aus dem Kundenumfeld des SAP- Beratungshauses ein auf den und mit dem Kunden angepasster Kriterienkatalog aufgestellt und eine Analyse zur Technologieauswahl durchgeführt. Anhand dieser wird eine nachfolgende Empfehlung und Strategie für den Kunden beschrieben und ausgewertet. Die konkrete Anwendung des Katalogs wird ebenfalls kritisch betrachtet. Kapitel 6 zieht ein Resümee über die durchgeführte Arbeit, und zeigt einen Ausblick welche Punkte offen geblieben sind. Es werden Überlegungen dazu angestellt, in welcher Art und Weise der Katalog ergänzt werden kann, um auch Nicht-SAP-Produkte anhand dieser aufgestellten Kriterien mit in die Bewertung einzubeziehen. 1.4 Intendierter Leserkreis Das Ziel dieser Arbeit ist die Entwicklung eines Kriterienkatalogs zur Unterstützung bei der Entscheidungsfindung bei mittelständischen IT-Projekten, die Webanwendungen (Inter- oder Intranetanwendungen) auf der Grundlage der SAP ERP-Software und der SAP NetWeaver Integrations- und Applikationsplattform durchführen wollen.

14 Kapitel 1 Einleitung Seite 5 Von dem Leser wird ein grundlegendes Verständnis von IT-Systemen und IT-Anwendungen, sowie IT-Architektur erwartet, weil auf grundlegende Konzepte der Informatik nicht näher eingegangen wird. Explizit sollte ein Verständnis für die Funktionsweise von Webanwendungen gegeben sein, um die Unterschiede in den SAP-Technologieplattformen und der aufgeführten Beispiele einordnen zu können. Der intendierte Leserkreis ist aufgrund der speziellen Projektart somit im SAP-Umfeld zu finden: Berater und Entwickler, die sich mit den neueren Technologien von SAP auseinander setzen, sowie SAP-Kunden, die sich einen Überblick über die SAP-spezifischen Begrifflichkeiten und Möglichkeiten machen wollen und sich im Rahmen von IT-Projekten mit den verschiedenen Technologien beschäftigen. Allerdings bietet diese Arbeit auch für interessierte IT-Experten, die sich zuvor noch nicht mit den IT-Systemen, IT-Architekturen und Produkten von SAP auseinandergesetzt haben, die Möglichkeit, einen Einblick in die technologischen Grundlagen der SAP NetWeaver Integrations- und Applikationsplattform zu erhalten. Dabei hat die Arbeit nicht den Anspruch alle denkbaren Formen der Umsetzungsmöglichkeiten oder Lösungen von IT-Szenarios aufzuzeigen oder zu diskutieren, sondern beschränkt sich auf die Möglichkeiten der SAP-Technologiestacks.

15 Kapitel 2 SAP NetWeaver(TM) Integrations- und Applikationsplattform Seite 6 2 SAP NetWeaver (TM) Integrations- und Applikationsplattform SAP NetWeaver ist die umfassende Integrations- und Anwendungsplattform der SAP. [vgl. HR05, S.19]. Dabei steht für SAP die ganzheitliche Integration im Vordergrund, die sich aus der Zusammenführung von Menschen, Informationen und Geschäftsprozessen über alle Technologie- und Organisationsformen hinweg zusammensetzt [vgl. HR05, ebd.]. Im diesem Kapitel wird zuerst auf die Technologieplattform SAP Basis eingegangen, aus der der SAP WAS als Applikationsplattform gewachsen ist. Die SAP Basis in Form des SAP WAS bildet immer noch das Fundament von SAP NetWeaver und somit von allen Anwendungskomponenten, welche im nachfolgenden Kapitel beschrieben werden. Die Betrachtung der SAP Basis und der SAP-Systemarchitektur ist zum weitern Verständnis und zur späteren Abgrenzung der zu vergleichenden Bereiche sinnvoll. Im zweiten Teil dieses Kapitels, werden die wichtigsten Komponenten von SAP NetWeaver kurz vorgestellt, um auch hier im Weiteren die Abgrenzung und Auswahl der zu vergleichenden Komponenten vornehmen und begründen zu können. Als letztes wird der SAP WAS in seiner jetzigen Architektur und Funktionsweise betrachtet, sowie eine erste Gegenüberstellung der beiden Ausprägungen der Applikationsplattform vorgenommen. 2.1 SAP-Technologieplattform (SAP Basis) Die SAP AG stellt seit Anfang der Entwicklung ihres ERP Systems eine Technologieplattform zur Verfügung, im SAP-Sprachgebrauch kurz als SAP Basis bezeichnet. Diese hat im Laufe der Zeit einen umfangreichen Wandel vollzogen. Wie eingangs erwähnt stellte SAP als eines der ersten Unternehmen ihre Technologieplattform auf eine Client-/Server- und eine 3Tier- Architektur um. Die SAP Basis ist in der Integrations- und Applikationsplattform SAP NetWeaver aufgegangen und bildet dort als SAP WAS das Fundament für sämtliche SAP NetWeaver-Komponenten. Die SAP Basis hat als Technologieplattform die drei folgenden prägenden Architekturmerkmale: Plattformunabhängige und auf Geschäftsanwendungen optimierte Programmiersprache (ABAP) ABAP wurde von SAP entwickelt. Sie ist für Geschäftsanwendungen optimiert. Diese Optimierung ist u.a. durch eine spezielle Technik des Zugriffs auf tabellenartige Objekte im Hauptspeicher und einen syntaktisch und semantisch in der Sprache eingebetteten Zugriff auf Datenbanktabellen über einen portablen SQL-Subset realisiert. Mit ABAP kann prozedural und seit 1989 objektorientiert programmiert werden (ABAP/4 oder ABAP-OO).

16 Kapitel 2 SAP NetWeaver(TM) Integrations- und Applikationsplattform Seite 7 Integrierte Entwicklungsumgebung Die Entwicklungsumgebung (ABAP Development Workbench (ABAP Workbench)) ist in die Basisplattform integriert. Über diese werden Datenbankstrukturen, Tabellen oder Integrated Views (IViews) im ABAP Dictionary definiert. Auf diesem werden weitergehende Strukturen und Datentypen definiert. Dies hat den Vorteil der aktiven Verwaltung aller Programmobjekte, was zur Folge hat, dass alle abhängigen Objekte bei Bedarf neu generiert werden. Angebot und Unterstützung zahlreicher Services und Frameworks Durch den Einsatz von Frameworks werden eine normierte Bedienbarkeit und eine Performanceoptimierung erreicht. Nach Aussage von SAP steigt die Akzeptanz der Geschäftsanwendung, wenn gemeinsame Frameworksanwendungen übergreifend genutzt werden. Das Standard Framework von SAP ist das Business Framework. Hierunter versteht SAP die Konfiguration des Unternehmensgeschäftes. Das Framework hat im Wesentlichen die folgenden Bestandteile: Businesskomponenten, Businessobjekte (BO), Business Application Programming Interfaces (BAPIs) und den Integrationsdienst ALE (Application Link Enabling). Geschäftskomponenten setzen sich aus Geschäftsobjekten zusammen, z.b. die Komponente SAP Human Resources (SAP HR) aus BOs wie Mitarbeitern, Auftraggebern, Gehaltsabrechnungen und anderen. Die Geschäftskomponenten und -objekte können über BAPIs bearbeitet werden [vgl. De98, S.29-36]. Für die softwaretechnischen Vergleichstests in Kapitel 4 ist dabei zu wissen, dass aus historischer Sicht die Implementierung der BOs und damit auch deren Verarbeitung im ABAP-Stack durchgeführt werden. Sobald ein BAPI gerufen wird, findet die weitere Bearbeitung des Aufrufs im ABAP-Stack statt. ALE ist zur leichteren plattform- und firmenübergreifenden Interoperabilität von Applikationen und Systemen bzw. Geschäftsprozessen gedacht, wird im Laufe dieser Diplomarbeit aber keine weitere Rolle spielen [vgl. SAP08b]. Als weiteres Merkmal ist zu nennen, dass die SAP Basis von zugrunde liegender Hard- und Systemsoftware durch ein Transaktions- und Verbuchungskonzept abstrahiert [vgl. KTB05, S.13]. Die Portierung von SAP-Systemen ist auf den so genannten SAP Systemkern (SAP Kernel) beschränkt. Dieser hat aber für diese Arbeit keine weitere Bedeutung. Eine Unterstützung zahlreicher Plattformkombinationen ist möglich.

17 Kapitel 2 SAP NetWeaver(TM) Integrations- und Applikationsplattform Seite SAP NetWeaver-Komponenten SAP NetWeaver ist zum einen die technische Umsetzung und Implementierung einer Enterprise-SOA von SAP. Im SAP-Sprachgebrauch wird auch von einer Enterprise Service Architecture (ESA) gesprochen. Eine ESA erweitert das Konzept von Web Services zu einer Architektur für Geschäftsanwendungen. SAP versteht eine ESA als Werkzeug um das Design einer kompletten serviceorientierten Lösung für einen Geschäftsprozess durchzuführen [vgl. KTD05, S. 34 & 182; vgl. SAP08j]. Zum anderen wurden mit Einführung des Produktes SAP NetWeaver verschiedene ehemals eigenständige SAP-Produkte in einem integriert. Die nebenstehende Grafik (Abb. 1) zeigt in Zentrum die vier Hauptebenen von SAP NetWeaver. Abb. 1 SAP NetWeaver Fridge [KTD, S. 24] Die drei oberen Ebenen bilden die Integrationsschicht, die unterste die Applikationsschicht. Die Ebenen der Integrationsschicht sind nicht hierarchisch aufgebaut. Sie sind unabhängig voneinander entstanden, wachsen aber im SAP NetWeaver-Konzept immer enger zusammen. Alle Ebenen haben die Applikationsschicht als Fundament. Die beiden Technologiestacks der Applikationsschicht sind der Hauptgegenstand der Betrachtungen dieser Arbeit. In den folgenden Unterkapiteln wird der Sinn und Zweck aller Komponenten kurz erläutert People Integration Mit der Ebene der Anwenderintegration wird ein einheitlicher Zugriff auf verschiedene Systeme und Applikationen auf Frontendebene mit einem einheitlichen Benutzerinterface per Webbrowser - gewährleistet [vgl. NKK07, S. 17ff.]. Durch diese Einbindung des Menschen in den Geschäftsprozess soll die Produktivität gesteigert werden [vgl. Ei07 et al. S. 407]. Dabei ist die Hauptkomponente das SAP NetWeaver Enterprise Portal (SAP EP). Über dieses haben Benutzer Zugang zu den Funktionen und Informationen, die sie individuell benötigen und für die sie über die ihnen zugeordnete Rolle die Berechtigung zum Lesen, Schreiben, Ausführen oder Verändern haben. Der Zugriff kann über beliebige Datenquellen stattfinden. Laut SAP bleibt der Administrationsaufwand der Benutzerrollen in einem

18 Kapitel 2 SAP NetWeaver(TM) Integrations- und Applikationsplattform Seite 9 vernünftigen Verhältnis [vgl. HR05, S. 19] [vgl. KTD05, S. 25]. Das SAP EP bietet Möglichkeiten zur synchronen und asynchronen Zusammenarbeit in Teams und Gruppen. Auch die Darstellung und Bearbeitung von Geschäftsabläufen (Workflows) durch die Mitarbeiter kann mit dem SAP EP umgesetzt werden. Mit Multi-Channel-Access ist die Komponente SAP Mobile Infrastructure gemeint, mit der mobile Geräte wie Personal Digital Assistants (PDAs) oder mobile Anwendungen, online und offline, integriert werden Information Integration Die Ebene der Informationsintegration konsolidiert strukturierte und unstrukturierte Informationen und macht diese einfach zugänglich [vgl. HR05, S.19]. In dieser Ebene wurde die SAP Business Intelligence (SAP BI) (vorher SAP Business Warehouse) in die SAP NetWeaver Architektur integriert. SAP BI ist das Datawarehouse und Managementinformationssystem von SAP. SAP BI Analysen und Reports sind u.a. voll über das SAP EP integriert. Das SAP Master Data Management stellt Services zur Konsolidierung, Harmonisierung und das zentrale Management von Masterdaten (z.b. Produktdaten, Kundendaten) zur Verfügung, wobei es für Datenintegrität über alle Geschäftsprozesse sorgt Process Integration Die Ebene der Prozessintegration soll nahtlose Geschäftsabläufe, die heterogene und Nicht- SAP-Systeme umspannen, ermöglichen [vgl. HR05, S.19]. Systemübergreifende Prozesse müssen vor Ablauf definiert werden und werden anschließend zur Ausführung gebracht, dafür werden entsprechende Werkzeuge und Ausführungsumgebungen benötigt. Dies wird in SAP NetWeaver durch die SAP Exchange Infrastructure (SAP XI) umgesetzt (seit kurzem auch SAP Process Integration (SAP PI)) Application Platform Die einheitliche und offene Applikationsplattform ist das Fundament aller vorher aufgezählten Ebenen. Sie bildet somit die komplette Infrastruktur, um zu entwickeln, zu betreiben und einzusetzen. Der SAP WAS ist laut SAP eine gut skalierbare und stabile Applikationsplattform. Er bietet die Möglichkeit mit ABAP und JAVA zu entwickeln und stellt jeweils eine integrierte Entwicklungsumgebung zur Verfügung. Der SAP WAS ist betriebssystem- und datenbankunabhängig. Er unterstützt offene Standards, wie die Standard Internet-Protokolle, und bietet die Möglichkeit Web Services zur Verfügung zu stellen. Durch die einheitliche Plattform für alle SAP-Lösungskonzepte, Kundenerweiterungen und Entwicklungen werden Installations- und Administrationskosten gesenkt.

19 Kapitel 2 SAP NetWeaver(TM) Integrations- und Applikationsplattform Seite Weitere Komponenten Als weitere Komponenten von SAP NetWeaver sind zur Vollständigkeit das Life-Cycle- Management in Form des SAP Solution Mangers (SAP SM) und das Composite Application Framework (SAP CAF) zu erwähnen. Der SAP Solution Manager dient als Werkzeug zur Überwachung und Wartung von IT-Systemlandschaften. U.a. integriert er ein Service-Level- Reporting. Das SAP CAF bietet eine Entwicklungs- und Laufzeitumgebung zur Entwicklung von Composite Applications und SAP xapps, die Geschäftsprozesse über unterschiedliche Applikations-, System- und Organisationsebenen hinweg abbilden und eine flexible Integration neuer und alter funktionaler Bestandteile ermöglichen. Anzumerken ist, dass die SAP NetWeaver-Plattform verschiedene Sicherheitsstandards zur Authentifizierung und verschlüsselten Datenübertragung unterstützt.

20 Kapitel 2 SAP NetWeaver(TM) Integrations- und Applikationsplattform Seite SAP Web Application Server Der Applikationsserver ist die Kernkomponente der Betrachtung dieser Arbeit und der vergleichenden Implementierungen. Die Grafik (vgl. Abb. 1) zeigt die Entwicklung des SAP WAS über die verschiedenen Releasestände mit den wichtigsten Neuerungen. So ist z.b. die J2EE-Engine seit dem Releasestand 6.20 im Jahr 2002 integriert. Abb. 2 Applikationsserver Evolution bei SAP [SAP04, S. 11] SAP gibt die in nebenstehender Tabelle (vgl. Tab. 1) aufgeführten Merkmale als wichtigste Bestandteile des SAP WAS an [vgl. HR05, S. 50]. Die für die weitere Betrachtung dieser Arbeit sich als wichtig herausstellenden Merkmale sind grau gekennzeichnet. SAP WAS Bestandteile Integriertes Datenbanksystem Skalierbare hoch verfügbare SAP AS- J2EE-Integration Infrastruktur Integrierte Entwicklungsumgebung Plattformunabhängigkeit Webserver Softwarelogistik, Versionskontrolle Vereinfachte Administration Webservice Infrastruktur umfassende Benutzerverwaltung, Konnektivität, Internationalisierung Berechtigungen offene Internetstandards Sicherheitsinfrastruktur Internet-Mail ITS-Integration Tab. 1 SAP WAS "wichtigste" Bestandteile Funktionale Architektur des SAP Web Application Servers Webbasierte Anwendungen werden wie bereits erwähnt in einer 3-Schichten Architektur entworfen: die Präsentations-, die Applikations- und die Datenbankschicht.

21 Kapitel 2 SAP NetWeaver(TM) Integrations- und Applikationsplattform Seite 12 Die Präsentationsschicht liegt beim Client und stellt die Benutzerschnittstelle dar. Sie wird als Frontend bezeichnet. Die Datenbankschicht besteht aus einem oder mehreren Datenbankservern, auf denen sämtliche Daten, die für die Anwendung benötigt werden, gespeichert werden. Die Datenbankschicht wird auch als Backend bezeichnet. In der Mitte liegt die Applikationsschicht, wo Applikationsserver die Verarbeitung und die Geschäftsfunktionalität übernehmen, Daten aus der Datenbankschicht beschaffen, verarbeiten und zurück schreiben und die angeforderten und evtl. aufbereiteten Daten der Präsentationsschicht zur Verfügung stellen. Die Applikationsschicht kann wiederum in weitere Schichten eingeteilt werden. Die folgende Grafik (vgl. Abb. 3) zeigt auf der linken Seite ein allgemeines Schema der Drei-Schichten- Architektur, auf der rechten Seite wird die Applikationsschicht anhand des speziellen funktionalen Aufbaus des SAP WAS dargestellt. Man kann erkennen, dass in der Präsentationsschicht, in der Businessschicht und der Persistenzschicht sämtliche Funktionalitäten in doppelter Ausprägung vorhanden sind. Diese werden für die Unterstützung der ABAP- (im Bild rosa gekennzeichnet) und der JAVA-Funktionalitäten (im Bild gelb gekennzeichnet) benötigt. Im weiteren Verlauf bezieht sich der Begriff JAVA-Stack auf die JAVA-Umgebung über alle Schichten, sowie der Begriff des ABAP-Stack auf alle Ausprägungen der ABAP-Umgebung. Ebenfalls aus der Grafik zu entnehmen ist, dass die Konnektivitätsschicht und die Integrationsschicht nicht speziell einem der Technologiestacks dienen, sondern mit ihren Funktionalitäten beiden zur Verfügung stehen. Abb. 3 Architektur des SAP WAS [nach HR04, S. 33 & 46]

22 Kapitel 2 SAP NetWeaver(TM) Integrations- und Applikationsplattform Seite Internet Communication Manager Der Internet Communication Manager (ICM) ist die Schnittstelle des SAP WAS zum Internet, die die Kommunikation über das Transmission Control Protocol/Internet Protocol (TCP/IP) ermöglicht. Der ICM beinhaltet Plug-Ins, die die Kommunikation per HTTP, HTTP Secure (HTTPS) und Simple Mail Transfer Protocol (SMTP) benötigt. Der SAP WAS kann in der Serverrolle und in der Clientrolle auftreten. In der Serverrolle nimmt der ICM die Anfragen entgegen und verteilt diese über die Dispatcher an die lokalen Ausführungseinheiten, die Workprozesse des ABAP-Stacks oder an die der J2EE-Engine. Eine exemplarische Reqestverarbeitung findet sich in folgender Tabelle (vgl. Tab. 2) Exemplarische Requestverarbeitung und technischen Architektur des SAP WAS 1. Der ICM erhält einen HTTP-Request (für Server und Port oder Standard) 2. ICM entscheidet, ob ABAP- oder JAVA- Stack gerufen werden müssen (hier: ABAP) 3. Der ICM legt die Daten in eine Memory Pipe und informiert den Dispatcher 4. Der Dispatcher nimmt den ICM- Request an, legt einen Kontext an und bestimmt einen Workprozess zur Verarbeitung 5. Der Workprozess bearbeitet die Daten aus der Memorypipe und speichert sie dort wieder 6. Der ICM schickt die Response Daten an den Client Tab. 2 Exemplarische Requestverarbeitung und technische Architektur des SAP WAS [HR04, S. 43] Der ICM beinhaltet ebenfalls einen Cache für die Zwischenspeicherung von HTTP-Objekten. Der ICM-Server-Cache (auch: Internet-Server-Cache (ISC)) bedient wiederholte Client- Anfragen ohne einen Workprozess zu starten und somit ohne auf die Datenbank zuzugreifen. Für den angestrebten Vergleichstest wird der Server-Cache deaktiviert, damit keine Cache- Treffer die Ergebnisse verfälschen. Das Internet Communication Framework (ICF) liefert für den ABAP-Stack eine objektorientierte Verschalung zur Behandlung von HTTP-Anfragen und Antworten. Es wird auch als HTTP-Framework bezeichnet.

23 Kapitel 2 SAP NetWeaver(TM) Integrations- und Applikationsplattform Seite 14 Die Entwicklung des ICF und des ICM ermöglichten erst die direkte Anbindung des SAP R/3 Applikationsservers als SAP WAS an das Internet [vgl. Ho06, S. 27] SAP Konnektoren SAP-Systemen inhärent ist schon immer die Möglichkeit BAPIs und Funktionsbausteine über einen Remote Function Call (RFC) zu rufen und darüber gerufen zu werden. RFC ist ein von SAP entwickeltes proprietäres Protokoll zum Aufruf von Funktionen in (anderen) Systemen über eine Netzwerkverbindung. Dabei können Übergabe- und Ergebnisparameter mitgegeben werden. [vgl. S-N04, S. 36]. RFC unterstützt dabei synchrone, asynchrone und transaktionale Aufrufe [vgl. S-N04, S. 330]. SAP hat die Öffnung ihrer monolithischen Strukturen über die Integration Engine (die Integrationsschicht des ICM) weiter vereinfacht. Die Aufgabe der Integration Engine ist die Kommunikation des SAP-Systems mit anderen Systemen zu ermöglichen. Ein wesentlicher Bestandteil der Integrationsschicht sind die SAP Konnektoren, sie sind entscheidenden Komponenten der SAP-Kommunikationstechnologie [vgl. SAP08i]. Diese werden von der SAP kostenlos mit ausgeliefert und ermöglichen die Anbindung von Fremdsystemen an den ABAP-Stack. Es gibt z.b. den SAP Leightweight Directory Access Protocol Connector (SAP LDAP Connector), den SAP Connector für Visual Studio.NET oder auch den SAP Java Connector (SAP JCo). Letztgenannter wird für unsere Betrachtungen der Technologiestacks eine wichtige Rolle spielen, deshalb soll dieser im Folgenden im Detail beschrieben werden. Die Nutzung und Bereitstellung von Webservices sind seit der Version 6.20 des SAP WAS für den ABAP- und den JAVA-Stack möglich. Webservices sind eine standardisierte Schnittstelle zur Kommunikation von Softwarekomponenten zwischen verschiedenen Systemen [vgl. S- N04, S. 37]. Somit ist auch die Kommunikation der beiden Technologiestacks über Webservices möglich. Dies ist einmal auf Applikationsebene (low-level) möglich, bei der Simple Object Access Protocol (SOAP) Nachrichten durch die Anwendung selbst verschickt und interpretiert werden müssen oder durch den Integration Builder (high-level), einer SAP PI Komponente, durch den Proxyklassen für Webservices generiert werden, die dann relativ leicht in Anwendungen integriert werden können. Angemerkt sei, dass SAP JCo genau auf die Kommunikation des JAVA-Stacks mit dem ABAP-Stack, in Form des SAP ECC Backends optimiert wurde. Es ist davon auszugehen, dass die Performanz eines JCo-Aufrufes um ein vielfaches besser ist, als bei der möglichen Kommunikation über Webservices, bei der eine produktionsreife Servicequalität noch nicht gewährleistet werden kann. SAP arbeitet allerdings daran, eine serviceorientierte Abstraktion von Anwendungsschicht und Persistenzschicht über Webservices zu erreichen [vgl. SAP08i]. An dieser Stelle sei herausgestellt, dass eine strikte Trennung von ABAP- und JAVA- Persistenzschicht von SAP beabsichtigt und umgesetzt ist. Dies beantwortet die sich stellende Frage, warum man nicht das vorhandene ABAP-Datenbankschema auch als JAVA- Persistenzschema benutzt und somit direkt, z.b. über Java Database Connectivity (JDBC), darauf zugreift, anstatt SAP Konnektoren (insbesondere JCo) zu verwenden. Hierfür führt SAP u.a. die folgenden beiden Gründe auf [vgl. S-N05, S. 290ff.]: Der direkte Zugriff würde zum einen dem J2EE-Standard widersprechen, da dann eine Existenz der ABAP-

24 Kapitel 2 SAP NetWeaver(TM) Integrations- und Applikationsplattform Seite 15 Persistenzschicht vorausgesetzt würde und somit die Unabhängigkeit verloren ginge, zum anderen, müssten JAVA-Entwickler den ABAP-Konventionen z.b. bzgl. Sperrverwaltung und Transaktionssicherheit folgen, um die Datenkonsistenz sicher zu stellen. SAP JCo basiert auf dem Java Native Interface (JNI) und wurde von SAP teils in JAVA und teils in C programmiert. SAP JCo ist demnach eine Middleware, die als Brücke zwischen der ABAP- und JAVA-Welt dient. Dabei ermöglicht SAP JCo, dass ABAP-Anwendungen und JAVA-Anwendungen bidirektional miteinander kommunizieren können. Diese Kommunikation wird auch InboundCall (JAVA ruft ABAP) und OutboundCall (ABAP ruft JAVA) genannt. SAP JCo wird als ein Paket von JAVA-Klassen zur Verfügung gestellt, die zur Verwendung in ein JAVA-Programm importiert werden müssen. JCo ist Bestandteil des SAP Business Connectors und ebenso integraler Bestandteil des SAP WAS zur Kopplung der beiden Technologiestacks [vgl. S-N04, S. 331]. Aus Sicht eines JAVA-Clients wird eine JAVA-Methode des JCo Application Programming Interface (API) gerufen, diese wird über die RFC-Engine in einen ABAP-Aufruf gewandelt und an das SAP System gesendet. Andersherum wird der gleiche Weg beschritten, das SAP System generiert einen RFC-Aufruf, der über die RFC-Engine und die JCo-API in einen JAVA-Methodenaufruf umgewandelt wird. Die nebenstehende Abbildung (vgl. Abb. 4) veranschaulicht die beschriebenen Schritte. Java Anwendung JCo Java API Middleware Interface RFC Middleware JNI Layer SAP JCO Von der SAP werden in Bezug auf JCo-Verbindungen zwei Alternativen zur Verfügung gestellt [vgl. SAP08i]: Direkte JCO-Verbindungen diese werden direkt geöffnet und bleiben so lange erhalten, bis sie vom Programm wieder geschlossen werden. Der Anwendungsentwickler muss sich um Verbindungsaufbau und -abbau kümmern. RFC Library RFC SAP System Abb. 4 SAP JCo-Architektur [vgl. SAP08i] JCo-Connection Pools Bei Connection Pools wird eine definierte Anzahl an Verbindungen in einem Pool für alle Benutzer zur Verfügung gestellt und aufrecht gehalten. Soll eine Verbindung benutzt werden, wird eine Anfrage an den Pool gestellt. Dieser antwortet, indem dieser eine Verbindung zurückgibt. Ist das anfordernde Programm mit der Nutzung der Verbindung fertig, wird diese zum Schluss wieder an den Pool frei gegeben. Diese Verbindungspooling hat zwei Vorteile, einmal das ein Overhead bei der Anmeldung am SAP- System vermieden wird, da die Verbindungen erneut benutzbar sind, zum anderen kann die Anzahl der Verbindungen über den Pool begrenzt werden, so dass die Systemressourcen besser kontrolliert werden können. Bei InboundCalls, können direkte Verbindungen, oder Verbindungen über einen Connection Pool hergestellt werden. Bei OutboundCalls muss ein als eigenständiger Server agierendes JAVA-Programm auf dem Host deployed werden, was letztendlich über Sockets die ankommenden ABAP-Clientaufrufe annimmt [vgl. S-N04, S. 339]. Alle Metadaten die für den Aufruf von RFC-fähigen Funktionsbausteinen benötigt werden, sind in einem JCo-Repository abgelegt. Dies beinhaltet z.b. Import- und Exportparameter und

25 Kapitel 2 SAP NetWeaver(TM) Integrations- und Applikationsplattform Seite 16 deren Typisierung. Alle Metadaten werden zur Laufzeit dynamisch vom Server geholt [vgl. SAP08i]. Da ABAP andere Datentypen verwendet, als JAVA ist ein Mapping zwischen den unterschiedlichen Typen notwendig [vgl. SAP08i]. SAP ist ständig bemüht, die Verbindungen zu ihren Systemen von außerhalb zu vereinfachen und zu verbessern. Zu der zuvor beschrieben JCo-Architektur gibt es immer wieder Erweiterungen und Werkzeuge zur vereinfachten Handhabung. Hier sollen zwei genannt werden: Zum einen der SAP Enterprise Connector (vgl. Kapitel 2.3.3), der den Anwendungsentwickler durch die Generierung von Proxyklassen bei RFCs und Typisierung unterstützt. Zum anderen der SAP Java Resource Adapter (SAP JRA), der die J2EE- Standardschnittstellen von JCo implementiert und vereinfacht, so dass z.b. eine Konfiguration über eine Benutzeroberfläche möglich ist [vgl. SAP08i] Systemlandschaft des SAP WAS Ein SAP WAS wird meist innerhalb einer Systemlandschaft installiert und betrieben. Das Designkonzept einer solchen Landschaft sieht im Idealfall eine homogene Cluster-Architektur vor. Darin inbegriffen sind ein globaler Lastverteiler, eine Systemdatenbank mit einer zentralen Instanz (mit Message-Server, Enqueue-Server, usw.) und eine oder mehrere Dialoginstanzen mit Lastverteilungsknoten und Applikationsserverknoten. Die mögliche Cluster-Architektur des SAP WAS soll im weiteren Verlauf keine zentrale Rolle spielen. Die Erwähnung ist hier sinnvoll, da sie für beide Technologiestacks in Merkmalen wie Skalierbarkeit, Hochverfügbarkeit, Sicherheit, Supportability die gleiche Grundlage bietet. Dies hat zur Folge, dass diese Aspekte für eine spätere Betrachtung eines Vergleichs der beiden Technologiestacks außen vor bleiben können. In einer Minimalkonfiguration, können sämtliche Komponenten hardwaretechnisch auf einem Server betrieben werden. Diese Minimalkonfiguration vernachlässigt dann allerdings mögliche Konzepte zur Hochverfügbarkeit, Sicherheit und anderen ABAP-Stack Der ABAP-Stack zeichnet sich durch eine hohe Zuverlässigkeit und Robustheit aus, insbesondere durch die langjährige Nutzung im Anwendungsfeld von erfolgskritischen Geschäftsanwendungen. Die Programmiersprache ABAP ist auf das Handling von Tabellen und somit Datenbankinhalten optimiert, was sich in einer intuitiv leichten Benutzbarkeit und Verarbeitung von SQL und damit gewonnen Daten zeigt. ABAP ist eine Interpretersprache, d.h. die Codeverarbeitung wird zuerst über einen Zwischencode (Interpreter Language) gewährleistet. Dieser managed Code wird in einer ABAP Virtual Machine (ABAP VM) ausgeführt. Dieser Umstand beinhaltet die zuerst oben erwähnte Robustheit, da kein ABAP-Prozess die volle Kontrolle über den Server erlangen kann und diesen damit zur Überlastung und zum Absturz bringen kann. In der Zeit von JAVA und Plattformunabhängigkeit erscheint dieser Umstand als normal, wenn man aber bedenkt,

26 Kapitel 2 SAP NetWeaver(TM) Integrations- und Applikationsplattform Seite 17 dass der SAP Applikationsserver dieses schon seit seiner Anfangszeit unterstützt, als JAVA noch in den sprichwörtlichen Kinderschuhen steckte, ist es eine zu erwähnende Leistung. Durch die Ausführung des Codes in der ABAP VM wird eine Plattformunabhängigkeit erreicht, da die Portierung auf andere Betriebssysteme sich auf die Portierung der Virtual Machine beschränkt. Der Entwickler hat so keine Probleme oder Besonderheiten mit unterschiedlichen Betriebsystemumgebungen. Mit der Integration eines SQL-Subsets, Open SQL, ist für eine Plattformunabhängigkeit des Zugriffs auf die Datenbankschicht gesorgt. Dabei sorgen Pufferzugriffe für Skalierbarkeit von komplexen Datenbankzugriffen. Dem System inhärent sind Sperrmechanismen und ein Verbuchungskonzept zur Integritätswahrung. Die Definition persistenter Datenobjekte (Persistenz über Laufzeit) ist möglich [vgl. HR055, S. 82]. Der ABAP-Stack bietet eine vollständige integrierte Entwicklungs- und Laufzeitumgebung für ABAP-basierte Geschäftsanwendungen. Bei der Entwicklung gibt es keine Notwendigkeit der expliziten Beachtung von Prozess- oder Speicherverwaltung, Multi-User Fähigkeit oder Datenbankverbindungen; dies sind Basisdienste des SAP WAS. In der integrierten Entwicklungsumgebung gibt es Oberflächeneditoren für SAP Graphical User Interface (SAP GUI) Entwicklungen, sowie zwei Entwicklungswerkzeuge beziehungsweise Frameworks für Web Anwendungen: Business Server Pages (BSPs) und WebDynpro Anwendungen (WDA). Das ABAP Dictionary bietet eine zentrale Verwaltung für Definitionen und Typisierungen. Mit dem neuen ABAP Editor, ist der eigentliche Entwicklungskomfort durch Eigenschaften wie farbliche Kennzeichnungen und/oder Eingabehilfe bei benutzen Variablen gestiegen. Der ABAP-Stack unterstützt seit jeher ein ausgefeiltes Versionierungs- und Transportsystem. So werden z.b. alle verschiedenen Entwicklungsstände in der Versionierung beibehalten und können somit wiederhergestellt werden. Die Minimalsystemlandschaft von SAP-Systemen besteht aus einem Entwicklungs- und Testsystem (T-System) und einem Produktivsystem (P- System). Üblich ist es ebenfalls ein System zur Qualitätssicherung (Q-System) zu haben. Entwicklungsobjekte werden im Entwicklungssystem innerhalb von Paketen erzeugt und einem Transportauftrag zugeordnet. Um eine Entwicklung produktiv zu schalten, muss ein Transport der Pakete bzw. Transportaufträge über die eingeführten Transportwege stattfinden. Im Q-System wird die Entwicklung ausgiebig getestet und schließlich weiter zur produktiven Nutzung ins P-System transportiert. Möglichkeiten zum Fehler suchen und beseitigen (debuggen), Werkzeuge für Laufzeitanalyse und Testen sowie ein Modifikationsassistent zum Abgleich von kundeneigenen Entwicklungen stehen im ABAP-Stack zur Verfügung [vgl. HR05, S. 81]. Die Entwicklungssprache ABAP und ihre Erweiterung zu ABAP Objects bietet prozedurale und objektorientierte Entwicklungsmöglichkeiten mit der Möglichkeit objektorientierte Elemente und Paradigmen zu benutzen und Umzusetzen. Hier seien nur stellvertretend genannt Klassen, Interfaces, Vererbung, Polymorphie, usw. Hier sei auf Fachliteratur zur objektorientierten Programmierung und objektorientierten Rahmenwerken und

27 Kapitel 2 SAP NetWeaver(TM) Integrations- und Applikationsplattform Seite 18 Entwurfsmustern verwiesen [z.b. vgl. Bo93; KK07; Zü98]. ABAP Objects zählt somit zu der vierten Generation der Programmiersprachen BSPs sind eine Möglichkeit zum Design und zur Implementierung von Webapplikationen. Business Server Pages sind ein seitenbasiertes Programmiermodell, das serverseitiges scripting über HTML mit ABAP als Skriptsprache erlaubt. Seit der Version 6.40 gibt es die Möglichkeit das integrierte Model-View-Controller Design Pattern in der BSP Programmierung zu benutzen. Damit wird eine strikte Trennung von Präsentation und Businesslogik erreicht und die Wartbarkeit und Erweiterung der Anwendungen vereinfacht. Zur Vereinfachung des GUI-Designs gibt es die BSP-Extensions. Diese bieten die Möglichkeit UI Elemente wieder zu verwenden. Über die BSP-Extensions können selbständig HTML- Passagen frei definiert und programmiert werden, die wieder verwendbar sind. HTMLB und XHTMLB sind BSP-Extensions, die als vorgefertigte und mit ausgelieferte Erweiterungen von SAP zur erheblich einfacheren Layoutgestaltung dienen. In diesen vorgefertigten Erweiterungen gibt es viele Standard UI Elemente, die im SAP-Umfeld benutzt werden, z.b. TableViews oder das Advanced List Viewer-Grid (ALV-Grid) zur Tabellendarstellung und - bearbeitung. WebDynpro for ABAP (WD4A) ist das von SAP als zukünftige Technologie für alle Benutzeroberflächen proklamierte GUI-Framework. Es ist ebenfalls voll in die ABAP Workbench mit einer Art von What-You-See-Is-What-You-Get (WYSIWYG)-Editor integriert. Ziel von WebDynpros ist es Technologien wie HTTP, HTML, Cascading Style Sheets (CSS) und Extensible Markup Language (XML) und clientseitiges scripting vollständig zu kapseln. WebDynpros ermöglichen es damit Business Logik zu entwickeln, ohne dabei ein Vielfaches an Zeit in die Anpassung von Layout & Design, sowie Anpassung von Kommunikationsprotokollen und Benutzerinteraktionen zu investieren. WD4A ist vollständig in ABAP-OO programmiert [vgl. Ho06, S.13]. Das Berechtigungskonzept des SAP WAS besteht aus einem hierarchischen Kontrollsystem. Als kleinstes Element gibt es das Berechtigungsfeld, das oberste Objekt bilden Rollen bzw. Sammelrollen. Die Hierarchie, ist aus nebenstehender Grafik (Abb. 5) zu entnehmen. Eine Berechtigung kann jederzeit im ABAP-Code über: AUTHORITY-CHECK OBJECT Z_BO_BEISPIEL IF sy-subrc <> 0... Endif. Sammelrollen Rolle (eines Benutzers) Sammelprofil Berechtigungsprofil Berechtigung (Ausprägung v. BOB) Objektklasse Berechtigungsobjekt (BOB) Berechtigungsfeld Abb. 5 Hierarchie der SAP-Berechtigungen abgefragt werden. Die Funktionalität als Webserver ist im ABAP-Stack seit dem Jahr 2000 mit dem Release 6.10 des SAP WAS im SAP Applikationsserver integriert. Diese Integration hat den Vorteil, dass die Nutzung der Webfunktionalitäten des ABAP-Stacks keine weitere Installation von

28 Kapitel 2 SAP NetWeaver(TM) Integrations- und Applikationsplattform Seite 19 Komponenten, Modulen oder anderen Erweiterungen benötigt, vorausgesetzt ein SAP-System des entsprechenden Releases steht zur Verfügung. Die Funktionalitäten können relativ leicht über das Internet Communication Framework aktiviert und konfiguriert werden. Der Aufwand ist überschaubar JAVA-Stack Der JAVA-Stack, der seit Release 6.20 im SAP WAS zur Verfügung steht, ist nach Java 2 Platform Enterprise Edition Standard implementiert. Daraus folgt, dass der JAVA-Stack eine nicht proprietäre Plattform zur Anwendungsentwicklung bietet. JAVA-Applikationen laufen in der JAVA Virtual Machine (JAVA VM). Dabei wird der JAVA-Quellcode in einen Zwischencode umgewandelt (JAVA-Bytecode), so dass eine kontrollierte Ausführung durch den/die Prozessor/en möglich ist. Kein Prozess kann so die volle Kontrolle über den Server übernehmen, und diesen damit überlasten und zum Absturz bringen. Die Prozesse werden dadurch ebenfalls voreinander geschützt, so dass Seiteneffekte auszuschließen sind. Der JAVA-Stack bietet Transaktionssteuerung, Datenbankanbindung, komponentenbasierte Entwicklung, Lastverteilung etc. Einer der Hauptgründe warum der JAVA-Stack von SAP in ihrem SAP WAS implementiert wurde, ist die große Verbreitung und Standardisierung. Eine große Community an JAVA-Entwicklern steht weltweit zur Verfügung. Dazu kommt eine Vielzahl an vorgefertigten Codebeispielen, Programmen und Tools. Der JAVA-Stack des SAP WAS ist mit dem Industriestandard J2EE-konform. In der neuesten Version SAP NetWeaver 7.1, unterstützt der JAVA-Stack sogar alle durch JEE5 definierten Standards für Enterprise Anwendungen [vgl. Ei07 et al. S. 411]. Damit besitzt er eine breite Basis von Entwicklungs- und Sicherheitsstandards [vgl. SAP08c]. Es werden die in der nebenstehenden Tabelle (vgl. Tab. 3) aufgeführten J2EE-Komponenten und Schnittstellen unterstützt. Eine Webunterstützung durch Standards wie SOAP, XML und Extensible Stylesheet Language Transformation (XSLT) sind quasi selbstverständlich. Der JAVA-Stack bietet keine integrierte Entwicklungsumgebung innerhalb des SAP WAS. Der Markt bietet aber eine Vielzahl von Standard JAVA- Entwicklungswerkzeugen. Unterstützte J2EE-Standards Abkürzung Java Connector Architecture (JCA) Java Database Connectivity (JDBC) Remote Method Invocation (RMI) Java Transaction API (JTA) Java Transaction Service (JTS) Java Cryptographic Architecture (JCA) Java Cryptography Extension (JCE) Java Authentication & (JAAS) Authorization Service Java Naming and Directory (JNDI) Interface Enterprise JavaBeans (1.1 & 2.0) (EJB) Java Message Service (JMS) JavaServer Pages (JSP) Java Servlets Java API for XML Processing (JAXP) Improved Container-Managed (EJB CMP) Persistence Query Language (EJB QL) Tab. 3 Vom SAP WAS unterstützte J2EE-Standards SAP stellt das SAP NetWeaver Developer Studio (SAP NWDS), ein auf der OpenSource Entwicklungsplattform Eclipse basierendes Produkt, zur Verfügung. Dieses wurde im

29 Kapitel 2 SAP NetWeaver(TM) Integrations- und Applikationsplattform Seite 20 Vergleich zu Eclipse um verschieden Sichten, Projekttypen und Objekte erweitert, bietet aber den bekannten Entwicklungskomfort. Anknüpfend an das sehr ausgefeilte, systemübergreifende Korrektur- und Transportwesen [vgl. Ei07 et al S. 411] des ABAP- Stacks hat SAP die SAP Java Development Infrastructure (SAP JDI) entwickelt. Diese bietet über das SAP NWDS die integrierte Möglichkeit zur Zusammenarbeit in großen Entwicklerteams, eine Versionsverwaltung und eine Art Transportsystem, welches in diesem Sinn einzigartig ist, da diese Funktionalität in der klassischen JAVA-Entwicklung nur über zusätzliche Werkzeuge und Prozesse realisieren lassen [vgl. Ei07 et al. S. 411]. Das Design Time Repository (DTR) ist damit eine zentrale Komponente zur Verwaltung der Entwicklungsobjekte. Mit dem Java Dictionary gibt es die Möglichkeit Datenbankobjekte oder globale Datentypen plattformunabhängig, zentral und projektübergreifend zu definieren und zu verwalten. Die Komponente Software Logistics des JAVA-Stacks beinhaltet ein Change Management System (CMS) und einen Software Delivery Manager (SDM) über den das Deployment von Anwendungen gesteuert wird. Über die SAP JDI mit ihren Komponenten wird eine lokale Entwicklung ermöglicht und die Verbindung und Synchronisation mit dem Entwicklungsteam gewährleistet. Ein Zusammenspiel der eben erwähnten Komponenten findet sich in der folgenden Grafik (vgl. Abb. 6). Abb. 6 Entwicklungsprozess unter Einbeziehung aller Komponenten der JDI [KTD05, S. 45] Das SAP NWDS bietet weiterhin einige integrierte Werkzeuge (WebDynpro Toolset, J2EE- Toolset, Web Services IDE, Persistenz-Tools, SAP Enterprise Connector, SAP JAVA Testwerkzeuge). Mit dem SAP Enterprise Connector wird der Zugriff auf die SAP- Geschäftsfunktionalität aus JAVA-Anwendungen stark vereinfacht. Für eine genaue Beschreibung aller Werkzeuge sei auf die SAP-Onlinehilfe verwiesen [vgl. SAP08h]. Das Sicherheits- und Berechtigungskonzept von JAVA beruht zuerst einmal auf Sicherheit im Sprachkonzept. Es gibt keine direkten Zugriffe auf den Hauptspeicher, keine Pointer und eine automatische Garbage Collection. Damit sind provozierte Buffer Overflows (nahezu)

30 Kapitel 2 SAP NetWeaver(TM) Integrations- und Applikationsplattform Seite 21 ausgeschlossen. Die Typisierung wird zur Laufzeit vorgenommen. Durch die oben erwähnte JAVA VM ist ein Sandkastenmodel (Sandbox) gewährleistet. Um dieses Modell etwas zu lockern und den Applikationen (besonders JAVA Applets) etwas mehr Berechtigungen zu geben, sind zuerst signierte Applets und später Berechtigungen auf Anwendungsebene (finegrained security) eingeführt wurden. Über diese Berechtigungen können mehreren Applikationen verschiedene Berechtigungen zur Laufzeit zugeordnet werden. JAVA beinhaltet außerdem ein abstraktes Sicherheitskonzept, welches über eine Hierarchie von Realms zu Benutzern, über Gruppen und Rollen hinweg geht. Die Implementierung bleibt dabei dem Entwickler überlassen. Der JAVA-Stack muss bei der Installation von SAP NetWeaver explizit mit installiert werden. Es gibt die Möglichkeit einer Double-Stack Installation, d.h. ABAP+JAVA auf einem Server oder die jeweiligen Technologiestacks separat installieren. 2.4 Vergleich der Technologiestacks An dieser Stelle soll nun eine erste Gegenüberstellung und Bewertung der beiden Technologiestacks vollzogen werden. Damit sollen die gewonnenen Erkenntnisse zusammengefasst und veranschaulicht werden. Des Weiteren wird eine Eingrenzung der zu beachtenden Merkmale für die Aufstellung des Kriterienkatalogs vorgenommen. Die auf der nächsten Seite folgende Tabelle (vgl. Tab. 4) stellt die beiden Technologiestacks mit den in den vorherigen Abschnitten beschriebenen Merkmalen gegenüber. Dabei wird eine Gliederung in vier Kategorien vorgenommen: Entwicklungsumgebung, Integration und Konnektivität, Datenbankzugriff und Serverarchitektur. Es wird über die Symbole und das Vorhandensein des jeweiligen Merkmals gekennzeichnet und über die Vergabe von einem bis drei Sternen ( ) eine subjektive Bewertung vorgenommen, die im Folgenden noch erläutert wird.

31 Kapitel 2 SAP NetWeaver(TM) Integrations- und Applikationsplattform Seite 22 Gegenüberstellung der technischen Merkmale der Technologiestacks Merkmal ABAP-Stack JAVA-Stack Vorhanden Bewertung Vorhanden Bewertung Entwicklungsumgebung IDE Komfort des IDE Datadictionary Transportwesen Versionskontrolle Userinterfacedesign Integration und Konnektivität Standardwebprotokolle Offenheit Standardframeworks Integration von SAP- Anwendungen Integration von Nicht-SAP- Anwendungen Web Services Enterprise Service Architecture - - Portalfunktionalität - - Portalintegration Prozess Integration - - Composite Applications - - Konnektoren Datenbankzugriff Auf Eigenes DB Schema Direkter Zugriff auf - SAP ERP-Daten (ABAP- Schema) Datenbankunabhängigkeit Transaktionsfähigkeit (ACID) Caching- und Tracingmechanismen Serverarchitektur Plattformunabhängigkeit Lastverteilung Hochverfügbarkeit Sicherheit Berechtigungen Ressourcennutzung Tab. 4 Gegenüberstellung der technischen Merkmale der Technologiestacks

32 Kapitel 2 SAP NetWeaver(TM) Integrations- und Applikationsplattform Seite 23 Die IDE des ABAP-Stacks ist vollständig im Applikationsserver integriert. Die Entwicklungsumgebung kann sofort nach Installation des SAP WAS genutzt werden. Das SAP NWDS hingegen ist erst nach separater Installation auf dem Client nutzbar. Die ABAP Workbench bietet nicht den Entwicklungskomfort, der im Eclipse Umfeld als Standard bezeichnet werden würde. Als Beispiel ist automatisches Vorschlagen von vorhandenen Funktionen einer Klasse nur über Assistenten ( Wizards ) und Menüs ( Muster ) möglich oder ein Paket umfassendes Refactoring von Funktionsnamen oder Variablennamen gar nicht möglich. Der Konfigurationsaufwand der ABAP Workbench ist trivial und beschränkt sich maximal auf die Auswahl des neuen oder des klassischen Editors. Beim SAP NWDS sind einige Konfigurationseinstellungen vorzunehmen, um das Deployment von Anwendungen möglich zu machen und das SAP NWDS an das SAP JDI zu koppeln und die Funktionen zum Transport und zur Versionierung nutzen zu können. Die Möglichkeiten des Userinterfacedesigns sind mit dem SAP NWDS komfortabler als mit der integrierten ABAP Workbench. Beide Technologiestacks bekommen die gleiche Bewertung allerdings aufgrund von unterschiedlichen Kriterien. Der JAVA-Stack bietet über das SAP NWDS die Möglichkeit zur Integration anderer UI, wie z.b. des Google Web Toolkits. Es gibt zahlreiche Möglichkeiten relativ einfach ein komplett anderes Look-and-Feel zu gestalten. Die WebDynpros JAVA (WDJ) sind seit früheren Releases vorhanden und damit in der Zahl ihrer Funktionsmöglichkeiten weiter ausgeprägt. Der ABAP-Stack bietet mit WD4A ein vollständig integriertes GUI-Framework. Durch diese Integration ist ein Zugriff auf SAP eigene Funktionsmodule, das Data Dictionary (DDIC) und die Persistenz ohne umständliche Benutzung von JCo oder RFC möglich. Beispielsweise ist die SAP F4-Wertehilfe automatisch bei Feldern mit DDIC Bezug verfügbar genauso können Standard Suchhilfen oder Prüftabellen genutzt werden. Für alteingesessene ABAP-Entwickler ist das Entwicklungsumfeld der ABAP Workbench vertraut [vgl. SAP08f]. In der Kategorie Integration und Konnektivität ist der JAVA-Stack gegenüber dem ABAP- Stack im Vorteil. SAP setzt bei der Unterstützung und Umsetzung von neuen Technologien auf den JAVA-Stack. Als Beispiele dafür lässt sich anführen, dass die komplette SAP- Portalengine, die SAP XI und das SAP CAF auf dem JAVA-Stack entwickelt sind und diesen als Laufzeitumgebung benötigen. Der ABAP-Stack bietet SAP Standardschnittstellen wie IDocs, BAPIs, RFCs und die SAP Konnektoren. Es ist ebenfalls möglich Web Services über den ABAP-Stack anzubieten (und zu konsumieren). Der JAVA-Stack bietet zahlreiche weitere Standardschnittstellen wie JMS oder JCA, auch die komplette Enterprise Service Architektur basiert auf dem JAVA-Stack. Als klarer Vorteil des ABAP-Stacks im Bereich Konnektivität ist der Zugriff auf SAP ECC- Systeme zu nennen. Über ABAP ist ein direkter Zugriff auf die Persistenzschicht des SAP ECC möglich. Aus dem JAVA-Stack muss man grundsätzlich über einen Konnektor auf das SAP ERP-System zugreifen, da dessen Daten im ABAP-Schema der Persistenzschicht gehalten werden. Dieser Zusammenhang wird in der auf der nächsten Seite folgenden Grafik (vgl. Abb. 7) dargestellt und wurde auch in Kapitel schon erläutert [vgl. SAP08g].

33 Kapitel 2 SAP NetWeaver(TM) Integrations- und Applikationsplattform Seite 24 Dieser erschwerte Zugriff auf die ERP Datenbasis macht einen großen Nachteil aus. Bei Datenbankzugriffen auf das eigene Datenbankschema, sowie bei der Transaktionssicherheit sind ABAP- und JAVA-Stack gleich zu bewerten. Als Unterschied beim Umgang mit Datenbanken zeigt sich allein, dass die Auswertung von Zugriffen, das Caching und Monitoring im ABAP-Stack direkt integriert sind und im SAP-System über zahlreiche Reports und Standardmechanismen zur Verfügung stehen. Bei der Entwicklung des JAVA-Stacks wurden ebenfalls Möglichkeiten zu eben Genanntem entwickelt, diese sind aber nicht so weit integriert, so dass nicht der gleiche Komfort erreicht wird. Die Bewertung der Serverarchitektur unterscheidet sich im Berechtigungskonzept, das beim ABAP-Stack sehr viel feiner strukturiert und sehr leicht anwendbar ist. Es gibt drei verschiedene Installationsvarianten des SAP WAS: ABAP-only, JAVA-only und eine Doublel-Stack Installation. Beim Vergleich der allein stehenden Installationsvarianten kann man beim ABAP-Stack einen deutlich geringeren Ressourcenverbrauch in Form von Plattenplatz und Prozessorauslastung bei Normalbetrieb feststellen. Verallgemeinert, sprechen SAP Basis-Experten von einem Faktor von ca. 1:1,3 beim Ressourcenverbrauch. Der ABAP-Stack ist hier nicht nur durch den ressourcenschonenden Umgang im Vorteil, sondern auch durch die einfache in Betriebnahme der Webserverfunktionalität. Abb. 7 Integration von JAVA und ABAP [nach HR04, S. 80]

34 Kapitel 2 SAP NetWeaver(TM) Integrations- und Applikationsplattform Seite Zusammenfassung der Ergebnisse Im diesem Kapitel wurde die SAP NetWeaver Integrations- und Applikationsplattform mit ihren Komponenten, sowie der SAP WAS als eigentliche Applikationsplattform im Detail vorgestellt und erklärt. Dabei wurden der Schwerpunkt auf die Funktionalität der beiden Technologiestacks, ABAP und JAVA, des SAP WAS gesetzt. Die Technologiestacks wurden anhand von vier Gruppen von Merkmalen verglichen. Diese legen den Schwerpunkt auf die integrierte Entwicklungsumgebung, die Integrationsmöglichkeiten und Konnektivität der Technologiestacks, die Möglichkeit des Datenbankzugriffs, gerade auf die Persistenzschicht eines SAP ERP-Systems, sowie auf bestimmte Merkmale der Serverarchitektur. Bei der Untersuchung und Gegenüberstellung hat sich herausgestellt, dass der ABAP-Stack historisch bedingt eine stabile, ausgereifte und performante Basis für die Be- und Verarbeitung der Anforderungen, die in einem SAP ERP-System auftreten ist. Er bietet den SAP- Anwendungsentwicklern einen angemessenen Komfort und ein beständiges und ausgereiftes Umfeld zur Entwicklung von erfolgskritischen Geschäftsanwendungen. Die Unterstützung neuerer Technologien wird zunehmend in den Kompetenzbereich des JAVA-Stacks verschoben. Gründe hierfür sind wohl die große Anzahl an Standards und Frameworks, die für eine globale Nutzung im Internet sinnvoll sind. Der Philosophie von SAP die hinter der Einführung des JAVA-Stacks steht spiegelt sich in seinen Vorteilen wieder (vgl. Kapitel 2.2 & Tab. 4). Mit dem JAVA-Stack, gesehen im Kontext des gesamten Produkts SAP NetWeaver, bietet SAP die technische Plattform, um eine Enterprise-SOA umzusetzen. SAP macht sein ERP-System mit der Umstellung auf servicebasierte Lösungen zukunftsfähig und ist zurzeit anderen Mitbewerbern von der Vollständigkeit voraus. SAP NetWeaver wird als Wegbereiter für Enterprise-SOA gesehen [vgl. Fu07, S.432]. Eine alleinige Betrachtung des JAVA-Stacks im Vergleich zum ABAP-Stack, oder auch im Vergleich zu anderen ähnlichen Produkten auf dem Markt, führt zur Auffindung bestimmter Probleme und Mängel, die unter bestimmten Einsatzbedingungen auftreten. Auch in Belangen der Benutzbarkeit und des Komforts der Bedienung sind noch Verbesserungen durchzuführen. Dies ist wohl auf die erst im letzten Jahr 2007 beginnende breitere Nutzung zurückzuführen [vgl. Fu07, S. 430ff.]. Da eine Technologieempfehlung im Rahmen von mittelständischen Projekten vor allem auch an wirtschaftliche Faktoren und nicht nur an technologische Merkmale gebunden ist, wird im folgenden Kapitel ein Kriterienkatalog mit verschiedenen Kriteriengruppen aufgestellt, sowie ein Verfahren zur Auswertung dieser Kriterien erläutert. Eine konkrete Anwendung und Auswertung des aufgestellten Katalogs wird dann in Kapitel 5 vorgenommen.

35 Kapitel 3 Erstellung eines Vergleichs- und Bewertungskriterienkatalogs Seite 26 3 Erstellung eines Vergleichs- und Bewertungskriterienkatalogs Die IT trägt heutzutage als Faktor zum Unternehmenserfolg bei. Mit zunehmendem Einfluss als Wertschöpfungsfaktor wird es auch immer wichtiger für die Verantwortlichen die IT unter wirtschaftlichen Gesichtspunkten zu betrachten und zu bewerten [vgl. Me03, S.12]. Für die Bewertung von IT gibt es in der Betriebswirtschaftslehre verschiedene Standardverfahren und Kriterien, von denen einige im folgenden Kapitel vorgestellt werden. Dabei ist folgende Problematik bei der Bewertung der hier zu betrachtenden Technologiestacks zu beachten. Es liegt eine enge Kopplung von Merkmalen der IT-Architektur, IT-Technologie und IT- Systeme innerhalb des SAP WAS vor. Systeme haben Architekturen, Architekturen sind aber keine Systeme. [Al03, S.16]. Der SAP WAS ist im Rahmen von SAP NetWeaver eine IT- Architekturkomponente, bietet aber für die SAP NetWeaver-Anwendungskomponenten eine Basistechnologieplattform. Diese Basistechnologieplattform besitzt die in Kapitel 2 im Detail vorgestellten Ausprägungen. Entsprechend besitzt der SAP WAS spezifische Charakteristika und Abhängigkeiten in den impliziten Entwicklungsumgebungen, die bis in die Architekturmerkmale durchgreifen. Eine Betrachtung von vergleichbaren Technologiemerkmalen, die die Abhängigkeiten der Architekturkomponente vernachlässigen, ist somit nicht ausreichend. Auf der anderen Seite ist eine Betrachtung aller Architekturmerkmale die SAP NetWeaver als Integrations- und Applikationsplattform ausmachen, viel zu weitgreifend und zu undetailliert, um Aussagen über die eigentlichen Technologiestacks zu treffen. Die Lösung dieser Problematik kann nur darin liegen aus verschiedenen Gebieten Kriterien heranzuziehen, zu kombinieren und schließlich zu benutzen. Im Folgenden werden zuerst Kriterien und Kennzahlen zur Beurteilung von IT-Architekturen und IT-Technologien zusammengetragen. Im Weiteren werden Methoden zur betriebswirtschaftlichen Bewertung, Gewichtung und Auswertung von IT-Projekten, IT- Prozessen oder IT-Produkten vorgestellt. Es wird eine Bewertung und Auswahl der vorgestellten Kriterien und Methoden nach ihrer Benutzbarkeit für den Vergleich der Technologiestacks vorgenommen. Eine Entscheidung, welche Kriterien und Verfahren in einem Kundenprojekt zum Tragen kommen, kann nur individuell mit dem Kunden erarbeitet werden. Eine Anwendung des aufgestellten Kriterienkatalogs findet in Kapitel 5 statt.

36 Kapitel 3 Erstellung eines Vergleichs- und Bewertungskriterienkatalogs Seite Bewertungskriterien und Kennzahlen Bewertungskriterien für IT werden oft in empirischen Studien oder tatsächlich durchgeführten Projekten aufgestellt. Sie dienen dem Vergleich von Methoden, Lösungen oder Produkten. Bewertungskriterien sollen Objekte verschiedener Ausprägung vergleichbar machen, um eine Entscheidungsfindung bei der Auswahl zu erleichtern. Zum Zeitpunkt dieser Arbeit konnte kein allgemeingültiger Kriterienkatalog oder ein Standardwerk zur Bewertung von IT gefunden werden. Es wurden allerdings einige allgemeinere betriebswirtschaftliche und spezifischere IT-bezogene Kriterienkataloge zur Bewertung von IT-Architekturen, zur Bewertung von Software oder IT-Systemen und Kennzahlensystemen gefunden, die als Grundlage dienen sollen. Klassische Bewertungskriterien für Software, sind: Funktionsumfang, Sicherheit, Performanz, Verlässlichkeit und Anpassbarkeit [vgl. Al03, S. 151ff.]. Bei der Planung von IT-Architekturen werden eher Kriterien über den gesamten Prozess gebildet, d.h. von der Initialisierung eines IT-Architekturprojektes in der Design Time, bis hin zur Umsetzung des Projektes und den damit verbundenen operativen Kosten in der Run Time (die Begrifflichkeiten werden im dazugehörigen Abschnitt erläutert). Kennzahlen zur Bewertung von IT kommen meist aus dem Umfeld des Managements und Controllings. Sie bilden Grundlagen für die Entscheidung über Budgets, Aufwand, Investitionen und andere Managemententscheidungen. Dabei ist ein entscheidendes Merkmal, dass das Herunterbrechen auf einen monetären Nutzen im Vordergrund steht. Kennzahlen werden oft im Zusammenhang mit Einführungen von Balanced Scorecards [z.b. vgl. Kü05; Be02; u.a.] oder anderen Standardrahmenwerken wie z. B. der IT Infrastructure Library (ITIL) benutzt [vgl. OGC08]. Im Folgenden werden die drei eben genannten Bewertungstypen, klassische Kriterien zur Softwarebewertung, IT-Architekturkriterien und Kennzahlen der IT, kurz vorgestellt Klassische Qualitätskriterien von Software Klassische Qualitätsmerkmale von Software sind aus verschiedenen Sichtweisen nützlich. Sie können vom Softwareentwickler als Messgrößen während der Entwicklung und beim Testen herangezogen werden, von Entscheidungsträgern als Stütze der zu treffenden Entscheidung oder auch vom Benutzer als Anhaltspunkt, um seine Zufriedenheit zu spezifizieren. Neben den hier genannten sechs Qualitätskriterien für Software können je nach Literaturbasis weitere gefunden werden oder andere Metriken benutzt werden. Es wird sich hier auf die folgenden beschränkt, weil sie auch in Bezug auf den SAP WAS und die Vergleichbarkeit der Technologiestacks eine Rolle spielen werden.

37 Kapitel 3 Erstellung eines Vergleichs- und Bewertungskriterienkatalogs Seite 28 Funktionsumfang Funktionsumfang ist eine wichtige Größe zur Beurteilung von Software, kann aber nicht unbedingt isoliert quantitativ gemessen werden, sondern immer nur im Vergleich zu einem ähnlich gearteten Produkt. Die Funktionalität bezeichnet die Menge der anwendungsbezogenen Funktionen, die ein Programmsystem ausführt. Enthält die Anwendungssoftware mehr Funktionalität als gefordert, spricht man von Funktionsüberdeckung. Funktionsunterdeckung bezeichnet fehlende benötigte Programmfunktionen und kann gravierende Störungen des Betriebsablaufs verursachen. Funktionsüberdeckung ist Funktionsballast durch unnötigen Ressourcenverbrauch, hohe Komplexität, große Fehleranfälligkeit, hohen Schulungsaufwand, etc. [vgl. SW01, S. 736]. Sicherheit Sicherheit bezieht sich unter anderem auf die Unterstützung von Standardsicherheitsmechanismen. Dazu zählen Mechanismen der Authentifizierung der Kommunikationspartner, die sichere Datenübertragung durch Verschlüsselung, Zugriffskontrolle (Autorisierung) durch Rechtekonzepte, Schutz vor Manipulation und Schutz vor Sabotage. [vgl. DFH03, S. 278] Hierbei ist darauf zu achten, dass Sicherheitswerkzeuge einfach, aber ausgereift und leicht verwaltbar sein sollten, damit sie die tägliche Arbeit von Benutzern und Administratoren nicht unnötig verkomplizieren. Schwerer zu überprüfen sind Sicherheitslücken in der eigentlichen Software oder in der jeweiligen Laufzeitumgebung. Sicherheit ist immer im Kontext der eingesetzten Software zu betrachten. Es ist ein schwer messbares Kriterium, weil Sicherheitslücken oft erst dann herausgefunden werden, wenn es zu kompromittierenden Aktionen gekommen ist. Performanz Die Performanz ist eines der am einfachsten messbaren Qualitätskriterien. Es kann durch verschiedene Kennzahlen gemessen werden, z.b. die Laufzeit eines Prozesses, durch verarbeitetes Datenvolumen pro Zeiteinheit, Antwortzeiten, (komplexe) Rechenoperationen pro Zeiteinheit oder ähnlichen Messgrößen. Performanzprobleme können an verschiedenen Stellen auftreten, z.b. beim Zugriff auf Datenbanksysteme, bei Programmabläufen, bei Prozessorauslastung, niedrigen Bandbreiten, uvm. [vgl. DFH03 S. 222 & 420] Immer dann, wenn eine Software nicht performant läuft, kommt es zu einer hohen Intoleranz durch die Benutzer. In Bezug auf Webanwendungen sind z.b. hohe Ladezeiten einer Seite ein Ausschlusskriterium für den Betrachter, sei die Seite noch so interessant oder sinnvoll. Verlässlichkeit Die Verlässlichkeit wird oft an der einkalkulierten und nicht einkalkulierten Ausfallzeit der Software oder des Systems gemessen. Bei geschäftskritischen Anwendungen sind keine bis geringe Ausfallzeiten ein Muss. Geschäftsprozesse sind heutzutage oftmals nicht mehr ohne IT-Unterstützung durchzuführen. Ein Ausfall von Software oder Systemen hat schon zu Firmeninsolvenzen geführt. Ein hoher Grad an Verlässlichkeit kann durch zusätzliche High- Availabilty-Funktionen erreicht werden, so können z.b. kritische Anwendungen auf Serverclustern betrieben werden, so dass bei Ausfall ein Ersatzsystem einspringt. Wichtige Daten und Prozesse werden oft an verschiedenen Orten redundant vorgehalten.

38 Kapitel 3 Erstellung eines Vergleichs- und Bewertungskriterienkatalogs Seite 29 Anpassbarkeit Die Anpassbarkeit bezieht sich auf die Möglichkeit, die Software oder das IT-System an die individuellen Bedürfnisse des Kunden anzupassen und einzustellen. Dies kann relativ einfach mit der Einbindung eines Firmenlogos in die Komponente beginnen, oder die Anpassung des Designs an das Corporate Design der Firma beinhalten. Interessanter wird die Anpassung von Geschäfts- und Prozesslogiken an die individuellen Prozesse des Kunden. Bei ERP-Systemen unter dem Begriff Customizing bekannt, wird die Standard-ERP-Software so an die differenzierenden Merkmale der Kundenprozesse angepasst, dass diese als Alleinstellungsmerkmal Bestand haben. Benutzbarkeit Benutzbarkeit bezieht sich auf die Interaktion von Mensch und Maschine. Besonders grafische Benutzeroberflächen (GUI), müssen in der Art gestaltet werden, dass ein Benutzer intuitiv die Funktionalität verstehen und benutzen kann. Dabei ist es eine der obersten Direktiven der Ergonomie, dass sich nicht der Mensch der Maschine anpassen soll, sondern die Maschine dem Menschen. Bei der heutigen Verbreitung der IT-Technologien ist die Nachfrage nach einer webähnlichen Benutzeroberfläche hoch, weil viele Anwender mit solchen Oberflächen und Funktionsweisen vertraut sind. Langwierige Einweisungen in Programme erfordern viel Zeit und sind als Kostenfaktor zu berücksichtigen. Auch eine umständliche und zeitaufwendige Benutzbarkeit während der täglichen Arbeit kann Prozesse verkomplizieren, verlangsamen und damit höhere Kosten verursachen. Benutzbarkeit kann durch Beobachtung von Benutzern und deren Befragung nur qualitativ und nicht quantitativ gemessen werden. Studien zur quantitativen Messung von Benutzbarkeit (z.b. Zeitmessungen von Mausklicks) haben keine nennenswerten Erfolge zeigen können Bewertungskriterien für IT-Architekturen In der Literatur lassen sich zahlreiche Kriterien für die Einordnung von IT-Architekturen finden. Diese sind oft aus zahlreichen Erhebungen verschmolzen. Es ist zu beachten, dass IT- Architekturen stark an der Strategie eines Unternehmens ausgerichtet sein müssen [vgl. KS- E03]. Durch diese Ausrichtung am Unternehmenskontext werden Metriken und Betrachtungen im kurz-, mittel- und langfristigen Bereich angestrebt, die für unsere Auswertung in dieser Art und Weise nicht von Bedeutung sind. Hingegen soll hier der Prozess der Einführung einer IT- Architektur, im speziellen einer SOA betrachtet werden und deren Bewertung und Vergleich [vgl. AS05 S. 8-13]. Diese Betrachtung ist nahe liegend, da die Architektur von SAPs NetWeaver eine solche SOA ist. Um eine Evaluation von Service-Orientierten-Architekturen vornehmen zu können, werden verschiedenste Kriterien betrachtet, die die Design Time und die Run Time der implementierten Architektur berücksichtigen. Mit der Designzeit einer IT- Architekturkomponente ist die Zeit vor dem Einsatz und der Benutzung der IT-Architektur gemeint. Dazu zählen vergleichbare Projektphasen der Initialisierung, Planung, Implementierung und Tests [vgl. Mo04].

39 Kapitel 3 Erstellung eines Vergleichs- und Bewertungskriterienkatalogs Seite 30 Die Run Time bezieht sich entsprechend auf die Kriterien, die während des Einsatzes der implementierten IT-Architektur zur Geltung kommen. Vergleichend könnte man von der Produktivphase der IT-Architektur sprechen [vgl. Mo04]. Ayer und Schönher führen eine szenariobasierte Evaluation von Integrationsarchitekturen anhand der im folgenden aufgeführten Kriterien durch [vgl. AS05, S. 8-13], hierbei ist zu berücksichtigen, dass in konkreten Kundensituationen Definitionen eventuell aufgelockert oder angepasst werden müssen. Initiale Planungskosten (Initial planning efforts) Bei den Initialen Planungskosten, wird ein Unterschied zwischen Kosten zur Unterstützung der unternehmenseigenen IT-Abteilung und dem Kauf externer Beratungsleistungen getroffen. Es werden die Kosten betrachtet, die für den Aufbau von Fähigkeiten, Wissen und Kompetenz benötigt werden, um die IT-Infrastruktur den Anforderungen entsprechend anzupassen. Initiale Entwicklungskosten (Initial development efforts) Bei Nutzung von nicht-standardisierten Technologien muss beachtet werden, dass bei Eigenentwicklung ein erhöhtes Volumen an Entwicklungskosten auftreten kann. Durch Nutzung von Standardtechnologien kann der Faktor der Entwicklungskosten reduziert werden, kann aber im Gegenzug durch anfallende Lizenz- oder Produktkosten nahezu ausgeglichen werden. Persistente Modellierung (Persistent modeling) Bei der Abbildung von Prozessen ist es wünschenswert, gleiche und konsistente Modelle zu benutzen. Dies gewährleistet ein einheitliches Verständnis und bietet die Möglichkeit Prozesse später leichter miteinander zu vergleichen. Technische Anpassbarkeit (Technical adaptions) Die Kosten für technische Anpassungen nach der Einführung der IT-Technologie müssen beachtet werden. Darunter fallen z.b. Aktualisierungen in Form von Versionswechseln oder Sicherheitskorrekturen oder Anpassungen, damit die Technologie neuen Anforderungen gerecht wird (Anpassungen von implementierten Standards o.ä.). Nicht-invasive Integration von Legacy/Host-Systemen (Non-invasive legacy/host integration) Bei Einführung von IT-Technologien ist die Integrationsmöglichkeit in die bestehende IT- Architektur oder die Offenheit und Integrationsfähigkeit der eingeführten Technologie für Altsysteme von großer Bedeutung. Hierunter fallen z.b. Aspekte der Datenübernahme oder auch der Integration von bestehenden Anwendungen in neue Prozessketten. Sicherheit (Security) Bei zunehmender Offenheit der Technologien sind Sicherheitsaspekte ein zunehmendes Kriterium für IT-Entscheidungen. Unterstützung von Standardsicherheitsmechanismen wie Authentifizierung oder Verschlüsselung ist obligatorisch.

40 Kapitel 3 Erstellung eines Vergleichs- und Bewertungskriterienkatalogs Seite 31 Wartbarkeit (Maintainability) Das Kriterium der Wartbarkeit umfasst Aspekte der Unterstützung von Administrationsaufgaben durch eingebaute Werkzeuge, Lastverteilung, Metadatenmanagement, Monitoring u.a.. Anpassbarkeit (Customizability) Dieser Punkt bezieht sich auf allgemeine Anpassbarkeit der Technologiekomponente und nicht auf die oben aufgeführte technische Anpassbarkeit. Generell bezieht sich Customizinig auf die Anpassung von betriebswirtschaftlichen Prozessen, die durch IT abgebildet werden, an die der Unternehmung. Im weiteren Sinn fällt unter diesen Punkt auch z.b. die Anpassung von Masken und Menüs, Adapterschnittstellen oder unterstützten Prozessen, die bei der täglichen Arbeit mit der Technologie wünschenswert wären. Auch Individualisierung auf ein Corporate Design zählt in dieses Kriterium mit hinein. Stabilität (Stability) Bei diesem Kriterium wird die technische Verlässlichkeit betrachtet. Systemausfallzeiten müssen minimiert werden. Transaktionsverhalten (Transactionality) Heutige Technologien gerade im Bereich der Kommunikation über und mit dem Internet müssen mit einem stetig höheren Datendurchsatz und Transaktionsvolumen zurechtkommen. Auch im Zusammenspiel verschiedenster Systeme müssen Transaktionskosten berücksichtigt werden, wenn Informationen z.b. an mehrere Systeme zur Verfügung gestellt werden müssen. Betriebskosten (Cost of operation) Die Betriebskosten einer Technologie sind eines der wichtigsten betriebswirtschaftlichen Kriterien und müssen von Anfang an in Betracht gezogen werden. Darunter können auch Kosten von Lizenzen oder Wartungsverträgen summiert werden Kennzahlen in der IT Die Atome des IT-Controllings sind Kennzahlen [vgl. Kü07, S. VII]. Die Überwachung von IT-Projekten, IT-Budgets oder anderer Controllingobjekte wird durch den so genannten Controllingregelkreis gesteuert. Für ein Controllingobjekt werden Kennzahlensysteme definiert, aus diesen werden IST-Werte mit zuvor definierten SOLL-Werten verglichen. Anhand dieser Analyse werden Maßnahmen bezüglich des Controllingobjektes getroffen, die im nächsten Regelkreisdurchlauf die IST-Werte beeinflussen sollen. Controllingobjekte der IT können Projekte, Produkte & Leistungen, Prozesse, Ressourcen und Organisationen sein. Der wohl schwierigste Aspekt des IT-Controllings ist die Findung und Definition der Kennzahlsysteme und Kennzahlen. Kennzahlen können verhältnismäßig leicht auf einer IT-Infrastrukturebene und einer Hardwareebene (Ressourcen) vollzogen werden, z.b. sind Rechnerleistung (CPU-Zeit), Speicherleistung (Plattenplatz), Anzahl und Kosten von PC/Workstation-Arbeitsplätzen leicht zu messen und zu kontrollieren. Die Aufzählung aller möglichen Kennzahlen der IT würde den Rahmen dieser Arbeit übersteigen, eine umfassende

41 Kapitel 3 Erstellung eines Vergleichs- und Bewertungskriterienkatalogs Seite 32 Auf- und Zusammenstellung von IT-Infrastruktur Kennzahlen u.a. findet sich in dem Buch Kennzahlen in der IT von Martin Kühn [vgl. Kü07, S. 105ff]. Gerade im Bereich von SAP-Diensten (und dem Vergleich mit Nicht-SAP-Produkten) ist eine sehr wichtige Kennzahl die der Lizenzkosten (Initial product or license efforts). Bei Benutzung von Standardtechnologieprodukten sind die Anschaffungskosten in Form von Produkt- und/oder Lizenzkosten zu berücksichtigen. Auch weitergehende laufende Kosten, wie z.b. Wartungskosten, sind einzubeziehen und abzuwägen. Um Lizenz- und Produktkosten zu senken, sind Alternativen aus dem OpenSource-Bereich zu berücksichtigen. Dabei ist zu beachten, ob ein andauernder Support gewährleistet werden kann und ob zusätzliches Expertenwissen eingekauft werden kann. Im Weiteren werden einige wesentliche Kennzahlen für den Vergleich der Technologiestacks aufgeführt und erläutert. SAP hat ein Lizenzkonzept der definierten Benutzer (named User), welches sie folgendermaßen definiert: [Definierte Benutzer sind] Mitarbeiter des Auftraggebers, seiner verbundenen Unternehmen oder ein Mitarbeiter von Drittunternehmen, der berechtigt ist, direkt oder indirekt, unabhängig von der technischen Schnittstelle, auf die überlassene Software zuzugreifen. Definierte Benutzer sind auch technische Systeme, die in Informationsaustausch zum SAP-System stehen, sowie deren Benutzer [SAP08e]. Ebenfalls wichtig sind die Wartungskosten auf SAP-Systeme, die, je nach Verhandlungen, zwischen 15%-20% des Vertragsvolumens betragen. Aufgrund der Budgetierung von IT-Projekten sind Kennzahlen zur Messung der Wirtschaftlichkeit unerlässlich. Dabei soll anhand der Kennzahlen eine Auswahl aus den zur Verfügung stehenden IT-Projekten anhand der Rentabilität getroffen werden. Dabei ist anzumerken, dass es oft auch IT-Projekte gibt, die durchgeführt werden müssen ohne dass dabei auf Rentabilität geachtet werden kann, z.b. bei Änderungen von Gesetzen (Risikomanagement) oder staatlichen Verfahren (Zoll, Im- und Export). Zur Rentabilität gibt es vier wichtige Kennzahlen, die im Folgenden kurz erklärt werden sollen, Nettobarwert (NPV), Return on Investment (ROI), Amortisation und Amortisationsdauer. Der Nettobarwert (im englischen Net Price Value, NPV), basiert auf der Zinseszinsrechnung und vergleicht die Investitionskosten mit einer alternativen Anlage des Kapitals am Kapitalmarkt. Hierbei werden alle Wertflüsse auf den Projektbeginn abgezinst und aufsummiert. Ist dieser Wert, der Nettobarwert, größer Null, ist die Investition vorteilhaft. Return on Investment ist das Verhältnis der Rückflüsse (Netto Cash Flow) einer Investition zur Investitionssumme [vgl. Kü07, S. 124]. Dieser Wert ist immer auf ein Jahr bezogen, bei mehrjähriger Betrachtung wird ein Mittelwert gebildet. Die Amortisation gibt über den gesamten Betrachtungszeitraum das Verhältnis aus der Summe aller (Netto-) Rückflüsse und der Investitionssumme an [vgl. Kü07, S. 125].

42 Kapitel 3 Erstellung eines Vergleichs- und Bewertungskriterienkatalogs Seite 33 Die Amortisationsdauer bezieht sich auf den Nettobarwert. Sie gibt an, wie lange es dauert, bis dieser positiv wird. Nach Ablauf der Amortisationsdauer, sind die für das Projekt anfallenden Kosten, als Kredit betrachtet, vollständig zurückgezahlt. Ein Projekt ist umso rentabler, je kleiner die Amortisationsdauer [vgl. Kü07, S. 125]. Die eben aufgeführten Kennzahlen werden auch für die im nächsten Abschnitt aufgeführten Aus- und Bewertungsmethoden bei der Wirtschaftlichkeitsanalyse benötigt. Das am meisten verbreitete Konzept von Kennzahlen in der IT ist die IT Balanced Scorecard (IT BSC) [z.b. vgl. Kü05; Be02; u.a.], ein aus der Betriebswirtschaftslehre übernommenes und angepasstes Werkzeug zur Verdeutlichung von Informationen eines Unternehmens, als IT BSC bezogen auf die Informationstechnologie einer Unternehmung. Die folgende kurze Aufführung der IT BSC, dient dem Aufzeigen der Möglichkeiten zur Kontrolle und Bewertung von IT-Projekten und IT-Technologien. Sie wird im weiteren Verlauf dieser Arbeit keine Rolle spielen, weil die Einführung einer IT BSC eher ein Werkzeug im Konzernumfeld darstellt als in Mittelstandsprojekten. Das Werkzeug der IT BSC soll das Informationsmanagement unterstützen, indem es anhand von Schlüsselkenngrößen in verschiedenen Bereichen (Finanzwirtschaft, Geschäftsprozessunterstützung, Kunden, Mitarbeiter/Organisation) ein Rahmenwerk von Schlüsselindikatoren (Key Performance Indicator (KPI)) zum Verständnis und der Strategie einer Unternehmung definiert. Anhand dieser kann man Aussagen z.b. über die Produktivität treffen. In nebenstehender Tabelle (vgl. Tab. 5) findet sich ein Beispiel für den KPI Produktivitätsindex. Produktivitätsindex Identifizierungs-Code: F-007 Formel: Aufwand (Ressourcen) zur Erstellung/Anzahl bzw. Menge der Output- Elemente Beschreibung: Ressourceneinsatz je Output- Element (z.b. Anzahl bearbeiteter Trouble- Tickets oder Desktop Installationen) Anwendbar z.b. für die nachkalkulierten Aktivitäten des Berichtzeitraums Definition der Inputparameter: Standardisierte Output-Elemente (z.b. Trouble-Tickets, User Helpdesk Calls), Aufwand (Personalkosten und sonstige Aufwendungen) Nutzen: Indikator für die Effizienz der Leistungserbringung in der IT; Identifikation von Kostensenkungspotenzialen Datenquelle: Reporting-Datenbank Zielwert: xxx Euro / Output-Element Tab. 5 Beispiel KPI - Produktivitätsindex

43 Kapitel 3 Erstellung eines Vergleichs- und Bewertungskriterienkatalogs Seite Kriterien zur Bewertung der Technologiestacks Die nachfolgenden Tabellen (vgl. Tab. 6, Tab. 7, Tab. 8) zeigen die ausgewählten Kriterien zur Bewertung der Technologiestacks aus den vorherigen Abschnitten. Es wird begründet, warum diese Kriterien für den Kriterienkatalog ausgewählt wurden. Klassische Qualitätskriterien für Software Funktionsumfang Sicherheit Performanz Verlässlichkeit Anpassbarkeit Benutzbarkeit Auswahl Die oben stehende Tabelle (vgl. Tab. 6) zeigt die Auswahl der klassischen Qualitätskriterien für Software, die zum Vergleich der Technologiestacks in den Kriterienkatalog mit aufgenommen werden. Die Wahl fällt auf den Funktionsumfang, die Performanz und die Anpassbarkeit der Technologiestacks, die Kriterien Sicherheit, Verlässlichkeit und Benutzbarkeit werden nicht mit aufgenommen. Das ist damit zu begründen, dass die Kriterien Sicherheit und Verlässlichkeit beim SAP WAS weitestgehend durch die Serverarchitektur und die Systemlandschaft realisiert werden, so dass die Unterschiede innerhalb der Technologiestacks nur eine untergeordnete Rolle spielen (vgl. Kap. 2). Die Benutzbarkeit zum einen der Entwicklungsumgebung und zum anderen der erstellten Anwendungen ist ein sehr subjektives Kriterium, welches stark von jedem einzelnen Benutzer und dessen Vorlieben sowie von der jeweiligen implementierten Anwendung abhängt. Beide Technologiestacks bieten die Möglichkeiten, benutzerfreundliche Applikationen [z.b. vgl. ISO98] zu entwickeln. Eine detaillierte Untersuchung der Unterschiede in der Benutzbarkeit, wird bei der Technologieauswahl eine untergeordnete Rolle spielen und ist nicht Thema dieser Diplomarbeit. Bei den Kriterien zur Bewertung von IT-Architekturen wird die folgende Auswahl getroffen, die in nebenstehender Tabelle Bewertungskriterien für IT-Architekturen Auswahl aufgeführt ist (vgl. Tab. 7). Initial planning efforts Initial development efforts Dabei sind Überschneidungen zu den klassischen Qualitätskriterien von Software festzustellen. Sicherheit, Anpassbarkeit und Stability (Verlässlichkeit) fallen demnach aus o.g, Gründen ebenso aus der Betrachtung heraus. Tab. 6 Auswahl der klassischen Qualitätskriterien für Software Persistent modelling Technical adaptions Non-invasive legacy/host integration Security Maintainability Customizability Stability Transactionality Cost of operation Tab. 7 Auswahl der Bewertungskriterien für IT-Architekturen

44 Kapitel 3 Erstellung eines Vergleichs- und Bewertungskriterienkatalogs Seite 35 Das Kriterium Initiale Planungskosten ist eines der wesentlich unterschiedlichen Merkmale für den Vergleich, weil die Technologiestacks vom Initialaufwand der Inbetriebnahme stark unterschiedlich zu bewerten sind. Dies liegt darin begründet, dass der ABAP-Stack in den heutigen Releases der SAP ERP-Systeme (oder SAP ECC) enthalten ist, und die Webfunktionalitäten mit installiert sind, so dass nur einige Konfigurationsparameter gesetzt werden müssen. Bei der Neu- bzw. Zusatzinstallation des JAVA-Stacks muss eine initiale Planung oder Erweiterung der IT-Systemlandschaft durchgeführt werden. Die initialen Entwicklungskosten spielen beim Vergleich der Technologiestacks keine Rolle, weil beide zum SAP-Standard gehören und keine Eigenentwicklung der Umgebung vorgenommen werden muss. Die persistente Modellierung ist von Bedeutung, weil der JAVA-Stack für die Umsetzung einer ESA benötigt wird. Viele der dafür benötigten Werkzeuge und Grundlagen beruhen auf der Technologie des JAVA-Stacks. Die technische Anpassbarkeit ist im ABAP- und im JAVA-Umfeld ähnlich zu bewerkstelligen und müssen von SAP Basis-Experten vorgenommen werden. Dieses Kriterium gehört nicht in den Vergleich der Technologiestacks hinein. Die Wartbarkeit von ABAP- und JAVA-Stack macht nach SAP-Preisliste keinen Unterschied in den zu erwartenden Kosten aus. Das Customizing ist in Bezug auf die mögliche Anpassung des UI der entwickelten Webanwendungen ein interessanter Punkt. Customizing im eigentlichen Sinn, nämlich die Anpassung der Geschäftsprozesse findet im ERP-System selbst statt, spielt also auf den ersten Blick keine Rolle. Auf den zweiten Blick und im weiteren Sinn gesehen kann sich die gewünschte Anpassung der Prozesse als Ausschlusskriterium bei der Technologiestackauswahl herausstellen. Wie bereits erwähnt (vgl. Kapitel & 2.4) sind neue Technologien wie SAP CAF oder SAP xapps, die ein servicebasiertes Framework zur Geschäftsprozess- und Anwendungsmodellierung bieten, allein mit dem JAVA-Stack umsetzbar. Stabilität und Transaktionsverhalten sind serverarchitekturabhängig und für den Vergleich der Technologiestacks eher ungeeignet, weil sie sich bei beiden stark ähneln. Betriebskosten schließlich haben ihre Berechtigung, zumindest in der Wirtschaftlichkeitsanalyse, und werden somit berücksichtigt. Aus dem Bereich der Kennzahlen werden zwei Gruppen eine wichtige Rolle im weiteren Verlauf spielen: Einmal die zuvor als Infrastrukturkennzahlen beschriebenen [vgl. Kü04, S.221], die dem Bereich Produktmanagement zuzuordnen sind und andererseits die aufgezählten Rentabilitätskennzahlen, die ebenfalls bei der Wirtschaftlichkeitsanalyse aufgegriffen werden. Dabei muss beachtet werden, dass das IT-Portfolio eines IT-Bereichs aus Beratungs- und Dienstleistungen, sowie der Bereitstellung und dem Betrieb von IT-Systemen dient und je nach Aufgabenstellung die Kennzahlen zu wählen sind. Weiterhin ist zu beachten, dass das Produktmanagement mit dem Prozessmanagement eng verzahnt ist, denn IT-Produkte

45 Kapitel 3 Erstellung eines Vergleichs- und Bewertungskriterienkatalogs Seite 36 sind Ergebnisse von Prozessen, die durch sie abgebildet werden. Prozesse sind dabei die Innensicht, die IT-Produkte die Außensicht. Für die Aufstellung des Kriterienkatalogs und die tatsächliche Anwendung im Projektumfeld können kundenspezifische Kennzahlen sinnvoll sein, z.b. ist ein Fremdkräfteanteil (zur Betreibung des SAP WAS) für ein mittelständisches Unternehmen wichtig, für einen Konzern evtl. nur nebensächlich. Es kann ebenso sinnvoll sein, Kennzahlen aus dem Bereich Innovationsmanagement und Risikomanagement hinzuzunehmen. Dies hängt von der Kundensituation ab in der die Kennzahlen Anwendung finden. In der folgenden Auswahl (vgl. Tab. 8) sind zwei Kennzahlen, der Fremdkräfteanteil und der Risikoindex berücksichtigt, die in Kapitel 5, welches die praktische Anwendung des Kriterienkatalogs zeigt, benutzt wurden. Ausgewählte Kennzahlen Produktmanagement Änderungsabstand Anteil Kosten X an Produktkosten Antwortzeit Rentabilitätskennzahlen Return on Investment (ROI) Amortisationsdauer Wirtschaftlichkeit Weitere Kundenspezifische Fremdkräfteanteil Risikoindex Beschreibung Zeitspanne die zwischen aufeinander folgenden Hardware- oder Softwareveränderungen (z.b. Releasewechseln) liegt Enthält nur die Kosten eines spezifischen Prozesses (z.b. Entwicklungs-, Einführungs-, Installations- und Wartungskosten, u.a.); Mehrfachverwendung sinnvoll. Zeitspanne nach der Eingabe einer Aufgabenstellung durch den Benutzer bis zu dem Zeitpunkt, an dem die erste Systemreaktion erfolgt (präzise Definition erforderlich) Verhältnis der Rückflüsse (Netto Cash Flow) einer Investition zur Investitionssumme Beschreibt die mit dem IT-System erwirtschafteten Nettoüberschüsse, bezogen auf den Aufwand für die Herstellung/Bereitstellung dieses Systems Summe der bewerteten Nutzeneffekte im Verhältnis zur Summe der Kosten, bezogen auf die gewünschte Aggregationsstufe (z.b. Produkt, Projekt, Portfolio,...) Verhältnis der Personalkapazität (in z.b. Manntagen) von externen zu internen Mitarbeitern, in Bezug auf das Controllingobjekt. Ermittlung einer Risikokennzahl über eine Checkliste. Bei Auftreten von Risikofaktoren werden Risikopunkte vergeben. Der Risikoindex sollte möglichst klein sein. Tab. 8 Ausgewählte Kennzahlen für den Kriterienkatalog

46 Kapitel 3 Erstellung eines Vergleichs- und Bewertungskriterienkatalogs Seite Auswertungs- und Bewertungsverfahren In der Betriebswirtschaftslehre finden sich verschiedene Methoden zur Überprüfung von Wirtschaftlichkeit, Kosten- & Nutzenmessung, Controlling, Investitionssicherheit und vielen anderen Fragestellungen. Exklusive Bewertungsmethoden für IT sind dabei schwer zu finden, meist findet eine Übertragung der gängigen Verfahren auf die IT statt. Bei der nachfolgenden Vorstellung von Analysemethoden wurde eine Auswahl von Methoden getroffen, bei denen jeweils eine Anwendung auf IT-Szenarios möglich und gängig ist. Dabei sind Vor- und Nachteile in Bezug auf die Bewertung unserer Kriterien zu beachten und zudem die Komplexität der Methodik zu berücksichtigen Wirtschaftlichkeitsanalyse Wirtschaftlichkeit ist das optimale Verhältnis von Aufwand (Kosten) zu Ertrag (Nutzen). Am Anfang einer Wirtschaftlichkeitsanalyse steht die Identifizierung der Leistung einer Anwendung gegenübergestellt zu den Kosten einer Anwendung. Eine Wirtschaftlichkeitsanalyse analysiert die Kostenstruktur, die Nutzenstruktur und die Beziehungszusammenhänge zwischen beiden. Von Wirtschaftlichkeit eines Projektes spricht man, wenn die SOLL-Kosten den IST-Kosten und der SOLL-Nutzen dem IST-Nutzen entsprechen. Wesentlicher Punkt einer Wirtschaftlichkeitsanalyse ist es, die Erfolgsfaktoren und mögliche Gefahren eines Projektes zu bewerten. Daraus folgt, dass die drei Säulen der Wirtschaftlichkeitsanalyse die Kosten-, Nutzen- und Risikoanalyse sind [vgl. Me03]. Wirtschaftlichkeitsanalysen sollten objektiv und neutral durchgeführt werden. Eine Möglichkeit, das zu gewährleisten, ist es externe Personen oder Unternehmen mit der Durchführung zu beauftragen. Dabei ist die Seriosität zu wahren und ein vorschnelles Quick- Assessment zu vermeiden. Dies wird durch die unterschiedliche Funktion jeder Unternehmung und einem unterschiedlichen Verständnis von Nutzen begründet. Zur Wirtschaftlichkeitsanalyse sollten ebenfalls keine herstellerabhängigen Produkte zur Kalkulation benutzt werden, sondern die Werte zu Kosten und Nutzen mit projektneutralen, allein auf der Finanzmathematik beruhenden, unzweifelhaften Methoden berechnet werden [vgl. Me03]. Bei der Kostenanalyse steigt die Komplexität zur Berechnung des Return on Investments durch die Berücksichtigung aller Kosten und Folgekosten von Projekten. Um die Komplexität in einem handelbaren Rahmen zu halten, werden nur bestimmte Kostengruppen betrachtet: Hardware, Software, Personal, Betriebskosten und Kosten für externe Dienstleistungen. Dabei wird eine Einteilung in harte (direkte) und weiche (indirekte) Kosten vorgenommen. Direkte Kosten sind einfach ablesbare Kosten (z.b. Anschaffungskosten). Indirekte Kosten bedeutet, dass sie nicht direkt ablesbar sind, sondern mit einem entsprechenden Aufwand gemessen werden müssen. Ebenfalls können ordinale Kosten auftreten, die primär emotional motiviert sind [vgl. Me03].

47 Kapitel 3 Erstellung eines Vergleichs- und Bewertungskriterienkatalogs Seite 38 Je nach Modell, z.b. nach Gartner Group oder Meta Group, werden diese Kostengruppen unterschiedlich zusammengefasst und angewendet. Die Gartner Group betrachtet mit ihrem Total Cost of Ownership (TCO) Verfahren, entwickelt um 1987, Kosten auf Server- und Clientseite, sowie Benutzerkosten und Opportunitätskosten. Die Meta Group mit ihrem sehr ähnlichen Real Cost of Ownership (RCO) Verfahren hingegen, konzentriert ihre Kostengruppen auf Server- und Clientseite. (Seit 01. April 2005, gehört die Meta Group nach Übernahme durch die Gartner Group zu selbiger) [vgl. z.b. TG05, S. 149ff; WH00, S. 2ff.; GA08]. Beide Verfahren beinhalten keine Nutzenanalyse. Aufgrund dieser Kritik wurden ab ca wertorientierte Modelle entwickelt, die eine Nutzenanalyse beinhalten. Bei der Nutzenanalyse ist die Einteilung des Nutzens ebenfalls in qualitative und quantitative Faktoren möglich. Als quantitative Methoden werden direkte Messungen und indirekte Messungen des Nutzens durchgeführt, als qualitative Methode, eine ordinale Messung des Nutzens, wie z.b. bei einem Faktor Kundenzufriedenheit. Verfahren, die diese Nutzenmessung einbeziehen, sind unter anderem von Giga Information das Total Economic Impact (TEI) Verfahren und von McKinsey das Total Value of Ownership (TVO) Verfahren. Hierbei werden neben den Kosten- und Nutzenmessungen auch noch Risiko und Flexibilität bewertet und finanzwirtschaftliche Kennzahlen betrachtet. Beide Verfahren basieren auf der TCO-Methodik und fassen alle aufgeführten Merkmale in ein Rahmenkonzept zusammen. Risikoanalyse bedeutet eine Dokumentation von möglich auftretenden Risiken. Diese müssen ihrer Eintrittswahrscheinlichkeit bewertet werden. Hierzu kann z.b. ein Risikotest durchgeführt werden. In nebenstehender Tabelle (vgl. Tab. 9) findet sich ein Auszug aus einem Risikotest für IT-Projekte. Dabei zählen alle Fragen die mit Ja beantwortet werden, einen Punk, ab einer bestimmten Grenze, die der Risikoindex nicht überschreiten darf, muss sich über die Durchführung des Projektes nachgedacht werden. Bei der Wirtschaftlichkeitsanalyse kann außerdem zwischen dynamischen und statischen Verfahren unterschieden werden. Die Idee bei einem dynamischen Verfahren ist, dass Kosten, Nutzen und Risiken nicht über den gesamten Zeitraum eines Projektes gleich bleiben müssen und sich wandeln können. Z.B. wird der Mehrwert einer Investition über den Projektzeitraum über einen Abschlag bereinigt, da die Einsparungen inflationsbedingt über die Durchführungszeit an Wert verlieren können. Statische Verfahren zeichnen sich schlichtweg Risikotest (Auszug) Erfordert das Projekt überdurchschnittlich hohen Aufwand? Deckt das Projekt überdurchschnittlich viele Funktionalitäten ab? Ist die geschätzte Projektdauer überdurchschnittlich hoch? Gibt es Mitarbeiter im Projekt, die mit den einzusetzenden Technologien oder Produkten nicht vertraut sind? Sind die benötigten Tools noch nicht verfügbar oder funktionieren nur mit Mängeln? Sind Teile des Projekts oder des zu realisierenden Produkts technologisch schwer einschätzbar? Sind Anforderungen mit Risiken oder Unwägbarkeiten vereinbart? Sind Änderungen der Anforderungen vor dem Start zu erwarten? Sind nicht alle Anforderungen deutlich dokumentiert? Gibt es kritische Fähigkeiten, für die niemand identifiziert ist? Tab. 9 Risikotest (Auszug) [Kü05, S. 304]

48 Kapitel 3 Erstellung eines Vergleichs- und Bewertungskriterienkatalogs Seite 39 durch ihre einfachere Berechnung aus, da sie zeitpunktbezogen ist. Sie können auch am Anfang von Analyseverfahren sinnvoll sein, wenn die strukturellen Bedingungen für die Nutzung von dynamischen Verfahren noch nicht klar ersichtlich sind. Statische Verfahren sind in dynamische Verfahren überführbar. Trotz dieser erweiterten Verfahren, bleibt das Problem, dass ein Return on Investment bei IT-Produkten, IT-Projekten oder IT-Systemen schwer in monetären Größen messbar bleibt. Wesentlich für eine gute Wirtschaftlichkeitsanalyse sind das Ziel des Kunden und das Objekt der Betrachtung und die korrekte Anwendung der dafür angepassten Analysemethode. Für den Vergleich der Nutzeneffekte sollte dann eine weitere Bewertung mit der Nutzwertanalyse (NWA) durchgeführt werden. Bei dieser wird Nutzen gewichtet und bewertet. Sie dient damit der Erfassung von nicht monetär zu erfassenden Merkmalen und zum Vergleich von nicht identischen Kandidaten (z.b. in Funktionsumfang oder Einsatzart) [vgl. SH02, S. 309ff.]. Zur Durchführung der Nutzwertanalyse werden die Anforderungen an das IT-Objekt nach ihrer Bedeutung für das Unternehmen detailliert gewichtet. Bei der Definition der Gewichtungsfaktoren der NWA sollten möglichst alle Projektbeteiligten oder Produktverantwortlichen einbezogen werden. Die Bewertung qualitativen Nutzens ist stark subjektiv und muss demnach von der breiten Mehrheit befürwortet werden, um letztendlich eine relative Objektivität zu erhalten. Die Summe aller Gewichtungen sollte hundert Prozent ergeben. Im Weiteren wird der Erfüllungsgrad der gewichteten Nutzenkriterien aufgestellt und priorisiert, z.b. 0 Punkte, wenn die Anforderung nicht erfüllt, und 5 Punkte wenn die Anforderung vollständig erfüllt ist. Der Nutzwert des IT-Objektes errechnet sich dann prinzipiell über die Summe (Leistungspunkte x Gewichtung) mit ins Verhältnis gesetzt zum Preis bzw. den Kosten des IT-Objektes, dargestellt in folgender Abbildung (vgl. Abb. 8) [vgl. z.b. SH02, S. 309ff; ZA70]. 1 ( Leistungspunkte i Nutzenwert( N ) = Angebotspreis i = Anzahl der Merkmale Abb. 8 Nutzenwert (vereinfacht) ( i) Gewichtung( i) ) Die im Rahmen der Nutzwertanalyse verwendeten Gewichtungsverfahren unterstellen den Charakter von Substitutionsraten, d.h. es ist sinnvoll, aufgrund des subjektiven Charakters der Gewichtungen, die Nutzwerte einer Plausibilitätsprüfung zu unterziehen. So muss darauf geachtet werden, dass die Nichterfüllung eines wichtigen Kriteriums, durch die Erfüllung anderer weniger wichtiger Faktoren vollständig ersetzt wird. Bei der Anwendung der Nutzwertanalyse muss ebenfalls darauf geachtet werden, dass die Kriterien im Zusammenhang mit dem Nutzen stehen, und nicht das Kriterium an sich gewertet wird (Beispiel: Keine Bewertung nach der schnellsten Antwortzeit, sondern Bewertung der notwendigen Antwortzeit zum einwandfreien Betrieb der Anwendung). Kriterien, die einen

49 Kapitel 3 Erstellung eines Vergleichs- und Bewertungskriterienkatalogs Seite 40 Ausschluss der zu vergleichenden IT-Objekte zur Folge haben ( no-goes, Killerkriterien ), fließen nicht in eine Nutzwertanalyse ein. Die Gewichtung der aufgestellten Kriterien soll durch den Kunden vorgenommen werden. Dabei soll der Kunde die erarbeiteten Kriterien auf einer Skala anhand von für ihn verständlichen Bewertungskriterien (ist mir wichtig, ist mir weniger wichtig) bewerten. Diese Bewertung wird anhand einer Nutzwertanalyse ausgewertet. Bei dieser werden die vom Kunden intuitiv beantworteten Fragen in Gewichtungsfaktoren umgewandelt. Wenn die Nutzwertanalyse durchgeführt wurde, wird diese dem Kunden wiederum vorgestellt zur Verifikation, ob er sich mit den tatsächlichen Zahlen identifizieren kann. Bei zunehmender Kompetenz und Fachwissen kann der Kunde Bewertung und Nutzwertanalyse selbst vornehmen. Der Abschluss einer Wirtschaftlichkeitsanalyse wird durch ein klar formuliertes Ergebnis anhand der ausgewerteten Kriterien vollzogen. Dies kann z.b. in der Form von Bei Auswahl von IT-Objekt A fallen X,- EUR Kosten an und die Rentabilität wird um Y% gesteigert erfolgen Auswahl des Bewertungsverfahren Im vorherigen Abschnitt wurde die Wirtschaftlichkeitsanalyse mit ihren unterschiedlichen Verfahren zur Analyse von Kosten, Nutzen und Risiko beschrieben. Die Durchführung einer alle Verfahren umfassenden Wirtschaftlichkeitsanalyse ist für die beschriebenen Projektsituationen für die der Kriterienkatalog entwickelt wird zu umfangreich. Somit werden für die Anwendung nur Teile aus dem gesamten Analyseprozess benutzt. Bei den zuvor ausgewählten Kriterien und Merkmalen eignet sich aufgrund ihrer starken Unterschiedlichkeit, die Nutzwertanalyse als Bewertungsverfahren. Sie wird im Kriterienkatalog das vorrangige Analyseverfahren sein. Die Nutzwertanalyse ist relativ schnell und präzise anwendbar, wenn erst einmal die Kriterien und ihre Gewichtungsfaktoren aufgestellt sind. Die Erhebung, um zum einen die Kriterien und zum anderen ihre Gewichtungsfaktoren festzulegen, kann unterschiedlich kompliziert gestaltet werden. Durch die hier durchgeführte Vorauswahl von sinnvollen Kriterien zur Bewertung der Technologiestacks, wird das Verfahren also vereinfacht. Bei Kunden, die eine hohe Fachkenntnis mit sich bringen und die Kriterien verstehen und selbst wissen, welche Prioritäten in ihrer Unternehmung vorliegen, kann so eine Nutzwertanalyse schnell durchgeführt werden. Bei Kunden ohne ein großes Maß an Fachkenntnis, kann der Prozess durch den Faktor Informationsverständnis in die Länge gezogen werden. Andere Bewertungs- und Analyseverfahren wie die Aufstellung einer IT BSC sind in diesem Kundenumfeld nicht durchzuführen und auch aus wirtschaftlichen Gesichtspunkten nicht sinnvoll. Kennzahlensysteme liefern eine genauere Klassifizierung für die Messbarkeit der Faktoren. Das Aufstellen eines kompletten Systems zur Bewertung von IT kann ebenfalls in einem solchen Projektrahmen meistens nicht geleistet werden. Einige Standardkennzahlen, die leicht abzuschätzen oder zu berechnen sind, wie z.b. Benutzerlizenzkosten (named User) können leicht in die Bewertung eingebracht werden.

50 Kapitel 3 Erstellung eines Vergleichs- und Bewertungskriterienkatalogs Seite Zusammenfassung der Ergebnisse Für die Bewertung der beiden SAP NetWeaver Technologiestacks wurden, aufgrund der nicht eindeutig möglichen Zuordnung dieser zu einer Kriteriengruppe, drei verschiedene Gruppen von Kriterien aufgeführt: Qualitätskriterien für Software, Kriterien zur Bewertung von IT- Architekturen und Kennzahlen der IT. Aus diesen wurde eine begründete Auswahl getroffen. Zur Auswertung und Bewertung dieser Kriterien wurde die Wirtschaftlichkeitsanalyse mit ihren verschiedenen Teilverfahren der Kosten-, Nutzen und Risikoanalyse vorgestellt. Durch die typische Projektcharakteristik in mittelständischen Unternehmen, dass möglichst kurze, prägnante und überschaubare, dabei selbstverständlich kostengünstige Verfahren zur Entscheidungsfindung benutzt werden, wurde aus den vorgestellten Verfahren die Nutzwertanalyse als gängigste Methode identifiziert und ausgewählt. Bestimmte Merkmale, wie z.b. Performanz und Laufzeitverhalten, oder auch andere Kriterien der Run Time, können hingegen vor einer Projektsituation nicht oder nur schwer von Kundenseite her getestet und ausgewertet werden. Um für die Anwendung des Kriterienkatalogs, die in Kapitel 5 vorgenommen wird, auch in dieser Hinsicht Unterstützung zu bieten werden im folgenden Kapitel 4 verschiedene softwaretechnische Implementierungen vorgenommen, ausgewertet und bewertet. Diese Implementierungen können beispielhaft in einer Kundensituation zur Verdeutlichung der Unterschiede der Technologiestacks verwendet werden und sollen hierzu dem Kriterienkatalog als Anhang beigefügt oder dem Kunden persönlich vorgestellt werden.

51 Kapitel 4 Vergleichende softwaretechnische Implementierung Seite 42 4 Vergleichende softwaretechnische Implementierung Eine praktische Bewertung und Analyse der beiden Technologiestacks soll durch funktionalitätsgleiche Implementierungen verglichen werden. Die Technologiestacks bestehen jeweils aus den in Kapitel 2 dargestellten drei Schichten: Der Präsentationsschicht, der Applikationsschicht und der Persistenzschicht. Die softwaretechnische Betrachtung wird anhand von ausgewählten Merkmalen über die Schichten bzw. über die Schnittstellen der Applikationsschicht zu den anderen Schichten stattfinden. Um die vergleichenden Implementierungen in einem angemessenen Rahmen zu halten, wird jeweils ein Beispiel gesucht, das ein bestimmtes zu überprüfendes Kriterium beinhaltet. Es werden in der Arbeit also im Rahmen der Möglichkeiten Schwerpunkte zur Untermauerung der Technologieempfehlungen gesetzt. Weitere Beispiele werden im Laufe der praktischen Arbeit für das SAP-Systemhaus hinzukommen und den Kriterienkatalog anschaulich ergänzen. Die Implementierungen sind bewusst einfach und allgemein verständlich gehalten, um sie besser vergleichbar zu machen. Für die Schnittstelle zur Präsentationsschicht wird die Offenheit der JAVA-Umgebung betrachtet. Konkret wird das durch die Anbindung eines Nicht-SAP-Frameworks, dem Google Web Toolkit (GWT), auf dem JAVA-Stack getestet. Mit diesem wird ein Baustein eines schon durchgeführten Entwicklungsprojektes innerhalb des ABAP-Stack verglichen. Für die Persistenzschicht, wird das Hauptaugenmerk auf die einfache und intuitive Benutzbarkeit der Datenbankzugriffe gerichtet. Es soll die unterschiedliche Durchführung von Zugriffen auf das ABAP-Schema betrachtet werden. Als zweites wichtiges Kriterium wird die Laufzeit der Zugriffe betrachtet. Des Weiteren liefern die Implementierungen Einblicke in die verschiedenen Möglichkeiten im SAP-Umfeld zu entwickeln. Die Applikationsschicht selbst wird nicht durch Implementierung verglichen. 4.1 Präsentationsschicht Die wichtigsten Merkmale für die Präsentationsschicht im Internet, sprich die Darstellung der Anwendung im Browser, sind im Folgenden aufgeführt. Des Weiteren werden Kriterien, die bei der Entwicklung selbst auftreten aufgezählt. Qualitative Kriterien Konfigurationszeit bis zum Start der Entwicklung Vorhandene Onlinehilfe und Community Entwicklungsaufwand der Oberfläche Aussehen Kompatibilität

52 Kapitel 4 Vergleichende softwaretechnische Implementierung Seite 43 Quantitative Kriterien Datenvolumen (HTTP-Request/Response) Performanz der erstellten Seiten (gemessen an ungecachter Ladezeit) Beschreibung Im Rahmen eines Projektes des SAP-Beratungshaus wurde ein Online-Shop entwickelt. Dieser wurde auf der Basis eines SAP WAS 6.40 ECC 5.0 implementiert. Zu SAP-konformer Entwicklung stand nur der ABAP-Stack des Applikationsservers zur Verfügung. Aufgrund des Releasestands des SAP-Systems fiel die Wahl der Technologie auf BSPs. Eine vergleichende Implementierung unter Benutzung des JAVA-Technologiestacks des SAP WAS soll im Weiteren beschrieben werden. Dabei soll als Kriterium die Offenheit und Flexibilität des JAVA-Stacks überprüft werden. Dazu soll die vergleichende Implementierung nicht mit den von SAP unterstützten WebDynpros oder Java Server Pages vorgenommen werden, sondern unter Benutzung des Google Web Toolkits ein Baustein der Shopoberfläche implementiert werden. Das Hauptnavigationselement des Shops ist ein Baumelement. Dieses wurde in der produktiven Umsetzung mit dem HTMLB-Element <htmlb:tree></htmlb:tree> umgesetzt, dem eine Tabelle vom Typ tview übergeben wird. <!-- Product Catalog --> <htmlb:tree id = "tree_productcat" title = "<%= otr(zweb_shop_paket/ produktkatalog) %>" table = "<%= treetab %>" width = "260px" toggle = "X" /> In diesem werden die Produktoberkategorien und Produktunterkategorien zur Verfügung gestellt. Man kann die Baumelemente öffnen und schließen und über Mausklick ein Event auslösen (Öffnen im Anzeigebereich) aus (vgl. Abb. 9). Abb. 9 Beispiel HTMLB- Baumstruktur Die Daten für den Aufbau der Produktkategorien kommen aus dem SAP ERP-System (vgl. Abb. 11). Dort werden sie in dem Geschäftsobjekt Produktkatalog gepflegt. Für dieses BO stehen verschiedene BAPIs zur Verfügung, um die Daten bearbeiten zu können (vgl. Abb. 10).

53 Kapitel 4 Vergleichende softwaretechnische Implementierung Seite 44 Abb. 11 Layoutbereich des SAP- Geschäftsobjekts Produktkatalog Abb. 10 BAPI-Explorer Im ABAP-Stack kann auf die BAPIs direkt zugegriffen werden. Im JAVA-Stack muss zuerst eine JCo-Verbindung zum SAP ERP hergestellt werden, um dann die BAPIs aufrufen zu können. GWT ist ein OpenSource JAVA-Entwicklungsframework, das die Asynchronous JavaScript and XML (AJAX)-Technologie benutzt. Auf den Seiten der Herausgeber, wird es wie folgt beschrieben: GWT is an open source Java development framework that lets you escape the matrix of technologies that make writing AJAX applications so difficult and error prone. With GWT, you can develop and debug AJAX applications in the Java language using the Java development tools of your choice. When you deploy your application to production, the GWT compiler translates your Java application to browser-compliant JavaScript and HTML. [vgl. Go08a]. Der vom GWT erzeugte JAVA-Sourcecode ist J2SE konform [vgl. Go08b]. Aufgrund der dargestellten Gegebenheiten wird für die Implementierung im JAVA-Stack erwartet, dass das Benutzerinterface (Design und Bedienoberfläche) mit dem GWT ansprechender und komfortabler bedienbar entwickelt werden kann. Dank der AJAX- Technologie sollte die Lade- und Reaktionszeit der Baumelemente performanter möglich sein. Der Zugriff auf die SAP ERP-Daten und die Anpassung der Datentypen sollte sich als komplizierter und zeitintensiver als im ABAP-Stack herausstellen. Die Erwartungen an die GWT-Oberfläche ist im Hinblick auf Performanz und Design hoch. Weiterhin wird vermutet, dass die Einbettung der GWT-Funktionalität unkompliziert auf dem J2EE-Server von SAP vorgenommen werden kann.

54 Kapitel 4 Vergleichende softwaretechnische Implementierung Seite Programmierung und Ergebnisse Im Software Developer Forum (SDN) von SAP findet man eine Kurzanleitung zur Einbettung der GWT-Logik und GWT-Klassen in das SAP NetWeaver Developer Studio. Diese Anleitung als Basis befolgend, mit Hilfe der Grundlagenbeschreibungen und Dokumentation auf den Seiten von Google war es gut möglich, die GWT-Funktionalität über ein WebProject im SAP NWDS einzubinden und zu benutzen. Beim Download des GWT Software Development Kits bekommt man einige Batchprogramme mitgeliefert. Eines davon, der projectcreator, unterstützt die Anlage der Grundstruktur eines Entwicklungsprojektes unter Eclipse, der applicationcreator legt bei Ausführung zwei Batchdateien an: Eine mit der man seinen geschriebenen Code in einem lokalen Server ausführen, anschauen und debuggen kann, sowie eine andere zum Kompilieren des JAVA- Codes in JavaScript und HTML-Dateien.. Die Ordnerstrukturen die in folgender Tabelle (vgl. Tab. 10) aufgeführt sind werden angelegt, sowie einige Konfigurationsdateien, wie z.b. die GWT-Moduldatei, und eine HTML- Einstiegsseite Ordnerstruktur GWT-Entwicklungspaket Funktion com/c1ips/gwtclient Das Wurzelverzeichnis. Enthält Modul XML-Konfigurationsdateien. com/c1ips/gwtclient/client Client-seitige Quelldateien und Subpakete com/c1ips/gwtclient/server Server-seitige Quelldateien und Subpakete com/c1ips/gwtclient/public Statische öffentliche Ressourcen Tab. 10 Standard Ordnerstrukturen eines GWT-Projekts Im Vergleich zur Nutzung der ABAP-Stack Funktionalitäten, ist der initiale Konfigurationsaufwand bis man die erste Zeile Code schreiben kann größer. Für die Nutzung der GWT-Funktionalität an sich und der integrierten AJAX-Aufrufe, müssen verschiedene Serviceklassen implementiert werden. Die AJAX-Funktionalität bietet dabei die Möglichkeit Daten vom Server nachzuladen ohne dabei einen kompletten HTTP- Request/Response Vorgang der gesamten Seite durchlaufen zu müssen. Es wird also per Remote Procedure Call (RPC) eine Anfrage der zu bestimmenden Daten abgegeben, bei unserem Beispiel eine Unterkategorie aus dem Produktkatalog, die angeforderten Daten werden vom Server bereitgestellt und zurück gesendet. Die Übertragung über HTTP beschränkt sich also auf das Delta der aktuellen und der angeforderten Seite. Für den Aufbau der Baumstruktur bietet sich die Nutzung der AJAX Funktionalität an. So können beim initialen Laden der Seite die Oberkategorien übertragen werden und Einträge in den Unterkategorien über AJAX-Aufrufe nachgeladen werden. Das SAP HTMLB-TreeView-Element hat bei zunehmender Anzahl an Baumelementen Probleme mit der Performance. SAP empfiehlt, nicht mehr als dreißig Elemente gleichzeitig an den Baum anzuhängen. Beobachtet man den Quellcode, so erkennt man, dass für das

55 Kapitel 4 Vergleichende softwaretechnische Implementierung Seite 46 Element und die Gestaltung sehr viel HTML- und JavaScript-Code erzeugt wird. SAP löst dieses Problem über eine Option, die das Nachladen der Unterelemente unterstützt (toggle) (Abb. 9), dabei wird aber jeweils der komplette Baum neu geladen. Der in oben aufgeführter Abbildung generierte Baum wird mit ca Zeichen (ohne Leerzeichen) dargestellt. Diese Zeichen enthalten vor allem den HTML-Quellcode, die CSS-Klassen und die JavaScript- Steuerungslogik. Die in der untenstehenden Grafik (vgl. Abb. 12) gemessenen HTTP-Request/Response- Größen werden bei einem Klick auf die Produktkategorie Getränke ausgelöst. Schaut man sich die detaillierte HTTP-Response an erkennt man, dass die gesamte Seite übertragen wird. Abb. 12 BSP-Request Treeclick Der Vergleich mit dem generierten GWT-Baumelement gestaltet sich nicht ganz einfach, da ein Zugriff auf den HTML-Quelltext durch die GWT-Wrapper-HTML-Seite verdeckt wird. Über diese Wrapper-Seite wird der Aufruf des GWT-Moduls gesteuert. Schaut man sich die JavaScript-Funktionalitäten an, findet man eine Funktion für die initiale Baumstruktur, die nicht mehr als 10 Zeilen Code entspricht. Die gesamte Seite, wie in der nächsten Abbildung (vgl. Abb. 14) zu sehen, umfasst mit der vollen GWT-Funktionalität der asynchronen Aufrufe ca Zeichen. Schaut man sich im Folgenden die Response des asynchronen HTTP-Aufrufs an (vgl. Abb. 13), findet man einen einzelnen HTTP-Response, die die nachgeladenen Daten enthält. Abb. 13 GWT-Request Treeclick"

56 Kapitel 4 Vergleichende softwaretechnische Implementierung Seite 47 Abb. 14 Beispiel GWT-Baumstruktur HTTP-Response bei Aufruf des asynchronen GwtService //OK[1,["Bier;Weissbier;Alkoholfreies\x20Bier;Sekt;Prosecco;Champanger;Alko holfreie\x20getränke;fruchtsäfte;mineralwasser"],0,3] Bei der Performanz der Seiten und der Dateigröße liefert das GWT-Modul ganz eindeutig, wie erwartet, die bessere Leistung. Schaut man sich den Entwicklungsaufwand an, wird es schwer eine objektive Bewertung zu finden. Ein routinierter JAVA-Entwickler wird keine größeren Schwierigkeiten haben, sich in der GWT API zurecht zu finden. Klare Elementdefinitionen, eine vollständige Dokumentation der Eigenschaften und Methoden machen die Entwicklung einfach. Im WWW finden sich zahlreiche Beispiele zur Umsetzung der zur Verfügung stehenden Elemente. Nichtsdestotrotz muss das Design der Seiten ohne zusätzliche Tools selbst entwickelt werden. Der Aufwand für die GwtCatalog-Applikation entsprechende CSS-Dateien zu erstellen, sowie das Baumelement mit eigenen Bildern für die Ordnerstruktur zu gestalten war im Rahmen dieser Arbeit nicht mehr möglich. Da GWT sogenannte ImageMaps unterstützt, werden sämtliche Bilder in einer HTTP-Request/Response geladen und sorgen so für eine hohe Performanz. Das GUI-Design im vorgefertigten SAP HTMLB-Framework mit Hilfe der ABAP Workbench, welche alle Elemente und Piktogramme (Icons) im passenden Design mitliefert, ist auf den ersten Blick einfacher. Über einen Themeeditor können die vorhandenen Standard Themen von SAP mit der Vielzahl an CSS-Dateien browserübergreifend angepasst werden. In diesem Zusammenhang ist allerdings darauf hinzuweisen, dass es zusätzlich erwerbbare Applikationen gibt, z.b. den GWT Designer, mit dem die Gestaltung von GWT- Applikationen über einen WYSIWYG Editor möglich ist. Auch das Anpassen der CSS- Dateien soll darüber stark vereinfacht sein [vgl. In08]. Ein Test dieser zusätzlichen Applikationen war hier nicht möglich.

57 Kapitel 4 Vergleichende softwaretechnische Implementierung Seite 48 Das Standard-Erscheinungsbild der GWT-Widgets und Komponenten ist schlicht, kann aber nach Belieben, mit dem zuvor beschriebenen Aufwand, angepasst werden. Die eigentliche GWT-Applikation wird im SAP NWDS über ein Web Application Project gesteuert (vgl. Abb. 15). In diesem legt man die clientseitigen und serverseitigen Klassen an. Für den RPC-Aufruf sollten zwei Interfaces (hier IGwtService und IGwtServiceAsync) angelegt werden, welche durch die eigentlichen Anwendungsklassen implementiert werden, um die asynchrone Kommunikation möglich zu machen. Abb. 15 com.c1ips.gwtcatalog Paketstruktur Abb. 16 GwtbaseEAR Enterprise Application Project Das erstellte Web Application Project wird einem Enterprise Application Project (vgl. Abb. 16) zugeordnet. Nach Benutzung des GWT-Compilers, wird das Enterprise Application Project auf der J2EE-Engine deployed. Die Standardeinstiegsseite (hier GwtCatalog.html) kann dann in dem öffentlichen Webverzeichnis aufgerufen werden. Das Testen der GWT-Anwendung kann im hosted mode vorgenommen werden, einem lokalen GWT-Entwicklungsserver. Die für die J2EE-Engine benötigten Klassen zur Unterstützung der GWT-Funktionalität können über ein Libraryprojekt (hier: com.c1ips.gwtbase.lib) auf die J2EE-Engine übertragen und referenziert werden. Zur browserübergreifenden Kompatibilität findet man auf den GWT-Internetseiten [vgl. Go08b] die Aussage, dass die Google Widgets und Komponenten bei den gängigen Browsern (Internet Explorer, Firefox, Safari) keine Probleme verursachen. Entwickelt man eigenen UI- Elemente oder Komponenten, ist ein Test mit verschiedenen Browsern unumgänglich. SAP garantiert eine komplette Nutzung der BSP und WebDynpro Webfunktionalitäten für den Internet Explorer (zurzeit noch teilweise eingeschränkt für Version 7). Bei WebDynpros und der Portalumgebung gibt es in den SAP-Hinweisen aufgeführte Inkompatibilitäten mit Firefox.

Von SAP R/3 zu mysap ERP und NetWeaver

Von SAP R/3 zu mysap ERP und NetWeaver Von SAP R/3 zu mysap ERP und NetWeaver Bremerhaven 06.05.2006 T4T Bremerhaven 1 Inhaltsverzeichnis 1. Motivation für SAP NetWeaver 2. SAP R/3 mysap ERP und SAP Business Suite 3. Application Platform T4T

Mehr

Technik der SAP-Anbindung Christian Aigner Team Entwicklung, Kranzberg

Technik der SAP-Anbindung Christian Aigner Team Entwicklung, Kranzberg Christian Aigner Team Entwicklung, Kranzberg Inhalt Schnell- und Kürzestübersicht über SAP Architektur Inhalt, Login, Session SapGUI Workbench,Editor,Explorer Mechanismen Die Gemeinsamkeiten: nutzbare

Mehr

3... SAP NetWeaver Developer Studio: Schritt für Schritt zur Beispielanwendung... 119

3... SAP NetWeaver Developer Studio: Schritt für Schritt zur Beispielanwendung... 119 1... SAP NetWeaver... 25 1.1... Plattform für die Enterprise Service-Oriented Architecture... 26... 1.1.1... Enterprise-SOA-Definition... 26... 1.1.2... Vorteile einer serviceorientierten Architektur...

Mehr

Peter Körner Adobe Systems Berlin, 3. Juni 2005

Peter Körner Adobe Systems Berlin, 3. Juni 2005 Interactive Forms based on Adobe Software: Überblick Peter Körner Adobe Systems Berlin, 3. Juni 2005 Einleitung Anwendungsszenarios Technologie Einleitung Anwendungsszenarios Technologie Anforderungen

Mehr

Organisation und Systeme SOA: Erstellung von Templates für WebService Consumer und Provider in Java

Organisation und Systeme SOA: Erstellung von Templates für WebService Consumer und Provider in Java SOA: Erstellung von Templates für WebService Consumer und Provider in Java Entwicklung von Java WebService Provider- und Consumer-Bibliotheken zur Standardisierung der Karmann WebService Landschaft. Konzeption

Mehr

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Entwicklung von Web-Anwendungen auf JAVA EE Basis Entwicklung von Web-Anwendungen auf JAVA EE Basis Java Enterprise Edition - Überblick Prof. Dr. Bernhard Schiefer Inhalt der Veranstaltung Überblick Java EE JDBC, JPA, JNDI Servlets, Java Server Pages

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans Java Enterprise Edition - Überblick Was ist J2EE Java EE? Zunächst mal: Eine Menge von Spezifikationen und Regeln. April 1997: SUN initiiert die Entwicklung

Mehr

Remote Communications

Remote Communications HELP.BCFESDEI Release 4.6C SAP AG Copyright Copyright 2001 SAP AG. Alle Rechte vorbehalten. Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher

Mehr

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition Inhaltsverzeichnis Vorwort 13 I Enterprise Java im Überblick 1 Bedeutung von Enterprise Java und IBM WebSphere 21 1.1 Enterprise Java 23 1.1.1 Anforderungen 23 1.1.2 E-Business 30 1.1.3 Java 36 1.2 IBM

Mehr

3 Anwendungsarchitektur und Entwicklungsumgebung

3 Anwendungsarchitektur und Entwicklungsumgebung 21 3 Anwendungsarchitektur und Bei den Entwicklern von Web-basierten Dialogsystemen hat sich im Laufe der Zeit eine Vorgehensweise im Design von Anwendungen entwickelt, dies es ermöglicht, flexible Web-Dialoge

Mehr

Howto. Konfiguration eines Adobe Document Services

Howto. Konfiguration eines Adobe Document Services Howto Konfiguration eines Adobe Document Services (ADS) Inhaltsverzeichnis: 1 SYSTEMUMGEBUNG... 3 2 TECHNISCHE VERBINDUNGEN ZWISCHEN DEN SYSTEMEN... 3 2.1 PDF BASIERENDE FORMULARE IN DER ABAP UMGEBUNG...

Mehr

Karl Kessler, Peter Tillert, Panayot Dobrikov Java-Programmierung mit dem SAP Web Application Server

Karl Kessler, Peter Tillert, Panayot Dobrikov Java-Programmierung mit dem SAP Web Application Server 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Karl Kessler, Peter Tillert, Panayot Dobrikov Java-Programmierung

Mehr

Tier-Konzepte. Vertiefungsarbeit von Karin Schäuble

Tier-Konzepte. Vertiefungsarbeit von Karin Schäuble Vertiefungsarbeit von Karin Schäuble Gliederung 1. Einführung 3. Rahmenbedingungen in der heutigen Marktwirtschaft 3.1 Situation für Unternehmen 3.2 Situation für Applikationsentwickler 4. Lösungskonzepte

Mehr

Web 2.0 Architekturen und Frameworks

Web 2.0 Architekturen und Frameworks Web 2.0 Architekturen und Frameworks codecentric GmbH Mirko Novakovic codecentric GmbH Quality Technische Qualitätssicherung in Software-Projekten mit Fokus auf Performance, Verfügbarkeit und Wartbarkeit

Mehr

Loren Heilig, Steffen Karch. SAP NetWeaver 8. Galileo Press. Bonn Boston

Loren Heilig, Steffen Karch. SAP NetWeaver 8. Galileo Press. Bonn Boston Loren Heilig, Steffen Karch SAP NetWeaver 8 Galileo Press Bonn Boston Geleitwort 17 Danksagung 19 2.1 Anforderungen an eine IT-Landschaft 29 2.1.1 Flexibilität als Erfolgsfaktor 29 2.1.2 Kostenbewusstsein

Mehr

Wirtschaftsinformatik II SS 2012. Einführung in SAP

Wirtschaftsinformatik II SS 2012. Einführung in SAP Wirtschaftsinformatik II SS 2012 Einführung in SAP SAP als klassisches ERP-System SAP = ERP Enterprise Ressource Planing SAP als klassisches ERP-System SAP: führender Anbieter im Bereich ERP-Systeme (Enterprise

Mehr

8.4 Überblick und Vergleich weiterer ERP-Systeme. G Oracle Applications 11 G PeopleSoft 7 G J.D. Edwards One World G BaanERP

8.4 Überblick und Vergleich weiterer ERP-Systeme. G Oracle Applications 11 G PeopleSoft 7 G J.D. Edwards One World G BaanERP 8.4 Überblick und Vergleich weiterer ERP-Systeme G Oracle Applications 11 G PeopleSoft 7 G J.D. Edwards One World G BaanERP Kapitel 8: ERP-Einführung 32 Architektur von Oracle Applications 11 G Logische

Mehr

Was NetWeaver wirklich bietet

Was NetWeaver wirklich bietet Was NetWeaver wirklich bietet Erschienen in der Computerwoche 03/2007 Von Dr. Carl Winter, REALTECH AG Welche SAP Produkt-Versionen und SAP Releases gehören und passen zusammen. Welche sind die aktuellen

Mehr

Geschäftsprozessmodellierung und implementierung am Beispiel SAP ERP

Geschäftsprozessmodellierung und implementierung am Beispiel SAP ERP Geschäftsprozessmodellierung und implementierung am Beispiel SAP ERP V04 02. Mai 2011, 16.15-17.45 Uhr, ITS-Pool nur zugelassene Teilnehmer Niedersächsisches Hochschulkompetenzzentrum für SAP (CCC) Aktuelles

Mehr

SAP SharePoint Integration. e1 Business Solutions GmbH

SAP SharePoint Integration. e1 Business Solutions GmbH SAP SharePoint Integration e1 Business Solutions GmbH Inhalt Duet Enterprise Überblick Duet Enterprise Use Cases Duet Enterprise Technologie Duet Enterprise Entwicklungs-Prozess Duet Enterprise Vorteile

Mehr

SAP NetWeaver Gateway. Connectivity@SNAP 2013

SAP NetWeaver Gateway. Connectivity@SNAP 2013 SAP NetWeaver Gateway Connectivity@SNAP 2013 Neue Wege im Unternehmen Neue Geräte und Usererfahrungen Technische Innovationen in Unternehmen Wachsende Gemeinschaft an Entwicklern Ausdehnung der Geschäftsdaten

Mehr

Andreas Emhart Geschäftsführer Alegri International Group

Andreas Emhart Geschäftsführer Alegri International Group Andreas Emhart Geschäftsführer Alegri International Group Agenda Vorstellung Alegri International Überblick Microsoft Business Intelligence Sharepoint Standard Business Intelligence Tool Excel Service

Mehr

Moderne Benutzeroberflächen für SAP Anwendungen

Moderne Benutzeroberflächen für SAP Anwendungen Seite 1 objective partner für SAP Erfahrungen mit dem UI-Development Kit für HTML5 (SAPUI5) - 19.06.2012 Seite 2 Quick Facts objective partner AG Die objective partner AG 1995 gegründet mit Hauptsitz in

Mehr

Seminare Softwaretechnik - Einführungsveranstaltung

Seminare Softwaretechnik - Einführungsveranstaltung Seminare Softwaretechnik - Einführungsveranstaltung Stefan Malich Wintersemester 2005/2006 Version 1.0 Lehrstuhl für Wirtschaftsinformatik und Softwaretechnik Prof. Dr. Stefan Eicker 1 Agenda Einführung

Mehr

Integrating Architecture Apps for the Enterprise

Integrating Architecture Apps for the Enterprise Integrating Architecture Apps for the Enterprise Ein einheitliches Modulsystem für verteilte Unternehmensanwendungen Motivation und Grundkonzept Inhalt Problem Ursache Herausforderung Grundgedanke Architektur

Mehr

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten Aktuelle Themen der Wirtschaftsinformatik Zusammenfassung 09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten 1 Serverseitige Webprogrammierung

Mehr

Service. Was ist eine Enterprise Service Architecture und wie reagiert SAP. Warum Monitoring in ZENOS, was monitort die XI?

Service. Was ist eine Enterprise Service Architecture und wie reagiert SAP. Warum Monitoring in ZENOS, was monitort die XI? Service Was ist eine Enterprise Service Architecture und wie reagiert SAP Allgemeine Definition Was gehört in ZENOS (Service-Layer)? Business Logik ZENOS als Provider für SAP-based Services (ESA/SOA) Warum

Mehr

Der nächste Schritt: Kommunikation zwischen R/3 und externen Systemen Auswahl von SAP-Interfaces unter Qualitäts- und Performance-Aspekten

Der nächste Schritt: Kommunikation zwischen R/3 und externen Systemen Auswahl von SAP-Interfaces unter Qualitäts- und Performance-Aspekten Der nächste Schritt: Kommunikation zwischen R/3 und externen Systemen Auswahl von SAP-Interfaces unter Qualitäts- und Performance-Aspekten Autor: Stephan Fröhlich, Marko Fricke Orange Five GmbH Inhalt

Mehr

Diplomarbeit. Planung eines Webauftritts. Ein Leitfaden für kleine und mittelständische Unternehmen. Daniel Jurischka. Bachelor + Master Publishing

Diplomarbeit. Planung eines Webauftritts. Ein Leitfaden für kleine und mittelständische Unternehmen. Daniel Jurischka. Bachelor + Master Publishing Diplomarbeit Daniel Jurischka Planung eines Webauftritts Ein Leitfaden für kleine und mittelständische Unternehmen Bachelor + Master Publishing Daniel Jurischka Planung eines Webauftritts: Ein Leitfaden

Mehr

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen...

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen... Inhalt HTML- Grundlagen und CSS... 2 XML Programmierung - Grundlagen... 3 PHP Programmierung - Grundlagen... 4 Java - Grundlagen... 5 Java Aufbau... 6 ASP.NET Programmierung - Grundlagen... 7 1 HTML- Grundlagen

Mehr

SAPTEC Überprüfen Sie Ihr Wissen

SAPTEC Überprüfen Sie Ihr Wissen SAPTEC Überprüfen Sie Ihr Wissen 1. Folgende Lösungen sind Angebote von SAP: B mysap Product Lifecycle Management (mysap PLM) C mysap Customer Relationship Management (mysap CRM) D mysap Supply Chain Management

Mehr

... Einleitung... 15. 3... Prozessintegration und Integrationsszenarien... 127 3.1... Integrationsszenariomodelle... 128

... Einleitung... 15. 3... Prozessintegration und Integrationsszenarien... 127 3.1... Integrationsszenariomodelle... 128 ... Einleitung... 15 1... Grundlagen der Modellierung von Enterprise Services... 23 1.1... Serviceorientierte Architekturen... 26 1.1.1... Merkmale serviceorientierter Architekturen... 27 1.1.2... SOA

Mehr

Holger Becker 7028 WI 00

Holger Becker 7028 WI 00 Holger Becker 7028 WI 00 Übersicht 1 SAP Firmenprofil 2 mysap 3 Unterschiede zu SAP R/3 4 Aufbau - Bestandteile 5 Anwendung 6 Fazit Übersicht 1 SAP Firmenprofil 2 mysap 3 Unterschiede zu SAP R/3 4 Aufbau

Mehr

PROZESSE INTEGRIEREN leicht gemacht EFFIZIENTE PROZESSE

PROZESSE INTEGRIEREN leicht gemacht EFFIZIENTE PROZESSE PROZESSE INTEGRIEREN leicht gemacht DURCH TransConnect Geschäftsprozesse ableiten mit der Universal Worklist (UWL) Integrationsszenarien effektiver verwalten und transportieren Optimierte Personalverwaltung

Mehr

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server Einsatz von Applikationsservern Untersucht am Beispiel des Sybase Enterprise Application Server Architektur von Datenbanksystemen Client / Server Modell (2 Schichten Modell) Benutzerschnittstelle Präsentationslogik

Mehr

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework

Mehr

Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013

Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013 Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013 Die Herausforderung: Hostanbindung Viele Unternehmen besitzen Mainframe- und Legacy-Anwendungen, so genannte Enterprise Information Systems (EIS),

Mehr

SmartExporter 2013 R1

SmartExporter 2013 R1 Die aktuelle Version wartet mit zahlreichen neuen Features und umfangreichen Erweiterungen auf. So können mit SmartExporter 2013 R1 nun auch archivierte Daten extrahiert und das Herunterladen der Daten

Mehr

Das Zusammenspiel von mysap ERP, SAP NetWeaver und der ESOA

Das Zusammenspiel von mysap ERP, SAP NetWeaver und der ESOA Das Zusammenspiel von mysap ERP, SAP NetWeaver und der ESOA Erschienen in der E3 04/2007 Von Dr. Carl Winter, REALTECH AG Wer im Umfeld von SAP Systemlandschaften über mysap ERP 2005 spricht, landet schnell

Mehr

Mehmet-Oktay Tugan Gliederung Grundsätzliches und Begriffserklärung Einleitung Geschichte Architektur Funktionalitätsumfang Hauptunterstützungen Zusammenfassung Grundsätzliches WebSphere ist ein Entwicklungstool

Mehr

Vorwort... 11 Azure Cloud Computing mit Microsoft... 12 Danksagungen... 13 Kontakt zum Autor... 13

Vorwort... 11 Azure Cloud Computing mit Microsoft... 12 Danksagungen... 13 Kontakt zum Autor... 13 Inhaltsverzeichnis Vorwort... 11 Azure Cloud Computing mit Microsoft... 12 Danksagungen... 13 Kontakt zum Autor... 13 Einleitung... 15 Zielgruppe... 16 Aufbau... 16 Inhalt der einzelnen Kapitel... 17 Systemanforderungen...

Mehr

Diedrich Frielinghaus Freier SAP Berater & Entwickler

Diedrich Frielinghaus Freier SAP Berater & Entwickler Über mich Ich arbeite seit mehr als zwölf Jahren im SAP Umfeld. Seit über neun Jahren bin ich in der Beratung und Entwicklung in Kundenprojekten tätig. Mitte des Jahres 2008 habe ich mich als freiberuflicher

Mehr

Middleware. Host. Versuch einer Einleitung. dumme Terminals stellen Ausgaben dar und nehmen Eingaben an

Middleware. Host. Versuch einer Einleitung. dumme Terminals stellen Ausgaben dar und nehmen Eingaben an Middleware Versuch einer Einleitung Host dumme Terminals stellen Ausgaben dar und nehmen Eingaben an Mainframe enthält vollständige Anwendung Typ. COBOL, C Mainframe contd.! Nachteile! Mainframe ist teuer

Mehr

Effiziente Anwendungs-Entwicklung mittels Business Software Framework BISON Solution

Effiziente Anwendungs-Entwicklung mittels Business Software Framework BISON Solution Effiziente Anwendungs-Entwicklung mittels Business Software Framework BISON Solution Thomas Seiler Product Manager Technology BISON Schweiz AG Agenda Vergleich - Business Software Framework zu.net Framework

Mehr

NetWaever-Komponenten

NetWaever-Komponenten NetWaever-Komponenten Bremerhaven 07.05.2006 T4T Bremerhaven 1 Inhaltsverzeichnis 1. People Integration 2. Information Integration 3. Process Integration 4. Solution Management T4T Bremerhaven 2 Kapitel

Mehr

Cubeware Connectivity for SAP Solutions

Cubeware Connectivity for SAP Solutions Cubeware Connectivity for SAP Solutions Beispiele und Anwendungsfälle 1. Modellierung, Extraction, Transformation und Loading mit Datenquelle SAP R/3 und mysap ERP Mit Hilfe des Cubeware Importers und

Mehr

InQMy Application Server Flexible Softwareinfrastruktur für verteilte Anwendungen

InQMy Application Server Flexible Softwareinfrastruktur für verteilte Anwendungen InQMy Application Server Flexible Softwareinfrastruktur für verteilte Anwendungen IN-Q-My Title Company (Name) / 1 Agenda Firmenübersicht ebusiness Evolution InQMy Application Server Architektur Zusammenfassung

Mehr

https://extranet.karmann.com/website_all/personalmanagement.nsf/web_dipl_praktika... Starttermin beliebig Dauer 3-6 Monate

https://extranet.karmann.com/website_all/personalmanagement.nsf/web_dipl_praktika... Starttermin beliebig Dauer 3-6 Monate Migration einzelner Applikationen des Karmann Extranet-Portals von Lotus Notes/Domino nach SAP NetWeaver EP (Enterprise Portal) beliebig Portierung indivieduell entwickelter Applikationen für die Lieferantenkommunikation

Mehr

PROJEKTÜBERSICHT MITARBEITER DIRK BOLINSKI. 08 / 06 jetzt ZEITRAUM. Energieversorger KUNDE

PROJEKTÜBERSICHT MITARBEITER DIRK BOLINSKI. 08 / 06 jetzt ZEITRAUM. Energieversorger KUNDE ÜBERSICHT MITARBEITER DIRK BOLINSKI ZEITRAUM 08 / 06 jetzt Energieversorger Upgrade Solution Manager 3.2 --> 4.0 Upgrade Oracle 10g --> Oracle 11g Upgrade Oracle 9i --> 10g Konzepterstellung zur Anbindung

Mehr

Workshop 2. SAP Solution Manager zur Installation von SAP-Systemen. Abschlusspräsentation. Dresden, 31.Januar 2008

Workshop 2. SAP Solution Manager zur Installation von SAP-Systemen. Abschlusspräsentation. Dresden, 31.Januar 2008 Workshop 2 SAP Solution Manager zur Installation von SAP-Systemen Abschlusspräsentation Dresden, 31.Januar 2008 Team des Workshop 2, IW04, HTW Dresden (FH) WS 02/07 HTW-Dresden 1 Agenda Allgemeiner Überblick

Mehr

DWH Szenarien. www.syntegris.de

DWH Szenarien. www.syntegris.de DWH Szenarien www.syntegris.de Übersicht Syntegris Unser Synhaus. Alles unter einem Dach! Übersicht Data-Warehouse und BI Projekte und Kompetenzen für skalierbare BI-Systeme. Vom Reporting auf operativen

Mehr

Die Creos Business Akademie. Kursauszug SAP Professionals ABAP Entwicklung, JAVA unter SAP, NetWeaver

Die Creos Business Akademie. Kursauszug SAP Professionals ABAP Entwicklung, JAVA unter SAP, NetWeaver Die Creos Business Akademie Kursauszug SAP Professionals ABAP Entwicklung, JAVA unter SAP, NetWeaver Bildungsdienstleistungen für anspruchsvolle Unternehmen CREOS Lernpaket: SAP Technologie SAP Entwicklung

Mehr

Mobile Anwendungen im SAP-Umfeld

Mobile Anwendungen im SAP-Umfeld Erstes Symposium für neue IT in Leipzig 27. September 2013 Michael Rentzsch Informatik DV GmbH michael.rentzsch@informatik-dv.com +49.341.462586920 IT-Trend: Mobile Mobile might be one of the most interesting

Mehr

Standardisierte Integration und Datenmigration in heterogenen Systemlandschaften am Beispiel von Customer Relationship Management

Standardisierte Integration und Datenmigration in heterogenen Systemlandschaften am Beispiel von Customer Relationship Management Standardisierte Integration und Datenmigration in heterogenen Systemlandschaften am Beispiel von Customer Relationship Management Inauguraldissertation zur Erlangung des akademischen Grades eines Doktors

Mehr

CRONOS CRM Online for OS

CRONOS CRM Online for OS www.osram-os.com CRONOS CRM Online for OS B. Blanz, S. Eichinger 08.09.2014 Regensburg Light is OSRAM Customer Relationship Management Online for OS Page 1. Vorstellung des Projekts CRONOS 04 2. Anforderungsanalyse

Mehr

HVS32. ein Versandsystem das immer passt. Dokumentation. SAP-IDoc Schnittstelle

HVS32. ein Versandsystem das immer passt. Dokumentation. SAP-IDoc Schnittstelle ein Versandsystem das immer passt Dokumentation SAP-IDoc Schnittstelle Inhalt 1 HVS32 Anbindung an SAP mit IDocs...2 1.1 Integration...2 1.1.1 HVS32...2 1.1.2 HVS32-Gateway...2 1.2 Ablauf...3 2 IDoc Typen...4

Mehr

Web-Programmierung (WPR)

Web-Programmierung (WPR) Web-Programmierung (WPR) Vorlesung XII. Vergleich Server-Plattformen mailto:wpr@gruner.org 1 Technologien Perl/CGI Einsatzgebiete: Kleine Websites, semiprofessioneller Bereich Pro's: Plattform/Serverneutralität

Mehr

Anforderungen an Datenbankservices in SOA-basierten Lösungen. Liane Will SAP AG/ Otto-von-Güricke-Universität Magdeburg 6.5.2010

Anforderungen an Datenbankservices in SOA-basierten Lösungen. Liane Will SAP AG/ Otto-von-Güricke-Universität Magdeburg 6.5.2010 Anforderungen an services in SOA-basierten Lösungen Liane Will SAP AG/ Otto-von-Güricke-Universität Magdeburg 6.5.2010 Diplom-Mathematikerin Seit 1997 bei SAP AG Berlin im Active Global Support Best Practices

Mehr

Stand 2008.08. Vorstellung der EXXETA

Stand 2008.08. Vorstellung der EXXETA Stand 2008.08 Vorstellung der EXXETA Unternehmensprofil EXXETA optimiert ausgewählte Geschäftsprozesse ihrer Kunden auf Fach- und IT-Ebene. EXXETA bietet Fach- und Technologie-Beratung mit Branchen-, Prozessund

Mehr

7HVWHQYRQ6$3$QZHQGXQJHQPLWGHP([WHQGHG &RPSXWHU$LGHG7HVW7RROH&$77

7HVWHQYRQ6$3$QZHQGXQJHQPLWGHP([WHQGHG &RPSXWHU$LGHG7HVW7RROH&$77 7HVWHQYRQ6$3$QZHQGXQJHQPLWGHP([WHQGHG &RPSXWHU$LGHG7HVW7RROH&$77 (LQOHLWXQJ Mit der SAP Testworkbench und dem Testtool ecatt können Anwender von SAP Software auf Basis des SAP Web Application Servers ab

Mehr

TM1 mobile intelligence

TM1 mobile intelligence TM1 mobile intelligence TM1mobile ist eine hochportable, mobile Plattform State of the Art, realisiert als Mobile BI-Plug-In für IBM Cognos TM1 und konzipiert als Framework für die Realisierung anspruchsvoller

Mehr

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com Web Services Java Praktikum SS 2010 Gerald.Ehmayer@borland.com 1 Web Services Einführung Definition, Eigenschaften, Anwendungen... JAX-RPC Überblick, Architektur... JAX Übersicht, Architektur Java Praktikum

Mehr

Rechnernetze Projekt SS 2015

Rechnernetze Projekt SS 2015 30/03/15 Seite 1 Aspektorientierte Programmierung logische Aspekte (Concerns) im Programm separieren Crosscutting Concerns (Ziel: generische Funktionalitäten über mehrere Klassen hinweg zu verwenden -

Mehr

Realtime Anbindung an SAP ERP

Realtime Anbindung an SAP ERP Realtime Anbindung an SAP ERP 14.07.2014, 15:00 NovaTec Consulting GmbH Leinfelden-Echterdingen, München, Frankfurt am Main, Berlin, Jeddah / Saudi-Arabien Showcase - Push SAP Terminauftrag NovaTec 09.09.2015

Mehr

Wirtschaftlichkeitsanalyse von Cloud Computing aus der Sicht internationaler Unternehmen. Masterarbeit

Wirtschaftlichkeitsanalyse von Cloud Computing aus der Sicht internationaler Unternehmen. Masterarbeit Wirtschaftlichkeitsanalyse von Cloud Computing aus der Sicht internationaler Unternehmen Masterarbeit zur Erlangung des akademischen Grades Master of Science (M.Sc.) im Masterstudiengang Wirtschaftswissenschaft

Mehr

Anwendungsbeispiele des EPO XML Connectors im Vergleich zu konventionellen Schnittstellentechnologien

Anwendungsbeispiele des EPO XML Connectors im Vergleich zu konventionellen Schnittstellentechnologien Anwendungsbeispiele des EPO XML Connectors im Vergleich zu konventionellen Schnittstellentechnologien EPO XML Connector: ABAP TM add-on für alle Integrationen mit SAP. Inhaltsverzeichnis 1 Management Summary...

Mehr

Architekturen. DB-Anwendungen: Aufgaben. Aufteilung der Funktionen. ƒ Datenbankanwendungen

Architekturen. DB-Anwendungen: Aufgaben. Aufteilung der Funktionen. ƒ Datenbankanwendungen Architekturen ƒ Datenbankanwendungen Aufgaben und Komponenten Aufteilung ƒ Architektur Web-basierter Anwendungen HTTP-basierte Architekturen Applet-basierte Architekturen Vorlesung Internet-Datenbanken

Mehr

Sun ONE. Sun Open Net Environment. Architektur für Web-Services on Demand. Dr. Rainer Eschrich rainer.eschrich@sun.com

Sun ONE. Sun Open Net Environment. Architektur für Web-Services on Demand. Dr. Rainer Eschrich rainer.eschrich@sun.com Sun ONE Sun Open Net Environment Dr. Rainer Eschrich rainer.eschrich@sun.com Architektur für Web-Services on Demand Sun ONE Vision Wie kann Software dem Kunden helfen? Kostenreduktion: Wie? In dem man

Mehr

ZENOS - SAP plug-in Erfolgsfaktor Serviceorientierung. Thomas Steinke Geschäftsführer actum consulting products GmbH

ZENOS - SAP plug-in Erfolgsfaktor Serviceorientierung. Thomas Steinke Geschäftsführer actum consulting products GmbH ZENOS - SAP plug-in Erfolgsfaktor Serviceorientierung Thomas Steinke Geschäftsführer actum consulting products GmbH 13.11.2006 ZENOS Anwenderforum 2006 Das Schlagwort SOA (serviceorientierte Architektur)

Mehr

Liste der Handbücher. Liste der Benutzerhandbücher von MEGA

Liste der Handbücher. Liste der Benutzerhandbücher von MEGA Liste der Handbücher Liste der Benutzerhandbücher von MEGA MEGA 2009 SP4 1. Ausgabe (Juni 2010) Die in diesem Dokument enthaltenen Informationen können jederzeit ohne vorherige Ankündigung geändert werden

Mehr

Anhang A: Einblick in Enterprise Resource Planning - Beispiel SAP R/3 -

Anhang A: Einblick in Enterprise Resource Planning - Beispiel SAP R/3 - Anhang A: Einblick in Enterprise Resource Planning - Beispiel SAP R/3 - Inhalt: Einblick in ein ERPS am Beispiel SAP R/3 aus Infrastruktur/Informationssysteme-Sicht (Teile I, II, III) Hauptidee von SAP

Mehr

Microsoft SQL Server 2005 - Konfigurierung, Administration, Programmierung

Microsoft SQL Server 2005 - Konfigurierung, Administration, Programmierung Ruprecht Droge, Markus Raatz Microsoft SQL Server 2005 - Konfigurierung, Administration, Programmierung Microsoft Press Vorwort XI 1 Einführung in SQL Server 2005 1 Geschichte des SQL Servers 1 Wichtige

Mehr

Java Enterprise Architekturen Willkommen in der Realität

Java Enterprise Architekturen Willkommen in der Realität Java Enterprise Architekturen Willkommen in der Realität Ralf Degner (Ralf.Degner@tk-online.de), Dr. Frank Griffel (Dr.Frank.Griffel@tk-online.de) Techniker Krankenkasse Häufig werden Mehrschichtarchitekturen

Mehr

Hochschule Heilbronn Technik Wirtschaft Informatik

Hochschule Heilbronn Technik Wirtschaft Informatik Hochschule Heilbronn Technik Wirtschaft Informatik Studiengang Electronic Business (EB) Diplomarbeit (280000) Evaluierung und Einführung eines Web Content Management Systems bei einem internationalen und

Mehr

J2EEKurs. J2EE eine Plattform für betriebliche Anwendungen. Peter Thiemann. Sommercampus J2EEKurs, Freiburg, Germany, 10.-14.10.

J2EEKurs. J2EE eine Plattform für betriebliche Anwendungen. Peter Thiemann. Sommercampus J2EEKurs, Freiburg, Germany, 10.-14.10. J2EE eine Plattform für betriebliche Anwendungen Universität Freiburg, Germany Sommercampus, Freiburg, Germany, 10.-14.10.2005 Plattform Betriebliche Anwendung J2EE Kontrahenten J2EE im Überblick Was ist

Mehr

Vorlesung. Informationssysteme. Prof. Dr. Hans Czap. Lehrstuhl für Wirtschaftsinformatik I. Email: Hans.Czap@uni-trier.de

Vorlesung. Informationssysteme. Prof. Dr. Hans Czap. Lehrstuhl für Wirtschaftsinformatik I. Email: Hans.Czap@uni-trier.de Vorlesung Grundlagen betrieblicher Informationssysteme Prof. Dr. Hans Czap Email: Hans.Czap@uni-trier.de - II - 1 - Inhalt Kap. 1 Ziele der Datenbanktheorie Kap. 2 Datenmodellierung und Datenbankentwurf

Mehr

Datenbankenseminar: SAP Reporting Vergleich ABAP vs. Quick View. Dipl. WiFo Sven Adolph

Datenbankenseminar: SAP Reporting Vergleich ABAP vs. Quick View. Dipl. WiFo Sven Adolph Datenbankenseminar: SAP Reporting Vergleich ABAP vs. Quick View Dipl. WiFo Sven Adolph Gehalten am Lehrstuhl PI III Prof. Moerkotte 28.11.2003 Übersicht 1. Motivation 2. Die betriebliche Standardsoftware

Mehr

Wer in der ersten Liga spielt, braucht Profis.

Wer in der ersten Liga spielt, braucht Profis. Wer in der ersten Liga spielt, braucht Profis. Ihr erfahrener und kompetenter SAP Allround - Dienstleister Die Profis für Ihre IT. SAP optimal nutzen: Setzen Sie auf die geballte Manpower der Goetzfried

Mehr

2 Die Systemarchitektur des Web Application Server

2 Die Systemarchitektur des Web Application Server 9 2 Die Systemarchitektur des Web Application Server Bevor wir uns überhaupt der Entwicklung von Internet-Dialoganwendungen unter dem SAP Web Application Server (WAS) widmen können, sollten wir uns mit

Mehr

Berufslaufbahn/Akademische Ausbildung. Beratungsschwerpunkte. Cadaxo GmbH frontworx AG. 2010 heute 2001 2010

Berufslaufbahn/Akademische Ausbildung. Beratungsschwerpunkte. Cadaxo GmbH frontworx AG. 2010 heute 2001 2010 Berufslaufbahn/Akademische Ausbildung 2010 heute 2001 2010 Zertifizierungen Cadaxo GmbH frontworx AG HTBLA Hollabrunn Senior Consultant Senior Consultant Abteilung Steuerungs- und Regeltechnik Weiterbildung

Mehr

TECHNOLOGY SOLUTIONS. Anwendungsentwicklung und Front-End-Technologien im SAP-Umfeld. Solutions

TECHNOLOGY SOLUTIONS. Anwendungsentwicklung und Front-End-Technologien im SAP-Umfeld. Solutions TECHNOLOGY SOLUTIONS Anwendungsentwicklung und Front-End-Technologien im SAP-Umfeld DE Solutions MAINTENANCE SOLUTIONS TECHNOLOGY SOLUTIONS Orianda [roman., urspr. Oreanda] s Siedlung am Südufer der Krim.

Mehr

A Generic Database Web Service for the Venice Lightweight Service Grid

A Generic Database Web Service for the Venice Lightweight Service Grid A Generic Database Web Service for the Venice Lightweight Service Grid Michael Koch Bachelorarbeit Michael Koch University of Kaiserslautern, Germany Integrated Communication Systems Lab Email: m_koch2@cs.uni-kl.de

Mehr

Ein Auszug aus... Studie. Content Management Systeme im Vergleich. Empfehlungen und Entscheidungshilfen für Unternehmensbereiche

Ein Auszug aus... Studie. Content Management Systeme im Vergleich. Empfehlungen und Entscheidungshilfen für Unternehmensbereiche Ein Auszug aus... Studie Content Management Systeme im Vergleich Empfehlungen und Entscheidungshilfen für Unternehmensbereiche Die komplette Studie ist bei amazon.de käuflich zu erwerben. Inhaltsverzeichnis

Mehr

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Proseminar Objektorientiertes Programmieren mit.net und C# Florian Schulz Institut für Informatik Software & Systems Engineering Einführung Was hat Cross-Plattform

Mehr

SAP NetWeaver Consultant und Geschäftsführer itegrate ohg, Bielefeld

SAP NetWeaver Consultant und Geschäftsführer itegrate ohg, Bielefeld Beraterprofil Name Dennis Breuer Geburtsdatum 13.08.1984 Beruflicher Werdegang Sprachen Deutsch Englisch 07.2011 heute SAP NetWeaver Consultant und Geschäftsführer itegrate ohg, Bielefeld 01.2007 07.2011

Mehr

Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung

Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung IBM WebSphere Process Server Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung AGENDA 1. Überblick 2. WebSphere Process Server 3. Komponenten 4. Präsentation

Mehr

Stand September 2010. TransConnect Die Plattform für skalierbare Anwendungsintegration

Stand September 2010. TransConnect Die Plattform für skalierbare Anwendungsintegration Stand September 2010 TransConnect Die Plattform für skalierbare Anwendungsintegration Herausforderungen für EAI-Lösungen Spezialisierte Anwendungssysteme ERP CRM ecommerce Gesundheitswesen Produktion Herausforderungen

Mehr

Der Java Server beinhaltet Container für EJB, Servlet und JSP, darüber hinaus unterstützt er diejee 1.3 Version.

Der Java Server beinhaltet Container für EJB, Servlet und JSP, darüber hinaus unterstützt er diejee 1.3 Version. hehuvlfkw Oracle 9iApplication Server (9iAS) fasst in einem einzigen integrierten Produkt alle Middleware-Funktionen zusammen, die bisher nur mit mehreren Produkten unterschiedlicher Anbieter erreicht

Mehr

Inhalt. Teil I Einstieg. 1 Einführung in SAP Gateway... 31. 2 Einführung in OData... 65. Vorworte... 17 Einleitung... 23

Inhalt. Teil I Einstieg. 1 Einführung in SAP Gateway... 31. 2 Einführung in OData... 65. Vorworte... 17 Einleitung... 23 Vorworte... 17 Einleitung... 23 Teil I Einstieg 1 Einführung in SAP Gateway... 31 1.1 Moderne Geschäftsanwendungen... 32 1.1.1 Benutzeroberflächen... 33 1.1.2 Infrastruktur... 40 1.2 SAP Gateway für moderne

Mehr

Praxishandbuch SAP NetWeaver" Pl - Entwicklung

Praxishandbuch SAP NetWeaver Pl - Entwicklung Valentin Nicolescu, Burkhardt Funk, Peter Niemeyer, Matthias Heiler, Holger Wittges, Thomas Morandell, Florian Visintin, Benedikt Kleine Stegemann, Harald Kienegger Praxishandbuch SAP NetWeaver" Pl - Entwicklung

Mehr

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221 Oracle 10g und SQL Server 2005 ein Vergleich Thomas Wächtler 39221 Inhalt 1. Einführung 2. Architektur SQL Server 2005 1. SQLOS 2. Relational Engine 3. Protocol Layer 3. Services 1. Replication 2. Reporting

Mehr

Datenbank-basierte Webserver

Datenbank-basierte Webserver Datenbank-basierte Webserver Datenbank-Funktion steht im Vordergrund Web-Schnittstelle für Eingabe, Wartung oder Ausgabe von Daten Datenbank läuft im Hintergrund und liefert Daten für bestimmte Seiten

Mehr

Das Aufgabenfeld des Fachinformatikers in einer SAP- Beratung. www.pikon.com

Das Aufgabenfeld des Fachinformatikers in einer SAP- Beratung. www.pikon.com Das Aufgabenfeld des Fachinformatikers in einer SAP- Beratung www.pikon.com 1 Was ist SAP? Weltweiter Marktführer bei Unternehmenssoftware Umfangreiche Standardsoftware mit zahlreichen Funktionen Software

Mehr

Technische Beschreibung: EPOD Server

Technische Beschreibung: EPOD Server EPOD Encrypted Private Online Disc Technische Beschreibung: EPOD Server Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee JKU Linz Institut für

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Client/Server-Systeme

Client/Server-Systeme Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen

Mehr

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131 Architekturen Von der DB basierten zur Multi-Tier Anwendung DB/CRM (C) J.M.Joller 2002 131 Lernziele Sie kennen Design und Architektur Patterns, welche beim Datenbankzugriff in verteilten Systemen verwendet

Mehr

PRODATIS CONSULTING AG. Folie 1

PRODATIS CONSULTING AG. Folie 1 Folie 1 Führend im Gartner Magic Quadranten für verteilte, interagierende SOA Projekte Oracle ist weltweit auf Rang 1 auf dem Markt der Enterprise Service Bus Suiten (ESB) für SOA Software 2010 26,3 %

Mehr

Internet/Intranet nutzbringend angewandt!?!

Internet/Intranet nutzbringend angewandt!?! Internet/Intranet nutzbringend angewandt!?! Maik G. Seewald Agenda 1. Einleitung und Ziel der Präsentation 2. Internet u. Web Based Computing eine Erfolgsgeschichte 3. Architektur web-basierter Anwendungssysteme

Mehr

Standardsoftware II. Klassifikation Schnittstellen

Standardsoftware II. Klassifikation Schnittstellen Standardsoftware II Schnittstellen zu ERP-Systemen Schnittstellen-1 Klassifikation Schnittstellen datenorientierte funktionale objektorientierte Schnittstellen-2 Was zeichnet eine Schnittstelle aus? Merkmale

Mehr