AIXTRON Seminararbeit NetWeaver im Studiengang Scientific Programming von Sebastian Szlósarczyk Mat.Nr.: 827621 1. Betreuer: Prof. Dr. rer. nat. Volker Sander 2. Betreuer: Dipl. Ing. CIO Olaf Rupprecht AIXTRON Seite 2 von 54 AIXTRON Inhaltsverzeichnis EIDESSTAATLICHE ERKLÄRUNG ....................................................................................................................... 5 1 EINLEITUNG .......................................................................................................................................................... 6 1.1 1.2 2 MOTIVATION ................................................................................................................................................ 6 AUFBAU DIESER ARBEIT / ÜBERBLICK .......................................................................................................... 6 UNTERNEHMENS – UND WEBPORTALE .................................................................................................. 7 2.1 DEFINITION ................................................................................................................................................... 7 2.2 UNTERNEHMENSPORTALE ............................................................................................................................ 8 2.2.1 Eigenschaften .......................................................................................................................................... 8 2.2.2 Anforderungen an ein Unternehmensportal ............................................................................................ 9 2.3 KONKRETISIERUNG DER UMSETZUNGSZIELE ................................................................................................ 9 2.3.1 Prozess – und Informationsintegration (Integration Anwendung und Information) ............................. 10 2.3.2 Personalisierung ................................................................................................................................... 10 2.3.3 Single-Sign-On ...................................................................................................................................... 11 2.3.4 Portalkonzept ........................................................................................................................................ 11 2.3.4.1 2.3.4.2 2.3.4.3 2.3.5 Präsentationsschicht ......................................................................................................................................12 Anwendungsschicht .......................................................................................................................................13 Backendschicht ..............................................................................................................................................14 Client – Server....................................................................................................................................... 14 2.3.5.1 2.3.5.2 Definition ......................................................................................................................................................15 Client - Server bei Portalen ...........................................................................................................................15 2.4 WEBBASIERTE PORTALE/ANWENDUNGEN ................................................................................................... 16 2.4.1 Netzwerkumgebung ............................................................................................................................... 16 2.4.2 Webanwendung ..................................................................................................................................... 16 2.5 FORMEN WEBBASIERTER ANWENDUNGEN .................................................................................................. 17 2.5.1 Rich Internet Application ...................................................................................................................... 17 2.5.2 Webservice ............................................................................................................................................ 17 3 SAP NETWEAVER ALS INTEGRATIONSPLATTFORM ........................................................................ 18 3.1 PEOPLE INTEGRATION................................................................................................................................. 19 3.1.1 Multi-Channel Access ........................................................................................................................... 20 3.1.2 Portal .................................................................................................................................................... 20 3.1.3 Collaboration ........................................................................................................................................ 20 3.2 INFORMATION INTEGRATION ...................................................................................................................... 21 3.2.1 Business Intelligence ............................................................................................................................. 21 3.2.1.1 3.2.1.2 3.2.1.3 allgemeine Definition ....................................................................................................................................21 Business Information Warehouse (BW) .......................................................................................................22 Business Intelligence (BI) .............................................................................................................................27 3.2.2 Knowledge Management ....................................................................................................................... 35 3.2.3 Master Data Management ..................................................................................................................... 35 3.3 PROCESS INTEGRATION .............................................................................................................................. 35 3.3.1 Integration Broker ................................................................................................................................. 36 3.3.2 Business Process Management ............................................................................................................. 36 3.4 APPLICATION PLATFORM ............................................................................................................................ 37 3.4.1 JEE ........................................................................................................................................................ 38 3.4.1.1 3.4.1.2 3.4.1.3 3.4.1.4 4 JavaServer Pages (JSP)..................................................................................................................................40 Java Persistence API......................................................................................................................................41 WebDynpro ...................................................................................................................................................42 ABAP ............................................................................................................................................................46 AUSBLICK SAP NETWEAVER DEVELOPER STUDIO .......................................................................... 46 4.1 MÖGLICHKEITEN UND FUNKTIONEN ........................................................................................................... 47 5 GLOSSAR ......................................................................................................................................................... 48 6 LITERATURVERZEICHNIS ......................................................................................................................... 51 Seite 3 von 54 AIXTRON 6.1 6.2 6.3 BUCHLITERATUR ........................................................................................................................................ 51 INTERNETLITERATUR .................................................................................................................................. 52 SCREENLINKS ............................................................................................................................................. 53 Seite 4 von 54 AIXTRON Eidesstattliche Erklärung Hiermit versichere ich, dass ich die Seminararbeit mit dem Thema selbstständig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt habe, alle Ausführungen, die anderen Schriften wörtlich oder sinngemäß entnommen wurden, kenntlich gemacht sind und die Arbeit in gleicher oder ähnlicher Fassung noch nicht Bestandteil einer Studien- oder Prüfungsleistung war. Name: _Sebastian Szlósarczyk_ Aachen, den 07.12.2010 ___________________________________ Unterschrift des Studenten Seite 5 von 54 AIXTRON 1 Einleitung 1.1 Motivation Projektdaten in einem Unternehmen kommen auf unterschiedliche Weisen zum Tragen. Sie geben unter anderem Auskunft, um welches Projektthema es geht, welche Mitarbeiter bei welchem Fortschritt sind oder was eigentlich entwickelt wird. Alle möglichen Daten werden von den jeweiligen Unternehmen archiviert und dokumentiert. Will man bestimmte Daten visuell darstellen, gibt es die Möglichkeit, dies auf einem so genannten Portal zu verwirklichen. Um ein erfolgreiches Unternehmensportal in Form eines Webportals zu erstellen, welches Projektdaten aus einem SAP ERP (SAP Enterprise Ressource Planning) – System entnimmt, braucht man zum einen Schreib-/Lesezugriff (je nach Funktionsweise des Portals) auf die von SAP verwalteten Datenbestände und zum anderen eine geeignete Software, die Schnittstellen zwischen diesen Datenquellen und Entwicklungsumgebungen für eine geeignete Applikation bereitstellt. Der SAP NetWeaver ermöglicht diese Methodik, was grundlegendes Thema dieser Arbeit ist. Es werden theoretische Grundlagen des Datenverarbeitungsprozesses, dem Data Warehousing unter Einsatz von Business Information Warehouse in SAP NetWeaver, und dem Anwendungsprozess in Form von dem Java Application Server erläutert. Das Ziel ist, die grundlegenden Anforderungen an ein Unternehmensportal zu beschreiben, wie auch eine Lösung von SAP mit der Software NetWeaver vorzustellen. 1.2 Aufbau dieser Arbeit / Überblick Diese Arbeit kann man im folgenden in zwei Themenbereiche gliedern: Der erste Teil befasst sich mit den allgemeinen Grundlagen über Portale, wie der Definition, und konkreten Anforderungen, die aus Unternehmenssicht an ein aufzubauendes Portal gestellt werden. Kurz werden auch verschiedene Element und Formen von Portalen vorgestellt. Im zweiten Teil wird aufbauend auf der Beschreibung und den Anforderungen des Portals mit dem SAP NetWeaver eine Technik vorgestellt, die eine Softwarelösung bereitstellt, mit der es möglich ist, webbasierte Unternehmensportale zu kreieren. Konkret wird hier besonders auf die Architektur der Datenbeschaffung aus dem SAP BW (s unten), wie auf die Bereitstellung dieser Daten für die spätere Anwendungsentwicklung, eingegangen. Kurz werden Screenshots der Seite 6 von 54 AIXTRON verschiedenen Möglichkeiten des Business Explorers gezeigt, auf welche Weise man sich die Daten anzeigen lassen kann. Im darauf folgenden, letzten Kapitel gibt es noch einen Ausblick auf das Tool SAP NetWeaver Developer Studio mit dem dann Anwendungen für das Portal entwickelt werden können, was in dem vorherigen Kapitel im Teil WebDynpro theoretisch erklärt wird. Wichtig ist, dass in dieser Arbeit Hauptaugenmerk auf die Java – Entwicklung mit SAP NetWeaver gelegt wird, somit der ABAP – Stack ausgenommen wird. Zur Wortwahl ist zu erwähnen, dass für den „Benutzer“ stellvertretend auch das Synonym „User“ benutzt wird. Referenzen werden als Hyperlink (für das elektronische Dokument zum besseren Navigieren) und Fußnote (vorzugsweise Druckversion) angegeben. Abbildungen werden kapitelübergreifend fortlaufend nummeriert. 2 Unternehmens – und Webportale In diesem Kapitel werden die Grundlagen eines Portals allgemein definiert, bevor dann die Anforderungen eines webbasierten Unternehmensportals aufgelistet werden. Zusätzlich wird eine theoretische Architektur beschrieben, die diese Anforderungen umsetzt. 2.1 Definition Mit webbasierten Anwendungen oder auch Webanwendungen sind diejenigen Arten von Anwendungen kategorisiert, bei denen die Interaktion zwischen User und Computer über einen Webbrowser in einer Benutzeroberfläche geregelt wird. Ein Portal (lat. porta – Tor, Pforte) wird in der Informatik als ein Zugang zu einem bestimmten System bezeichnet, welches bestimmte Dienste, Applikationen oder Prozesse integriert und Nutzern somit zur Verfügung stellt. Dieses Softwaresystem bietet Funktionen z.B. in den Bereichen Datenaustausch, Informationen, Suche, Personalisierung und Sicherheit. Aus diesen beiden Definitionen geht heraus, dass ein Webportal ein Portal ist, das eine Webanwendung integriert und einem allgemeinen Nutzerkreis über einen Webbrowser Seite 7 von 54 AIXTRON anbietet. Meistens ist es das Ziel eines Webportals, bestimmte Informationen für den jeweiligen Interessentenkreis zu strukturieren und systematisch zur Verfügung zu stellen. 2.2 Unternehmensportale Die Einsatzmöglichkeit eines Webportals oder eines Portals im allgemeinen kann man nach dem Benutzerkreis differenzieren. Es fallen demnach die Kategorien offene, die den Zugang für alle User unterstützen, und geschlossene Portale, welche sich auf einen gewissen Nutzerkreis beschränken. Umschließt dieser Nutzerkreis ein Unternehmen, wo spezielle Informationen des jeweiligen Unternehmens selbst, wie beispielsweise die von Mitarbeitern, Kunden oder Lieferanten verfügbar sind, so spricht man von einem Unternehmensportal. Vorweggenommen sei, dass ein SAP NetWeaver Portal ein solches Portal ist. 2.2.1 Eigenschaften Die Eigenschaften eines Unternehmensportals basieren auf der Funktionalität für den User, die das Portal unterstützen soll. Man unterscheidet hierbei Publishing Portale, die aus einer bestimmten Datenquelle für den jeweiligen Benutzerkreis relevante Informationen veröffentlichen Collaborative Portale, die die Zusammenarbeit in einem Unternehmen über weite Strecken und auch zeitliche Unterschiede ermöglichen (angemerkt sei hier schon das SAP im Produkt NetWeaver in der People Integration eine solche Komponente beinhaltet) Operational Portale, welche mehr für die Integration von unternehmensinternen Komponenten, wie beispielsweise eine Datenbank, eine Rolle spielen Decision Portale, die insgesamt ein Portal bieten, welches für die Verwaltung und Bearbeitung von Informationsbeständen, etc. bereitgestellt wird Seite 8 von 54 AIXTRON 2.2.2 Anforderungen an ein Unternehmensportal In einem Unternehmen gibt es verschiedene Personengruppen, abhängig von ihrer Zuständigkeit. Deswegen ist es nötig, Prozesse und Zusammenarbeit heterogener Gruppen zu unterstützen. Mit Prozessen ist hier ein grundlegender Baustein eines Unternehmens gekennzeichnet, der die Arbeitsprozesse einzelner Gruppen beschreibt, wie z.B. Verkauf und Vertrieb oder das Marketing. Der Datenaustausch auf verschiedenartigen Anwendungen, die möglicherweise eingesetzt werden, soll möglichst plattformunabhängig sein. Ein Beispiel hierfür ist die Transaktion mit einem Lieferanten: Der Kunde hat ein Produkt bestellt, dessen Lieferstatus vom Lieferanten mit Software „L“ in einer Datenbank gepflegt wird. Da der Kunde selbst diesen Status ständig einsehen möchte, aber Software „K“ benutzt, die zwar die Datenbank lesen kann, kann es aber zu Kompatibilätsproblemen kommen. Eine Lösung hier ist eine Schnittstelle oder Plattform, wo sowohl der Lieferstatus des Produktes aktualisiert, wie auch angesehen werden kann. Zusätzlich soll es allgemein möglich sein, über heterogene, oder standardisierte Anwendungen zugreifen zu können. Schnell erkennt man hier, dass eine Art webbasierte Anwendung nützlich ist, da über einen Webbrowser beide Seiten (Kunde und Lieferant) ihre nötigen Aufgaben erfüllen können. Weiter fällt auf, dass die Unterstützung plattformunabhängig sein muss, um diese Webbrowserunterstützung zu realisieren. Inhaltlich muss gewährleistet sein, dass dieser Lieferprozess in die Anwendung integriert werden muss. Was in dem Beispiel auch charakterisiert wird, ist, dass es zwei verschiedene Personengruppen gibt – Lieferant und Kunde. Es muss eine Möglichkeit geben, sich bei Benutzung der Anwendung zu authentifizieren, und anhand dessen die zuständigen Informationen einzusehen und gleichfalls sollen dabei direkt alle nötigen Komponenten der Anwendungen erreichbar sein, ohne dass man sich speziell für jede einzelne Komponente innerhalb des Portales anmelden muss. 2.3 Konkretisierung der Umsetzungsziele Das oben beschriebene Beispiel zeigt, welche allgemeinen Anforderungen sich an ein (Unternehmens-)portal stellen. Diese Anforderungen müssen konkretisiert werden, um folglich ein Konzept zu entwickeln. Seite 9 von 54 AIXTRON 2.3.1 Prozess – und Informationsintegration (Integration Anwendung und Information) Wie im Beispiel bereits vorgestellt bezeichnet man als Unternehmensprozesse Vorgänge, wie Vertrieb oder Marketing. Zu jeder Zeit entstehen Datenansammlungen und Informationen dieser Vorgänge. Man kann diese Vorgänge koordinieren, verwalten, oder ihnen auch nur einfach Informationen entnehmen. All diese Aufgaben mit dem damit verbundenen Vorgang werden zu einem Prozess zusammengefasst. In einem Unternehmensportal ist es wichtig solche Prozesse abzubilden und zu integrieren: Ein kompletter Geschäftsprozess muss explizit mit all seinen Aufgaben definiert werden, und diese Aufgaben, die sich bieten müssen in dem Portal zu sehen sein. Grob gesagt muss ein Prozess „veranschaulicht werden“. Da der User diese Prozesse aber nicht nur „einsehen“, sondern auch je nach Rolle (siehe Personalisierung) damit arbeiten soll, ist es nötig die jeweiligen Prozesse mit in das Portal zu integrieren. Ziel ist es , dass man auch über diese Systemgrenze Definition und Realisierung des Prozesses in der realen Welt auf die Abbildung im Portal, welche das Portal in der virtuellen Welt zugrunde legt, hinweg operieren kann. Infolge kann der User in Form von Anwendungen oder Methoden in dem Portal auf diese Prozesse zugreifen. Alle Daten, die er benötigt sollen ihm zur Verfügung gestellt werden. 2.3.2 Personalisierung Eine Unternehmensanwendung wird meist personenspezifisch genutzt. Wie im Beispiel1 erklärt, wird die Anwendung auf dem Portal dem jeweiligen User nach seiner Art der Anmeldung am Portal zugänglich gemacht. Diese Art kann einmal profilbasiert sein, was bedeutet dass der User seine eigenen persönlichen Einstellungen anhand seines Profils (spezifische, nötige Funktionen im Portal, Arbeitsbereich im Unternehmen), d.h. anhand seiner Personifikation, besitzt. Eine andere Form ist die rollenbasierte Personalisierung, wo der User einer Gruppe anhand seiner Eigenschaften, also einer Rolle, zugeordnet wird und folglich mit den Einstellungen dieser Rolle die Anwendung ausführen kann. Rollen können demnach z.B. nach Berufen, oder Positionen von Personen in einem Unternehmen vergeben werden. Ein IT Fachmann braucht z.B. Zugriff auf ein gesamtes Softwarepool, während ein Handwerker 1 2.2.2 Anforderungen an ein Unternehmensportal Seite 10 von 54 AIXTRON beispielsweise nur seine Stunden am PC buchen muss. Folglich braucht die Rolle IT Fachmann Zugriff auf ein Softwarepool, während in der Rolle Handwerker diese Rechte nicht nötig sind. Diese Rolle braucht nur den Zugriff auf die Software, mit der die Stunden abgezeichnet werden. Ein Beispiel profilbasierter Personalisierung sind so genannte „Soziale Netzwerke“ wie facebook oder studivz, wo jeder User selbst seine personenspezifischen Einstellungen, in diesem Fall persönliche Daten wie z.B. Kontaktdaten, Interessen oder persönliche Fotos, bearbeiten und anzeigen lassen kann. 2.3.3 Single-Sign-On Die Anmeldung im System wird so sichergestellt, wonach dem User aufgrund seiner Personalisierung/Authentifizierung die darauf basierenden Funktionen der Anwendung zur Verfügung gestellt werden. Um die Personalisierungen aller User zu verwalten wird eine zentrale Benutzerverwaltung eingeführt, über die die Zugangsdaten der User gespeichert sind. Es wird also eine zentrale Anmeldung im Portal eingeführt, wonach nach erfolgreicher Authentifizierung der User alles bereitgestellt bekommt, was er benötigt. 2.3.4 Portalkonzept In Abbildung 1 ist das allgemeine Konzept für Portalarchitekturen zu sehen. Auf die einzelnen Schichten wird im folgenden eingegangen. Seite 11 von 54 AIXTRON Abbildung 1: Referenzarchitektur 2.3.4.1 Präsentationsschicht Die oben angesiedelte Präsentationsschicht ist für den Enduser selbst die wichtigste. Wie im OSI – Referenzmodell werden dem User Endgeräte bzw. Endprogramme geliefert, mit denen er seine gewünschten Operationen ausführen kann. Ein wichtiger Aspekt ist hier die Darstellung der jeweiligen Anwendung, um diese Operation zu ermöglichen. Über Endgeräte wie z.B. einen Webbrowser wird auf eine Benutzeroberfläche zugegriffen, die die gewünschte Portalapplikation visualisiert. Geht man spezifisch auf diese so genannte Portalanwendungsvisualisierung ein, so spricht man bei der Abbildung des jeweiligen Prozesses in Form von einer dafür zuständigen Anwendung von Portlets. Diese sind nichts weiter, als virtuelle Fenster mit Inhalt der Applikation. Sie verarbeiten die Benutzerinteraktionen und liefern den Usern dynamisch generierte Inhalte. Seite 12 von 54 AIXTRON Für einen allgemeinen Standard bei Portlets gibt es seit 2003 Java Specification Request 168 Portlet Specification (JSR 168), welcher von Sun und IBM eingeführt wurde. Da die Portlets aber selbst eine Schnittstelle zu den Anwendungsprozessen sind und auf dem Endsystem nur angezeigt werden, sind sie in der Anwendungsschicht untergebracht. 2.3.4.2 Anwendungsschicht Die Anwendungsschicht sorgt zum einen für die Bereitstellung der Applikation(en), die auf dem Portal dargestellt werden. Grundlage hierfür ist ein Applikations – oder Anwendungsserver, welcher diese Aufgabe übernimmt und allgemein für die komplette Portalsoftware zuständig ist. Weiter bietet er Dienste an. Zu diesen gehören Transaktionsdienste (z.B. für verteilte Datenbanktransaktionen, oder allgemeine Informationsbeschaffung), die Enterprise Application Integration (EAI), welche die Unternehmensprozesse integriert, oder bestimmte WebserverFunktionalitäten, die Seiten im http oder WAP-Format bereitstellen. Hinzuzufügen ist, dass ein Application Server für ein Portal spezielle Portalbasisdienste erfüllen muss, die aus den oberen2 Anforderungen hervorgehen. Zu diesen werden folgende gezählt: Informationsverwaltung Benutzerverwaltung Rechteverwaltung Darstellungsdienste Prozesssteuerung Personalisierung Single-Sign-On Zum anderen ist in ihr die Anwendungs- oder Geschäftslogik angesiedelt, die zwischen den vielen Informationen oder Daten des Unternehmens eine strukturierte Logik einführt. Java selbst bietet mit der Schnittstelle Java Persistence API eine API, mit der es möglich ist, aus rohen Informationsbeständen, Objekte zu gewinnen und diese persistent zu halten. 2 2.2.2 Anforderungen an ein Unternehmensportal Seite 13 von 54 AIXTRON 2.3.4.3 Backendschicht Um das Konzept zu vervollständigen, fehlt noch eine Schicht, nämlich diejenige, wo die Informationen oder Datenbestände des Unternehmens entnommen werden, mit denen im Portal operiert wird. Laut Definition ist die Backendschicht (Unterschicht) diejenige Softwareschicht, welche systemnah liegt. Der Endbenutzer selbst operiert in dieser Schicht nicht. Ihm soll in dieser Schicht softwaremäßig alles bereitgestellt werden, damit er Funktionen benutzen kann, um die gewünschte Anwendung auszuführen. Die Benutzerinteraktion ist dabei separat in der Frontendschicht angesiedelt. Ziel ist also die klare Trennung von Benutzer- und systemnahen Operationen. Dabei sollen Befehle, über diese Interaktion in der Frontendschicht eingegeben werden, bei Bedarf an die Backendschicht zur Verarbeitung übergeben werden. Nach Verarbeitung der Befehle, werden die „Ergebnisse“ bereitgestellt, und dem User in der Frontendschicht passend angezeigt. Bezogen auf das Portal, werden in der Backend-Schicht alle möglichen Datenquellen definiert, die Informationen liefern sollen oder können, die dann im Portal zur Verfügung gestellt werden. Ein User kann über das Benutzerinterface (Frontendschicht) auf diese Daten bei Bedarf zugreifen. Eine Schnittstelle ist die EAI. 2.3.5 Client – Server Seite 14 von 54 AIXTRON Abbildung 2: Client-Server 2.3.5.1 Definition Bei dem Client – Server – Modell handelt es sich um ein spezielles Modell in der Informatik, in dem konzipiert wird, wie Aufgaben, bzw. Dienstleistungen in einem Netzwerk verteilt werden können. Man unterscheidet in diesem Modell Server(rechner) und Client(rechner), bei dem der Server (Dienstleister) einen Dienst, Anwendung oder Aufgabe anbietet, welcher von Clients(Kunden) auf Wunsch angefordert werden kann. Da es sich hierbei um eine Kommunikationsform zwischen Server und Client handelt, ist dabei ein Netzwerk, in dem beide Seiten zusammengeschlossen sind, die Grundvoraussetzung. Anfragen des Clients werden über das Netzwerk an den Server übermittelt. Dieser gibt dann bei Bedarf eine Antwort auf diese Anfrage. Da die Anfrage an einen Dienst gebunden ist, kann der Server antworten, indem er dem Client den Dienst anbietet und freistellt, ihm den Dienst verweigert (falls keine entsprechende Berechtigung vorhanden ist) oder antwortet, dass er diesen Dienst nicht besitzt, falls es der Fall ist. 2.3.5.2 Client - Server bei Portalen Wie im vorherigen Kapitel vorweggenommen, werden Portaldienste von einem Applikationsserver angeboten. Die Clients sind die jeweiligen Usergruppen, welche ihrer Rolle nach gewisse Portaldienste angeboten bekommen. Um also ein Portal aufzubauen muss man einen Anwendungsserver aufbauen, der in vernetzten Clients seine prozessintegrierten Anwendungen bereitstellt. Man erkennt, dass hier mehrere unterschiedliche Aufgaben für ein Ziel arbeiten. Ein solches System wird realisiert, indem man Stufe für Stufe jeweils eine Aufgabe realisiert. Veranschaulicht man sich diese Stufen anhand einer Treppe, so ist ganz oben das Ziel. Um ans Ziel zu gelangen, muss man Stufe für Stufe „hochgehen“. Softwaretechnisch ist dies so umgesetzt, dass höhere Stufe auf der unteren aufsetzt und diese um ihre Aufgabe erweitert, bis man ganz oben ist, und das Ziel – das bereitgestellte Portal – verwirklicht. In diesem Fall spricht man von einer Schichtenarchitektur, wobei die einzelnen Stufen als tier oder Schichten bezeichnet werden. Seite 15 von 54 AIXTRON 2.4 webbasierte Portale/Anwendungen 2.4.1 Netzwerkumgebung Bevor man auf die webbasierte Darstellung kommt, ist es wichtig, zu klassifizieren, auf welche Erreichbarkeit man zielt. Das Portal eines Unternehmens soll in einer bestimmten Netzwerkumgebung angeboten werden. Es gibt drei grundlegende Netzwerkumsetzungen, in denen das Unternehmen sein Portal anbieten kann: Intranet – wird in einem Unternehmen nur im internen Netz eingesetzt. Es haben Personen Zugriff, die direkt zu diesem Netz vernetzt sind. Wie der Name der Komponente schon sagt, sind dies interne Mitarbeiter einer Organisation oder eines Unternehmens. Es wird meistens ein Server intern verwendet, auf dem das ganze Portal betrieben wird. Extranet – erweitert das Intranet um ausgewählte, bestimmte, externe Personen, die nicht Teil der jeweiligen Organisation sind. Auch hier wird ein Server verwendet. Internet – Portale, die im Internet angeboten werden, sind für jeden zugänglich, der einen Internetanschluss hat. Hiermit wird meistens der allgemeine öffentliche Zugang eines Portals verwirklicht. Die Verwaltung kann über mehrere Server an verschiedenen Standorten übernommen werden, von denen das Portal, oder jeweils nur Portalkomponenten betrieben werden. Mit Portalkomponenten können einzelne Anwendungen gemeint sein, wo jede von einem anderen Server aus betrieben werden kann. Konzeptuell gibt es aber auch hier einen so genannten Main Server, der das grundlegende Portal beinhaltet und bei Anforderung eines Clients an diverse Funktionen auf den jeweiligen anderen Server verweist. 2.4.2 Webanwendung Nachdem man die allgemeinen Anforderungen verwirklicht hat und eine Infrastruktur zur Kommunikation zwischen Portal und Usern gewählt hat, ist es möglich die Webanwendung zu implementieren und auf dem Server über einen Webbrowser zur Verfügung zu stellen. Starten kann der User die Applikation, indem er z.B. im Browser die URL des Servers angibt, auf dem die Applikation hinterlegt ist. Nach dem Client – Server – Modell antwortet der Server auf die Clientanfrage und ermöglicht ihm nach Authentifizierung den Zugriff auf die georderte Anwendung. Seite 16 von 54 AIXTRON 2.5 Formen webbasierter Anwendungen 2.5.1 Rich Internet Application Mit einer Rich Internet Application (RIA) wird eine Internetanwendung bezeichnet, die dem User über eine Benutzeroberfläche möglichst viele Anwendungsmöglichkeiten und Funktionalitäten auf der Seite anbietet. Es ist nicht zwingend erforderlich über den Browser zu arbeiten. Die Anwendung selbst kann lokal installiert werden. Charakteristisch ist aber dabei, dass für die Ausführung der Anwendung eine Verbindung zum Internet benötigt wird. Ziel ist es eine auch rechenintensive Anwendung bereitzustellen, die auf lokalem Rechner installiert werden kann, aber im Internet erst gestartet werden kann. Zur Bereitstellung hochwertiger Performance wird die Rechenleistung bei RIA zwischen Server und Client aufgeteilt. 2.5.2 Webservice Ein Webservice – auch Webdienst genannt – ist eine softwarebasierte Anwendung, die über einen Uniform Resource Identifier (URI) identifiziert wird. Der Nutzen von Webservices ist mehr für Softwaresysteme bei Benutzeranfragen. Will ein User beispielsweise eine bestimmte Anwendung ausführen, so tauscht die von ihm benutzte Software mit einem Server Informationen aus, um dem User die benötigte Funktionalität zu liefern, selbst wenn es sich um zwei heterogene Systeme handelt. Dieser Austausch von Informationen und Bereitstellung von Funktionalitäten des Servers wird über einen solchen Webservice realisiert. Als Standardformat für den Kommunikationsaustausch wird hier das XML-Format verwendet. Speziell handelt es sich bei einem Webservice um eine in einem Netzwerk über Standardprotokolle wie HTTP oder SMTP erreichbare Applikation. Ein Vorteil hier ist, dass die Schnittstellen zum Aufruf, oder allgemeinen Gebrauch unabhängig von der Implementierung sind, da für den Zugang das XML-Format verwendet wird. Ein Webservice ermöglicht also die Ausführung eines Dienstes oder Programmes zwei heterogener Systeme. Will zum Beispiel ein System (Server) einen Dienst einer Gruppe von Clients anbieten, so wird ein Webservice erstellt, indem dieser Dienst bereitgestellt wird und anschließend kann dieser vom Client abonniert oder benutzt werden. Seite 17 von 54 AIXTRON 3 SAP NetWeaver als Integrationsplattform In Abbildung 3 sind die Schichten (so genannte Stacks) von SAP NetWeaver zusammengefasst. Vom Aufbau her fassen die oberen drei Schichten die Integrationsschichten zusammen, welche auf die untere, die Anwendungsplattform, aufsetzen. Zu erwähnen ist, dass diese Schichtendarstellung nicht hierarchisch interpretiert werden darf, wie z.B. beim OSI/ISO Modell, wo die oberen Schichten die Dienste der jeweils unterliegenden Schicht nutzen. Hier bietet jede Schicht unabhängig von anderen eigene Dienste/Services an, kann aber bei Bedarf Dienste anderer nutzen. Über alle vier Bereiche gibt es das Life Cycle Management und das Composite Application Framework. Für alle Phasen des Software-Lebenszyklus bietet die SAP NetWeaver Technologieplattform ein Life Cycle Management an. Dies umfasst das Design, die Entwicklung, den Test, den fortlaufenden Betrieb der Applikation und dessen Administrations- bzw. Change-Management. Über das Composite Application Framework ist es SAP bzw. einer anderen Unternehmung möglich, Applikationen zu entwickeln, die aus Services verschiedener Bereiche bestehen können. Im Folgenden werden die einzelnen Komponenten der vier Bereiche vorgestellt. Mit Stack wird ein Synonym für eine Schicht verwendet. Seite 18 von 54 AIXTRON Abbildung 3: SAP NetWeaver Stack 3.1 People Integration Die so genannte Benutzerschnittstelle ermöglicht es auf vereinheitlichte Weise authentifizierten Personen ihrer Rolle entsprechend auf Informationen Zugriff zu erhalten. Es gibt zum einen, die Möglichkeit auf dieses Enterprise Portal über die lokale Adresse im Webbrowser zuzugreifen, oder falls eine passende Konfiguration vorhanden ist, über das SAPGUI. Ein qualitatives Feature ist hierbei das Single-Sign-On (SSO), das den anmeldefreien Zugriff auf BackendSysteme gewährt. Jeder Benutzer muss sich in jeder Teilanwendung oder auf jeder Teilseite immer authentifizieren. Für eine allgemeine Authentifikation sorgt das SSO, besonders um Zeit einzusparen, die Sicherheit aber zu gewährleisten. Ein zu entwickelndes Unternehmensportal ist Teil dieses Stacks, da in dieser Schicht das Szenario der Benutzerinteraktion abgebildet wird. Seite 19 von 54 AIXTRON 3.1.1 Multi-Channel Access Wie im Schaubild dargestellt, ist der Multi-Channel-Access ganz oben angesiedelt. Diese Veranschaulichung bedeutet, dass hiermit die Benutzerschnittstelle für einen Zugriff von außen über mobile Endgeräte, Web, Messaging oder (Mobil - ) Funk bereitgestellt wird. Zum Funk sind zu erwähnen, dass SAP im Bezug ist, neue Technologien wie UMTS und 3G bzw. 4G (komplett) zu integrieren. Ein webbasiertes Unternehmensportal wird über einen Webbrowser angesteuert. Es wird die Möglichkeit geboten, selbst über weite Strecken, „erreichbar“ zu sein. 3.1.2 Portal Wie bereits in den Portalgrundlagen erwähnt, werden Informationen rollenbasiert zur Verfügung gestellt. Aufgabe des Portals ist es, diesen Zugriff in Abhängigkeit der Rolle des Benutzers, zu vereinheitlichen. Der Grund ist, dass Systeme von verschiedenen Herstellern stammen können, somit unterschiedlich abgelegt werden. Das (Unternehmens-)Portal filtert diese Daten für den User, damit er nur seine relevanten Datenbestände erhält, ohne dass der User wissen muss, wo genau sie abgelegt sind. Dies wird realisiert, indem jeder Rolle die jeweiligen Funktionen und Informationen hinterlegt sind, auf die der jeweilige Benutzer zugreifen muss. Um diesen so bezeichneten Content (Anzeige der Informationen) darzustellen, gibt es die iView (integrated View), die eine in sich geschlossene Anwendung in dem (Unternehmens-)Portal repräsentiert. Zur Begriffsbezeichnung „Portal“ ist hinzuzufügen, dass es sich im Kontext mit firmeninternen Datenbeständen wie bereits in der Definition3 angegeben, um ein Unternehmensportal handelt. 3.1.3 Collaboration Wie der Name schon aussagt, ist mit Collaboration die Zusammenarbeit von Teams bzw. Communities (hier in virtuellen Räumen) gemeint. Spezifischer geht es um den Informationsaustausch. Der Multi – Channel – Access ist die Basis für die Collaboration. In so genannten Collaboration-Rooms können gemeinsame Dokumente ausgetauscht werden. 3 2.1 Portaldefinition Seite 20 von 54 AIXTRON Vergleichsweise kann man hier Internet-Foren erwähnen, wie auch Chats, wo Informationen in Form von Text oder Dokumenten auch in Echtzeit transferiert werden. Es soll also ermöglicht werden, dass in einem Unternehmensportal auch der direkte Arbeitszusammenschluss in Form von Kommunikation wie auch Datenaustausch gewährleistet ist. Ein kleines Beispiel hierfür sei einmal eine Absprache und Einigung auf den Kauf eines Produktes von Kunden und die direkte Datenbankaktualisierung des Geschäftsprozesses, sodass über dieses beispielhafte Portal jeder (Käufer und Verkäufer) den aktuellen Stand einsehen kann. Unabhängig von Zeit und Ort! 3.2 Information Integration Information Integration stellt auf konsistente, zugreifbare Art und Weise Ihrem Unternehmen sowohl strukturierte als auch unstrukturierte Informationen zur Verfügung: Benutzer erhalten ununterbrochen Zugriff auf konsistente Informationen unabhängig von deren Ablageort. Kurz zusammengefasst, übernimmt Information Integration die Rolle der allgemeinen Datenbeschaffung. Der Zugriff auf Informationsbestände und die Bereitstellung ist der Hauptaspekt in dieser Komponente. 3.2.1 Business Intelligence „SAP Business Intelligence stellt mit Hilfe von Knowledge Management die Verbindung zwischen ‚denen, die etwas wissen’ zu denen ,die etwas wissen müssen’ her.“ Diese etwas umgangssprachliche Beschreibung von Business Intelligence (BI) bedeutet, dass BI in einem Unternehmen die Aufgaben von Datenanbindung und – integration, Datenspeicherung und – verwaltung bis hin zur Datenauswertung übernimmt. Ein besonders hervorzuhebendes Konstrukt ist dabei das Business Warehouse, worauf speziell eingegangen wird. Das Knowledge Management dient hier dazu, eine auf Wissen basierte Methodik bereitzusetellen, um intelligente Analysen auszuführen. 3.2.1.1 allgemeine Definition Übersetzt man „Business Intelligence“, so entsteht der abstrakte Begriff „Geschäftsintelligenz“. Versucht man sich diesen Begriff abstrakt zu erklären, stößt man auf die Worte „Geschäft“ und Seite 21 von 54 AIXTRON „Intelligenz“. Intelligenz kann man sich z.B. aneignen, indem man Informationen zu einem Thema sammelt und anhand dem Wissen, was man aus diesen Informationen gewonnen hat, „intelligent“ Entscheidungen in Gebieten treffen, die themenverwandt sind. Bezieht man sich auf das Wort Business – Geschäft, so kommt der Aspekt eines Unternehmens in dieses Wortspiel. Zusammengesetzt bedeutet dies, dass die so genannte Geschäftsintelligenz in unternehmensbezogenen Themen für intelligente Entscheidungen steht. Diese Definition der Entscheidungen basiert auf einem vom Unternehmen verwalteten Informationsbestand. Dieser Pool von Informationen wird verwendet, um gezielt Analysen und Entscheidungen zu veranschaulichen, die für das Unternehmen intelligent, also von Vorteil sind. Welche Informationen dies sind, woher sie kommen und wie sie bereitgestellt werden, wird im folgenden verdeutlicht. 3.2.1.2 Business Information Warehouse (BW) In diesem Abschnitt wird das zu Anfang des Kapitels erwähnte Business Warehouse ausführlich beschrieben. 3.2.1.2.1 Definition von Data Warehouse (DW) Knapp kann man sagen, dass ein DW eine Ansammlung von Informationen aus vielen verschiedenen Unternehmensbereichen ist. All diese Informationen, die vorwiegend der Entscheidungsunterstützung dienen, werden aus unterschiedlichen homogenen und auch heterogenen Quellen entnommen und in einer strukturierten, konsistenten Datenbank zusammengefasst. Zu beachten ist, dass es sich um eine strukturierte Datenbank handelt, deren Daten auch streng normalisiert sind. Zu erwähnen ist, dass diese Strukturierung der Datenbank in Form von starker Normalisierung der Daten gewährleistet wird, was die Hauptaufgabe eines DW ist, nämlich relevante Informationen zu entnehmen, diese zu normalisieren, um sie dann in einer Datenbank ablegen zu können. Dieser Vorgang wird als DataWarehousing spezifiziert. Hinzu kommt, dass diese Daten nicht verändert werden können. Es besteht nur ein Lesezugriff. Dieser Aspekt garantiert unter anderem die Möglichkeit, spätere Analyseergebnisse zu wiederholen, da Daten, die man in Vergangenheit benutzt hat, auch später in derselben Form zugänglich sind. Seite 22 von 54 AIXTRON 3.2.1.2.2 Online Transaction Processing (OLTP) Ein DW zählt selbst zu den Online – Transaction – Processing – Systemen (kurz OLTP). Wie der Name aussagt, steht ein OLTP System für ein System, in welchem hauptsächlich Transaktionen im Vordergrund stehen. Aus Datenquellen werden nötige Daten extrahiert, die für die weitere Verwendung zum Tragen kommen. Dieses Extrahieren ist transaktionsorientiert, was bedeutet, dass in einer Transaktionsfolge bestimmt und definiert wird, welche Daten man in Anspruch nimmt. Die Art der Datenbeschaffung ist dynamisch und wird online vorgenommen. Wichtig ist hier, dass Transaktionen nacheinander in einem Stapelverarbeitungsprozess abgearbeitet werden. Folgende Regeln sind bei einer Transaktion wichtig: Atomizität Entweder erfolgreicher Abschluss einer Transaktion, oder Abbruch und der Zustand vor Anfang der Transaktion bleibt beibehalten Konsistenz Ein Datenbestand muss vor und nach einer Transaktion regelkonform sein Isolation Transaktionen laufen getrennt voneinander ab; das Ergebnis sieht man erst nach Beendigung der Transaktion Dauerhaftigkeit Garantie, dass ein Datenbestand nach einer Transaktion ohne Einwirkung von außen seine Gültigkeit nicht verliert Im folgenden Abschnitt ist der (Transaktions-)Datenprozess erläutert. Vorgemerkt sei, dass bei einem DW die Transaktionen den Prozess der Überführung der Daten heterogener Sourcen in ein homogenes Schema (Datenbank) abbilden. Seite 23 von 54 AIXTRON 3.2.1.2.3 ETL – Prozess zur Datenbeschaffung Der bereits vorgemerkte Prozess der Datenbeschaffung aus externen/internen Quellen in ein DW wird in drei Phasen geteilt und demnach als ETL (Extraction – Transformation – Loading ) bezeichnet. Zuerst werden die Metadaten der zur Verfügung stehenden Quellen extrahiert. Da es sich hierbei meist um heterogene Datenbestände handelt, werden danach die vielen Daten in ein einheitliches Schema transformiert, welches an Datenziele angepasst ist. Mit Datenzielen werden physische Objekte definiert, womit eine Zielsetzung bei der Modellierung des Datenmodells, wie auch beim Laden der Daten gegeben ist. Nach Vereinheitlichung der Daten werden diese in das DW geladen und dort in einer speziell dafür eingerichteten Datenbank abgelegt. Abbildung 4 zeigt diesen Prozess. Speziell wird hier veranschaulicht, dass man vor und nach jeder Phase eine Ansammlung von Informationen hat: Vor der Extraktion die (heterogenen) Datenquellen, während der Transformation wird ein Arbeitsbereich bezogen, der in einer Art Repositorium zwischengespeichert ist und nach jeder Extraktion bzw. Transformation aktualisiert wird. Die Zieldatenbank wird nach dem Laden eines Zustands eines Arbeitsbereiches erstellt. Seite 24 von 54 AIXTRON Abbildung 4: ETL-Prozess 3.2.1.2.4 SAP Business Information Warehouse (BW) Wie in Abbildung 5 der grundlegende Aufbau von BI dargestellt ist, erkennt man speziell für die Softwarekomponente „BW“, dass auch hier ein DW und ein ETL – Prozess integriert sind. Es gibt aber einen wesentlichen Unterschiede zwischen einem reinen Data Warehouse und dem SAP Business Information Warehouse: Während ein DW in einer streng normalisierten Struktur alle Daten ablegt, verwendet das BW solche Datenbestände, um Transaktionen auszuführen und legt diese neuen Daten seinerseits nach erfolgreichen Verbundoperationen, also nicht normalisiert ab. Dies erscheint zunächst ein wenig verwunderlich, ist aber wie folgt zu erklären: Die Quelle für das BW ist ein internes DW, wo bereits Metadaten nach dem ETL –Prozess aus externen/internen Unternehmensquellen bereitgestellt wurden. Dieses interne DW hatte als Datenziel das BW. Das BW aber hat als Datenziel die in Abbildung 5 illustrierten Query & Reporting Tools, so genannte InfoCubes (werden im folgenden Kapitel4 erklärt). InfoCubes beinhalten Daten ausschließlich zur Analyse. Um eine performancegetreue und flexible Analyse durchführen zu können, ist es nötig, dass Daten in einer Form zur Verfügung Seite 25 von 54 AIXTRON stehen, ohne dass man vorher die Daten weder in Struktur, noch an Datenbeständen selbst verändern muss. Deswegen bereitet das BW mithilfe von Verbundoperationen, angewandt auf die normalisierten Daten aus dem internen DW, solche Datensätze zur späteren Analyse vor. Abbildung 5: grundlegender Aufbau SAP NetWeaver Business Intelligence Zusammengefasst sind die Hauptaufgaben des BW: Datenbeschaffung Datenhaltung Datenmodellierung Datenbereitstellung Datenverwaltung Für die allgemeine Extraktion von Quelldaten wird das Tool Administrator Workbench eingesetzt. Es lädt angeforderte Daten in das interne DW. 4 3.2.1.3.2 InfoCubes Seite 26 von 54 AIXTRON 3.2.1.3 Business Intelligence (BI) 3.2.1.3.1 BI als OLAP Business Intelligence gehört zu den Online Analytical Processing – Systemen (kurz OLAP). Es bedeutet, dass in dieser Komponente Auswertung, Analyse und Darstellung von Dokumenten und Daten realisiert werden. Allgemein kann der User anhand eines OLAP – Systems hypothetische Anfragen stellen und erhält als Bestätigung oder Negation ein Analyseergebnis. Dies soll für den Anwender entsprechend schnell geschehen und es soll darüber hinaus möglich sein, mehreren Benutzern diese Funktionalität bereitzustellen. Äquivalent zu einem OLTP – System, ist auch hier die Verarbeitung online. Die zu verarbeiteten Daten werden aus einer separaten Datenbank (aus einem DW) entnommen. Bewusst werden hier zwei Komponenten getrennt, damit Transaktionen auf die reinen Datenbestände in der Datenbank ausgeführt werden können, ohne dass dabei Analysedaten direkten Einfluss darauf haben. Performancetechnisch macht es auch Sinn, Daten, die später für eine Analyse gebraucht werden, soweit wie möglich darauf vorzubereiten. Bei der Analyse kann man folglich auf fertige strukturierte Daten zugreifen, ohne dabei noch etwas an den Datensätzen verändern zu müssen. Technisch wird dies in SAP gelöst, indem das BW aus dem internen DW eine Datenbank erstellt, die auf Reportingzwecke vorbereitet wird: Es wird eine Zieldatenbank erstellt, die viele zeitaufwändige, somit teure, Verbundoperationen beinhaltet und aufgrund dessen wie bereits in der Definition5 erwähnt, nicht normalisiert ist. Diese Daten müssen jetzt nur noch geladen werden, um erfolgreich zu analysieren. Der wesentliche Unterschied zwischen beiden Systemen ist die jeweilige Aufgabe: OLAP beschränkt sich auf die Analyse von Daten und OLTP auf den atomaren Transaktionsprozess von Daten. OLTP greift ständig auf aktualisierte direkt zu, während OLAP für eine Analyse auch historische Daten zur Verarbeitung bezieht. 3.2.1.3.2 InfoCubes Ganz abstrakt beschrieben ist ein InfoCube eine Art Informationseinheit oder Datenbestand. Geht man bei der Definition mehr ins Detail, so spezifiziert man einen InfoCube in SAP als Menge von relationalen Tabellen. Diese relationalen Tabellen, die im BW bereitgestellt werden, besitzen, wie in einem Datenmodell üblich, verschiedene Merkmale, Kennzahlen, Einheiten, Seite 27 von 54 AIXTRON deren Ausprägung oder Wert in einem InfoCube als Auswertungsobjekte dienen, so genannte InfoObjects. Im Begriff selbst wird die Semantik des Cubes – Würfels – verwendet: Es handelt sich hierbei um einen mehrdimensionalen Würfel. Die Dimensionierung (Beispiel in Abbildung 6) beruht auf den unterschiedlichen Dimensionen der zusammengesetzten InfoObjects. Ein InfoObject wird nach seinem Merkmal, seiner Kennzahl oder Einheit dimensioniert. Beispielsweise hat ein InfoCube, der aus Verkaufszahlen (Kunde) verschiedener Säfte (Produkt) in einem bestimmten Jahr (Zeit) besteht, die Dimension 3. Betrachtet man in diesem Szenario den Erlös, der in einem jeweiligen Jahr eines bestimmten Kunden beim Kauf eines gewissen Produktes, so hat man zusätzlich eine Art Funktionswert für diesen Zusammenhang. Dieser bildet eine neue Dimension, die vierte. Sachlogische Zusammenhänge wie z.B. Kunde und Konsument werden zu einer Dimension zusammengefasst. Abbildung 6: InfoCube Auch hier spielen performancetechnische Hintergründe eine Rolle, da bei einer derartigen Dimensionierung oft Unabhängigkeit zwischen den jeweiligen Dimensionen erreicht wird und die Datenhaltung in solchen InfoObjects bzw. daraus zusammengesetzten InfoCubes komprimiert klein wird. Diese Struktur des InfoCubes ist für das Reporting optimiert. InfoCubes werden deswegen verwendet, um die Analyse und das Reporting, worauf in BI abgezielt wird, zu ermöglichen. Sie werden als Datenziel benutzt. Anhand von diesen Würfeln wird eine Art Schnittstelle zwischen den Daten und Analysewerkzeugen geschaffen, da sie die Analysedaten repräsentieren. 5 3.2.1.2.1 Definition von Data Warehouse Seite 28 von 54 AIXTRON 3.2.1.3.3 Analyse Um dem Endanwender seine Analyse zu ermöglichen, bedarf es einem Werkzeug, das aus den InfoCubes die relevanten Daten filtert oder liest, die analysiert werden. Aufgrund der Definition der InfoCubes als relationale Tabellen, ist es aus technischer Sicht nötig, mithilfe von Query – Abfragen je nach Anwenderanfrage die zugehörige Query-View zu liefern. Diese Funktionalität wird in Form vom Navigationsfunktionen OLAP-Prozessor (Operationen Dice, (Abbildung 7) Drill-down/up, implementiert. Swap), welche Mithilfe die von nötigen Datenblöcke aus einem InfoCube entnehmen, Filterfunktionen, welche derartige Selektionen auf Wertebereiche einschränken und Aggregatations – und Darstellungsmethoden, welche die gewünschten Daten strukturieren und das Resultat zur Visualisierung bereitstellen, wird dem Endanwender seine gewünschte Analyse in einer Sicht geliefert. Betrachtet man das grundlegende Konzept, welches hier eingesetzt wird, handelt es sich um einen Applikationsserver, welcher in Form von Diensten diese Abfragen ermöglicht. Zu einer solchen Analyse existieren im SAP BW Modelle, die nicht nur diese Analysenform, sondern auch das Reporting übernehmen. Diese Komponente wird Business Content genannt. Für eine Laufzeitoptimierung können im OLAP-Cache je nach vorgenommenen Einstellungen queryabhängige Bestände zwischengelagert werden. Seite 29 von 54 AIXTRON Abbildung 7: OLAP-Prozessor 3.2.1.3.4 Präsentation/Visualisierung der Daten Die für den Endbenutzer verfügbare Komponente in SAP BW, um Abfragen zu erstellen und anzuzeigen ist der Business Explorer (BEx). Angemerkt sei hier, dass es auch möglich ist, über ein Format-Konvertierungstool (MDX-Prozessor), auf das daraus jeweils konvertierte Format über Drittanbieter diese Funktionalität zu benutzen (Abbildungen 7.1 und 7.2). In beiden Abbildungen sind Daten-Objekte (u.a. InfoCubes) mit dem OLAP-Prozessor verbunden, der die nötigen Datenteile extrahiert. Interagiert man als Benutzer über den BEx, so ist keine weitere Konvertierung nötig, andernfalls sind die in den Abbildungen aufgezeigten Schnittstellen zur Bereitstellung dieser Extraktion nötig. Seite 30 von 54 AIXTRON Abbildung 7.1: Schnittstellenbeschreibung für den Vorgang von InfoCubes zum BEx Abbildung 7.2: Schnittstellenbeschreibung für den Vorgang von InfoCubes zum BEx Da der Business Explorer (BEx) aus mehreren Werkzeugen besteht, spricht man oft von einer Suite. Im folgenden werden kurz diese einzelnen Tools mit ihren jeweiligen Aufgaben beschrieben und ein Screenshot dessen angezeigt: Seite 31 von 54 AIXTRON Übersicht über die Tools: BEx Query Designer BEx Analyzer BEx Web Application BEx Web Application Designer BEx Broadcaster BEx Query Designer dient zum Erstellen der gewünschten Abfragen. Abbildung 8.1: BEx Query Designer Seite 32 von 54 AIXTRON BEx Analyzer zeigt die bereitgestellten Daten mithilfe eines MS Excel AddIns innerhalb einer Tabellenkalkulation (meist in einem Excel-Sheet) an. Abbildung 8.2: BEx Analyzer BEx Web Application bietet eine webbasierte Darstellung vorgnererierter HTML-Seiten. Zur Anzeige wird ein WebBrowser benötigt. Abbildung 8.3: BEx Web Application Seite 33 von 54 AIXTRON BEx Web Application Designer gibt die Möglichkeit eine eigene WebApplication zu erstellen, die man später über eine spezifische URL aufrufen kann. Abbildung 8.4: BEx Web Application Designer BEx Broadcaster gibt die Möglichkeit, schon vorberechnete Informationen, via E-mail versenden zu können. Abbildung 8.5: BEx Broadcaster Seite 34 von 54 AIXTRON Umgesetzt ist dies so, dass BI auf das Business Warehouse, das SAP – Datenlager, wo operationale Datenbestände erfasst werden, zugreift. Angemerkt sei hier, dass das BW ein Datenbanksystem ist, welches rein für die Datenerfassung in Form von Transaktionen zuständig ist, während das BI es ermöglicht, diese Daten hypothesengestützten Analysemethoden zuzuordnen, je nachdem was für den User von Bedeutung ist. Um das Quellsystem BW aus performancetechnischen Gründen zu entlasten, extrahiert BI diese Daten, infolge der reinen Analyse. Ziel ist es, daraus Informationen zu erhalten, die als Entscheidungsgrundlage für Strategien und Handlungsmaßnahmen im Sinne der Unternehmensziele dienen können. 3.2.2 Knowledge Management Aufbauend auf der Collaboration Komponente bietet das Knowledge Management die Klassifikation, Verteilung und Ansammlung von unstrukturierten Informationen. Hierbei ist zu berücksichtigen, dass dieser Dienst nicht der Dokumentenverwaltung, sondern z.B. der Volltextindizierung und –suche (Enterprise Search), Objektsklassifikation, wie auch dem Feedback (z.B. in Form von „angehefteten“ Notizen) dient. 3.2.3 Master Data Management Die Stabilisierung der Benutzerstammdaten erfolgt mit dieser Komponente. Die dadurch entstehende konsistente Datenbasis gewährt, dass Geschäftsprozesse von allen Teilen des Unternehmensnetzwerkes benutzt werden können. Homogene Stammdatensätze werden über verschiedene vernetzte Systeme gesucht und identifiziert, bevor diese dann Geschäftsprozessen synonymartig zur Verfügung stehen. 3.3 Process Integration Seite 35 von 54 AIXTRON Die Prozessintegration übernimmt den allgemeinen Datenaustausch und die Kommunikation zwischen Prozessen und Diensten (Service Bus). Dabei sind folgende grundlegende Anforderungen über die Systemgrenze hinweg, die erfüllt werden müssen, zu beachten: Messaging zuverlässige Übertragung von Nachrichten vom Sender zum Empfänger (->QoS) Routing Wegbereitung und Ziel des Empfängers Mapping ermöglicht eine vereinheitlichte Datenabbildung in einem Format das bei Sender und Empfänger bekannt ist Business Process Management sorgt für die reibungslose Kommunikation zwischen den beteiligten Systemen In der Prozessintegration ist die SAP Exchange Infrastructure die wesentliche, die aus folgenden zwei Komponenten besteht. 3.3.1 Integration Broker Der Integration Broker oder auch Integration Engine genannt, übernimmt das Messaging, Routing und Mapping. Über einen Integration Server ist es möglich, sich dieser Funktionen zu bedienen. Das Format der Kommunikationsübertragung ist XML bzw SOAP – basiert. 3.3.2 Business Process Management Damit die Funktionen des Integration Broker auch funktionieren, ist eine Process Engine nötig, wo der Kommunikationsprozess reibungslos gewährleistet wird. In dieser PE wird das BPM ausgeführt, welches diese Anforderung übernimmt. Seite 36 von 54 AIXTRON Das Business Process Management umfasst folgende Bereiche: Steuerung von Geschäftsprozessen innerhalb von Anwendungssystemen über den SAP Business Workflow Steuerung von Integrationsprozessen (ccBPM) über die Exchange Infrastructure Steuerung von Ad-hoc Workflows über die Universal Worklist (UWL) des Enterprise Portal Zu unterscheiden sind dabei Workflows mit Ad-hoc-Workflows: Bei einem Workflow ist der Prozessablauf von Anfang an festgelegt. Ein Business Workflow ist ein solcher Prozess, bei dem Prozesse als Geschäftsprozesse definiert werden. Es ist bei diesem Workflow somit klar, welche unternehmensspezifische Abfolge es zu steuern gilt, wie z.B. Lieferung, Abnahme und Test oder Lieferung, Test und Abnahme. Bei einem Ad-hoc-Workflow dagegen ist es dem Anwender möglich, selbst zur Laufzeit die Abfolge der Prozesse vorzugeben. 3.4 Application Platform Die Anwendungsplattform, die SAP NetWeaver zugrunde liegt, bietet eine komplette Entwicklungsinfrastruktur für Webportale, - anwendungen und allgemeiner Business Application Software. Realisiert wird dies in Form des SAP Web Application Servers. Ein Ziel eines Unternehmensportals ist es, eine auf dem Application Server liegende Anwendung bereitzustellen. Die Application Platform ist diese entsprechende Serverbasis auf der alle Anwendungen entsprechend laufen. Zahlreiche APIs sorgen für ein grundlegendes Environment. Unterstützt wird diese Plattform parallel in zwei Programmiersprachen – JEE (im Bild noch die alte Benutzung von J2EE) und ABAP(s.u.), die jeweils Zugriff auf eine SQL-Datenbank haben, um den Informationsbestand anzubinden. Da bereits im Einleitungskapitel vorgemerkt wurde, dass diese Arbeit mit der Zielsetzung JAVA geschrieben wurde, wird genau auf diesen Stack eingegangen. Seite 37 von 54 AIXTRON 3.4.1 JEE Die Unterstützung der von Sun Microsystems aufgestellten Norm der Java Platform, Enterprise Edition, kurz JEE, wurde eingeführt um SAP NetWeaver mit einer standardisierten Programmiersprache zu erweitern. Es wurde eine Plattform angefordert, die transaktionsbasierte Ausführungen, wie die bei der Arbeit mit InfoCubes nötig sind, spezifiziert, die in Applikationen, insbesondere Web-Anwendungen, verwendet werden können. Die Möglichkeit, in einem Portal mehrere verschiedene und verteilte Anwendungen entwickeln zu können, wurde gesucht. Der Bedarf von Schnittstellen zwischen „rohen“ Informationen und deren Ablage als persistente Objekte, wie auch einzelnen Anwendungskomponenten und dem grundlegenden Portal selbst, war ein wichtiges Voraussetzungsmerkmal. Aufgrund dieser Anforderungen wurde JEE ausgewählt, da es folgende fundamentale Infrastruktur hat, die auf wikipedia6 aufgelistet ist: Sicherheit (Security), Transaktionsmanagement, Namens- und Verzeichnisdienste, Kommunikation zwischen Java-EE-Komponenten, Persistenzdienste zum langfristigen Speichern von Daten, Management der Komponenten über den gesamten Lebenszyklus (inklusive Instanziierung), Unterstützung für die Installation (Deployment) Während der Laufzeitumgebung übernimmt der Java EE Application Server diese Funktionalitäten. Zusätzlich kapselt er den Zugriff auf die Ressourcen des Betriebssystems. In der folgenden Abbildung ist die genaue Infrastruktur der Java EE dargestellt. 6 http://de.wikipedia.org/wiki/J2EE#Infrastruktur Seite 38 von 54 AIXTRON Abbildung 9: Infrastruktur Java EE Die einzelnen verschiedenen Komponenten (aus Abbildung 9), die jeweils eine bestimmte Aufgabe übernehmen, werden Container genannt. EJB-Container als Laufzeitumgebung für Enterprise Java Beans, welches für die konzeptuelle Entwicklung von Unternehmensanwendungen, wie Transaktions - , Namens- oder Sicherheitsdienste vorgesehen ist, die für Business Logic des Unternehmens innerhalb der Anwendung relevant ist Web-Container als Laufzeitumgebung für Servlets und JavaServer Pages (JSP) (wird im nachfolgenden Kapitel7 genauer behandelt) JCA-Container als Laufzeitumgebung für JCA Connectoren dient als Schnittstelle für verschiedenartige Anwendungen, die an das jeweilige System 7 3.4.1.1 Java Server Pages Seite 39 von 54 AIXTRON integriert werden sollen. Ein Beispiel einer solchen Schnittstelle ist die EAI, die in Kapitel 2.3.4.2 vorgestellt wurde. Der JMS-Provider dient der Kommunikation in Form von Nachrichten. Alle Komponenten sind in der Programmiersprache Java geschrieben. Zum historischen Hintergrund sei hinzugefügt, dass das Konzept seit dem 11.5.2006 den Namen Java EE 5 trägt. Vorgängerversionen (v1.0 bis v1.4) trugen noch den Namen J2EE, welcher auch im NetWeaver – Stack angegeben ist. 3.4.1.1 JavaServer Pages (JSP) Die Webprogrammiersprache JSP wurde von Sun Microsystems entwickelt. Ziel dieser Entwicklung war es, Java-Programme in HTML-Code oder allgemein in Webseiten zu integrieren. Für diese Einbindung gab es bereits das JHTML. JSP vereinfacht die dynamische Erzeugung von XML und HTML – Ausgaben mithilfe von einem eigenen Compiler. Der Quellcode, der dabei erzeugt wird, entspricht einem Java-Servlet. Das sind bestimmte Klassen, deren Instanzen die Sitzungsdaten auf dem Server speichern oder verändern. Kommt es zu einer Verwendung der Servlet-Spezifikation, so ist der Weg der Implementierung einer dynamischen Webseite der folgende: I. Erstellen einer Klasse, die von javax.servlet.http.HttpServlet erbt II. Überschreiben einer oder beider doGet und doPost – Methoden => Ziel ist die Möglichkeit, die http-Methoden GET und POST verarbeiten zu können III. Ablage der Metainformationen des Servlets in der web.xml – Datei, welche Deployment Descriptor genannt wird Es folgt, dass der Deployment Descriptor zusammen mit der komplilierten Klasse in einer einzigen Archiv-Datei zusammengeführt und zur Verfügung gestellt wird (Deployment). Da der in SAP NetWeaver bereitgestellte Application Server die Programmiersprache Java unterstützt, war es nötig für ein webbasiertes Portal JSP zu integrieren. Seite 40 von 54 AIXTRON 3.4.1.2 Java Persistence API Wie bereits8 beschrieben, operiert SAP NetWeaver speziell mit (Unternehmens-) Datenbeständen. Für eine erfolgreiche Entwicklung ist es nötig, diese Daten auf einfache und direkte Weise innerhalb der Anwendung als Objekte zu modellieren und abzuspeichern, wie auch diese zur Laufzeit verwendeten Objekte innerhalb einer relationalen Datenbank abzuspeichern. Da InfoCubes im BW rein aus relationalen Datenbeständen bestehen, die im OLAP-System benutzt werden, wird die Technik der objektrelationalen Abbildung verwendet. Die Java Persistence API bietet eine solche Schnittstelle, indem diese Library Funktionen zur Verfügung stellt, welche es ermöglichen mit Objekten zu arbeiten. Datenbankabfragen beziehen sich hier nicht auf die reinen Datenbanktabellen, sondern meistens auf vom OLAPProzessor verarbeitete InfoCubes, also schon relationale Datenentitäten, bzw. nur notwendige Teile davon. Für dieses Szenario eignet sich die Java Persistence Query Language (JPQL), die sich direkt auf Entitäten statt Tabellen bezieht. In der Java Persistence API werden zur Laufzeit die in JPQL formulierten Abfragen in SQL-Statements umgeformt, um eine klare Unterscheidung zwischen den jeweiligen Objekten und ihren Datenbeständen zu erreichen. Abbildung 10 illustriert die Java Persistence Infrastructure. 8 Kapitel 2 beinhaltet die Beschreibung, dass ein Unternehmen mit internen Datenbeständen interagiert Seite 41 von 54 AIXTRON Abbildung 10: Java Persistence API 3.4.1.3 WebDynpro Die nächste Stufe, die sich nach der Objektabbildung stellt, ist der Bereich der Entwicklung und die damit verbundene Form von Benutzeroberflächen, um Interaktionen seitens des Users zu ermöglichen. Auch hierfür stellt SAP NetWeaver ein Programmierkonzept bereit – WebDynpro, das besonders für webbasierte Anwendungen geeignet ist. Es beruht auf dem Model-ViewController – Entwurfsmuster (MVC). 3.4.1.3.1 Zielsetzung mit WebDynpro Mit WebDynpro wurden folgende Aspekte erreicht, die für die Entwicklung von Webanwendungen, welche browserbasierte GUIs mit Java bzw. Windowsbasierten GUIs verbinden, im Fokus stehen. Plattformunabhängigkeit SAP Standardtechnologie Seite 42 von 54 AIXTRON Trennung der Geschäftslogik von der Präsentationslogik über MVC Verringerung des Implementierungsaufwand mithilfe von grafischen Werkzeugen Automatischer Datentransfer durch Contextmapping Unterschiedliche Darstellung der Inhalte durch verschiedene Views Internationalisierung durch Mehrsprachigkeit Entwicklung performanter Webanwendungen Vordefinierte User Coding Areas 3.4.1.3.2 allgemeines Konzept – MVC (Model-View-Controller) Ein Model-View-Controller ist ein bezeichnendes Entwurfsmuster, in dem die Entwicklung einer Anwendung in drei Teile separiert wird: Das eigentliche Datenobjekt (model), einer Präsentationseinheit (view) und der für diese beiden Komponenten zuständigen Programmsteuerung (controller). Das model beinhaltet alle relevanten, persistenten Daten, welche dargestellt werden müssen, und ist für die Datenbeschaffung im allgemeinen zuständig. Die controller – Komponente ist für die Steuerung des Users zuständig. Über diese Steuerung wird dem User der Zugriff auf die Daten ermöglicht, welche er je nach gewünschter Funktionsweise ändern, bzw. lesen kann. In WebDynpro unterscheidet man zwischen zwei verschiedenen Controllern – den ViewControllern, welche für die Steuerung der Oberfläche implementiert sind und den ComponentControllern, welche den allgemeinen Programmablauf steuern und zusätzlich models mit ViewControllern verknüpfen. Natürlich müssen diese Funktionen, wie auch Daten über eine Oberfläche angezeigt werden, was mithilfe der view, einer Präsentation, realisiert wird. Seite 43 von 54 AIXTRON Abbildung 11: Model-View-Controller 3.4.1.3.3 Funktionsweise Der browserbasierte Client ermöglicht dabei eine plattformunabhängige Kommunikation. Zur Optimierung wird das in HTML-Formaten typische JavaScript eingesetzt. Für den Fall, dass ein Client JavaScript nicht unterstützt, übernimmt der Server die Generierung von nötigen HTML-Elementen wie –Funktionen. Ein Grund zur klaren Trennung der Aufgaben, wie sie das MVC – Entwurfsmuster beschreibt, ist die Möglichkeit, unterschiedliche Layouts für verschiedene Endgeräte zu generieren. In der Laufzeitumgebung und durch den Client werden passende Layouts „errechnet“. Hier wird ein weiterer performancetechnischer Aspekt betrachtet: Bei einem leistungsschwächeren Client übernimmt der Web Application Server das Rendern auf Client-Seite (client-side rendering), also diese Berechnung der Layoutkomposition. Kommt ein Client zum Einsatz, der eine bessere Hardwarekonfiguration besitzt, so ist die Layoutkomposition auf dem Client. Dieser Vorgang wird als Loadbalancing bei der Layoutberechnung bezeichnet. Ein wichtiger Teil bei dieser Entwicklung ist das Handling von Benutzerinteraktionen. In WebDynpro werden diese über Eingabekomponenten entgegengenommen. Alle möglichen Eingabekomponenten sind über ihre Methoden ansprechbar und können auch nach belieben Seite 44 von 54 AIXTRON erweitert werden. Wichtig ist, dass diese Komponenten im Hintergrund – also für den Entwickler unsichtbar/automatisch – auf Java Server Pages zugreifen. Ein bedeutender Unterschied ergibt sich bei diesem Zugriff im Gegensatz zu JavaScript: Es gibt keinen Loadbalancingmechanismus. Das Seitenlayout wird dabei berechnet, indem in HTML integrierter JAVA – Code von JSP benutzt wird. Dieser Vorgang wird nur serverseitig, deswegen kein Loadbalancing mit dem Client. Um Seiten zu erstellen, die einen ähnlichen oder gleichen Aufbau haben und sich somit voneinander beispielsweise durch ein Element unterscheiden, wird die Möglichkeit unterstützt, die Benutzeroberfläche sowohl statisch als auch dynamisch zu generieren. Es wird also angeboten, diese unterschiedlichen Elemente zur Laufzeit nachzuladen, ohne dass man die ganze Seite neu laden muss. Für die Aktualisierung der Seite oder Benutzeroberfläche verringert sich in diesem Fall der Zeitbedarf enorm. Dieser Fall wird als Round Trip spezifiziert. 3.4.1.3.4 Entwicklungsphase Als Basis für die Entwicklung einer WebDynpro – Applikation gilt der Meta Model Ansatz: Die Entwicklungsumgebung (in dem Fall SAP NW Visual Composer oder das Developer Studio) generiert Metadaten, die die Anwendung definieren. Diese Metadaten bilden ein Modell, das dem MVC-Entwurfsmuster entspricht. Um einen Standard für diese Art der Beschreibung zu definieren, wird XML eingesetzt. Diese Metadaten generieren folglich den Quellcode für die zu entwickelnde Anwendung. Ein weiteres Feature sind so genannte Hook-Methods, die es dem Entwickler ermöglichen, den Programmablauf zu steuern. Sie werden anhand der Metadaten generiert, um Zeitpunkte zu definieren, wann welche Ereignisse auftreten. Hinzu kommt die automatische Generierung von Quelltext für den Datenfluss zwischen Front – und Backend, als auch für die Navigation innerhalb der Anwendung und Erstellung der Benutzeroberfläche inklusive Komponenten. In der nachfolgenden Grafik sind die technischen Möglichkeiten einer Java Web Dynpro Anwendung abgebildet. Je nachdem für welche Art man sich entscheidet, gelangt man über Schnittstellen zum jeweiligen System: Benutzt man für die Entwicklung beispielsweise einen WebService Provider, so greift man über das Simple Object Access Protocol (SOAP) auf die nötigen Geschäftsdaten über einen dafür eingerichteten Web Service zu. SOAP ist ein Netzwerkprotokoll, welches auf der Seite 45 von 54 AIXTRON Anwendungsschicht des TCP/IP-Protokollstacks anzusiedeln ist und XML zur Repräsentation und Übertragung der Daten unterstützt. Für die Anwendungs-Integration in das SAP Enterprise Portal wird nach Erzeugung der WebDynpro Anwendung zur Laufzeit auch das XML-Format zur Darstellung der Anwendung auf dem Portal benutzt. Abbildung 12: Architektur Schnittstellen WebDynpro Anwendungen 3.4.1.4 ABAP ABAP ist die grundlegende SAP-Programmiersprache. Sie ähnelt COBOL. Weiterentwicklung SAP-Basis. Hauptsächlich werden mit dieser Sprache Daten einer zentralen Datenbank bearbeitet. Grundlegend ist diese Komponente für den eigentlichen direkten Bezug auf SAP R/3 Systeme. Da in dieser Arbeit mehr auf die Java-Entwicklung eingegangen wird, wird dieser Teil nicht weiter ausgeführt. 4 Ausblick SAP NetWeaver Developer Studio Eines der primären Ziele des NetWeaver ist die Möglichkeit, eine (Web)Anwendung zu erstellen, welche auf dem NetWeaver Application Server Einsatz findet. Die Architektur, wie Seite 46 von 54 AIXTRON SAP NetWeaver es schafft aus heterogenen Datenquellen Schnittstellen zum Umgang und zielgerichtet zur Programmierung von Anwendungen bereitzustellen, wurde in den vorherigen Kapiteln theoretisch behandelt. In diesem Kapitel wird die in NetWeaver enthaltene Software – Komponente Developer Studio vorgestellt, welche eine Entwicklungsumgebung ist, die auf Eclipse aufbaut. 4.1 Möglichkeiten und Funktionen Das Developer Studio bietet als zu Eclipse erweiterte Umgebung laut sap.com9 folgende Möglichkeiten und Funktionen an: J2EE-Perspektive - unterstützt Entwicklung und Anwendung der Technologien von Java 2 Enterprise Edition (J2EE), wie JavaServer Pages (JSPs), Servlets und Enterprise JavaBeans (EJBs). Web-Service-Perspektive - kombiniert Werkzeuge zur Definition, zur Suche und zum Testen von Webservices. Web-Dynpro-Perspektive bietet eine umfassende Umgebung für den modellbasierten Entwurf von Benutzungsoberflächen. Mit Web Dynpro können Sie Modelle von Benutzeroberflächen gestalten, die automatisch in Code für Java- und ABAPAnwendungen umgewandelt werden. Diese Benutzeroberflächen sind Client- unabhängig und lassen sich in unterschiedlichen Umgebungen nutzen – über das Web, Rich Clients oder mobile Geräte. Persistenzperspektive - unterstützt das Erstellen und Definieren von Datenbankobjekten wie Tabellen und Indizes mit Hilfe des Java Dictionary sowie von Editoren und Standards wie SQLJ oder Java Data Objects. Debugging-Perspektive - unterstützt das Testen von Java-Anwendungen durch Prüfen von Kenngrößen, Konventionen und Spracheinschränkungen. Java-Entwicklungsinfrastruktur-Perspektive - bietet Werkzeuge zum Organisieren, Verfolgen 9 und Koordinieren der Arbeit größerer Entwicklungsteams. Die http://www.sap.com/germany/plattform/netweaver/components/developerstudio/index.epx Seite 47 von 54 AIXTRON Entwicklerinfrastruktur verwaltet Quelltext, erstellt inkrementell neue Versionen und implementiert Anwendungen - immer auf dem richtigen Server und zur richtigen Zeit. Geschäftsprozess-Perspektive – ermöglicht Prozessarchitekten die Modellierung von Prozessebenen. Ziel ist das Erstellen und Debuggen ausführbarer Geschäftsprozessmodelle mit SAP NetWeaver Business Process Management. Geschäftsregeln-Perspektive - ermöglicht die Erstellung und Änderung von Verfahrensregeln in darstellbaren Formaten, beispielsweise Entscheidungstabellen mit SAP NetWeaver Business Rules Management. 5 Glossar Anwendung: Mit Anwendung wird eine Software oder Programm beschrieben, mit der der User/Anwender eine bestimmte Funktionalität am Computer erzielt. Anwendungs – Frontend: Schnittstelle zum User und steuernde Komponente eines Geschäftsprozesses. Authentifizierung Nachweis einer angegebenen Personalität oder eines bestimmten Merkmals. Backend: Mit Backend bezeichnet man auf Softwareebene diejenige Software die sehr systemnah ist. Benutzeroberfläche: Grafische Oberfläche, über die der Benutzer mit dem Computer (in einem Programm) interagiert. Cache: Kurz umschrieben, ist der Cache ein Speicher, der den zuletzt und am häufigsten verwendeten Inhalt zwischenspeichert. Seite 48 von 54 AIXTRON Datenmodell: Modell, zur Definition von Daten, wie z.B. in einer Datenbank. Eclipse: Entwicklungsumgebung, hauptsächlich für Java- Entwicklung. Im Laufe der Zeit wird es erweitert, und unterstützt (auch durch Addins/Plugins) mehrere Sprachen oder Standards (z.B. C++, XML). Enterprise Application Integration: Konzept, in dem die Geschäftslogik eines Unternehmens, in diversen Anwendungen integriert wird. Excel AddIns: Ein Excel AddIn ist ein optionales Modul, welches nach Installation in der Software Microsoft Excel zusätzliche Funktionen anbietet. Frontend: Mit Frontend bezeichnet man auf Softwareebene diejenige Software die sehr benutzernah ist, was bedeutet, dass hiermit die Schicht gemeint ist, in der die Benutzerschnittstelle realisiert ist.. GUI: Mit Graphical – User – Interface ist die Benutzeroberfläche gemeint, mit der der User arbeitet. Konsistente Datenbank: Mit einem konsistenten Datenbankzustand wird ein Zustand der Datenbank beschrieben, der an ein regelkonformes Schema gebunden ist. Diesem Schema liegen Regeln zugrunde, die eingehalten werden müssen, um diese Konsistenz zu erzielen. Laufzeitumgebung: Ein Programm, das ein gewünschtes Anwendungsprogramm durch Kommunikation mit dem Betriebssystem oder anderen Komponenten, für den jeweiligen Computer lauffähig bereitstellt. Normalisierung: Verfahren, um ein relationales Datenschema so zu zerlegen, um Redundanzen zu beseitigen. Objektrelationale Abbildung: Seite 49 von 54 AIXTRON Technik, mit der Objekte (als Entities) in einer relationalen Datenbank abgelegt werden können. persistent: s. Persistenz Persistenz: Fähigkeit, Daten oder digitale Objekte in Dateibeständen oder Datenbanken abzuspeichern. Query – Abfrage: Formale Abfrage in einer Datenbank nach bestimmten Daten(-sätzen). Query – View: Ansicht der nach einer Query – Abfrage ermittelten Daten(-sätze). Service Bus: Komunikation mit angebotenen Diensten. ->NetWeaver Process Integration Universal Description, Discovery and Integration (UDDI): Protokoll, um einen Verzeichnisdienst wie ein Repository, bereitzustellen. Webapplikation: Eine Webapplikation oder auch Webanwendung ist ein Computerprogramm, das von einem Webserver aus ausgeführt wird. Webbrowser: Computerprogramm zur Darstellung von Webseiten. Webseite: Spezielle Seite in der Informatik, die eine Anwendung beinhaltet oder Grafiken abbildet, und über das Internet in einem Webbrowser aufgerufen werden kann. Webserver: Anwendungsserver, der einen Webdienst oder eine Webanwendung anbietet. XML (eXtensible Markup Language): Seite 50 von 54 AIXTRON Standardformat, indem Daten in hierarchischen Strukturen dargestellt werden. Web Dynpro: ist eine Technologie, die von SAP im Rahmen der NetWeaver Strategie eingeführt wurde. Sie dient dem Erstellen von webgestützten Anwendungen, die mit einem SAP ERP und anderen Systemen zusammenarbeiten. SAP ERP: ist das Hauptprodukt des deutschen Software-Unternehmens SAP AG, das es seit 1993 vertreibt. ERP steht für Enterprise-Resource-Planning oder Unternehmens-Informationssystem, womit alle geschäftsrelevanten Bereiche eines Unternehmens im Zusammenhang betrachtet werden können. 6 Literaturverzeichnis In der vorliegenden Arbeit wurde folgende Literatur verwendet, die in Buchliteratur und Weblinks aufgeteilt wird. Die Links der Screenshots sind im nachfolgenden Abschnitt aufgelistet. 6.1 Buchliteratur SAP BW: Buch SAP BW Datenbeschaffung, SAP Press ISBN 978-3-89842-1025-6 WebDynpro: Inside WebDynpro, SAP Press ISBN 978-3-89842-092-5 Portalarchitekturen, Unternehmensportale, Webportale: SAP NetWeaver Portal, SAP Press ISBN 978-3-89842-536-0 SAP NetWeaver Developer Studio SAP Java-Programmierung mit SAP NetWeaver, SAP Press ISBN 978-3-8362-1042-3 Seite 51 von 54 AIXTRON 6.2 Internetliteratur EAI http://www.torsten-horn.de/techdocs/eai.htm Business Logic http://de.wikipedia.org/wiki/Anwendungslogik JEE http://de.wikipedia.org/wiki/J2EE Java Persistence http://de.wikipedia.org/wiki/Java_Persistence_API Client Server http://de.wikipedia.org/wiki/Client-Server-Modell Java Server Pages http://de.wikipedia.org/wiki/JavaServer_Pages SAP NetWeaver Developer Studio http://www.sap.com/germany/plattform/netweaver/components/developerstudio/index.epx Rich Internet Application http://de.wikipedia.org/wiki/Rich_Internet_Application Workflow http://de.wikipedia.org/wiki/Workflow Webservice http://www.itwissen.info/definition/lexikon/Webservice-Architektur-WSA-web-servicearchitecture.html WebDynpro http://help.sap.com/saphelp_dm40/helpdata/de/db/bd3642e2a3ab04e10000000a1550b0/conte nt.htm Seite 52 von 54 AIXTRON http://www.bpc.ag/Presse-News/Knowledge-Corner/SAP-Web-Dynpro.html 6.3 Screenlinks Portalarchitektur und Business Intelligence wurden jeweils aus den Büchern SAP NetWeaver Portal bzw. BW Datenbeschaffung entnommen. Client Server http://www.modul-bus.de/mbnews/mbnews03/ClientServer.gif ETL http://upload.wikimedia.org/wikipedia/de/f/f0/ETL-Prozess.jpg Bex query http://en.sap.info/wp-content/uploads/2003/06/IMG192233ee5ae42027bf.gif Bex analyzer http://images.cnblogs.com/cnblogs_com/crazybugcn/AdHoc028.JPG http://wiki.sdn.sap.com/wiki/download/attachments/44794331/a23.gif Bex Web Appl http://wiki.sdn.sap.com/wiki/download/attachments/168461044/new%20iview%20BEx%20Web %20params.jpg Bex Web Appl Designer http://help.sap.com/saphelp_bw30b/helpdata/en/1a/456a3badc1b315e10000000a114084/Imag e2242.gif Bex Broadcaster http://www.con4pas.cz/res/data/003/000730_02_005621.jpg Java Persistence Seite 53 von 54 AIXTRON http://help.sap.com/saphelp_nw04/helpdata/de/2d/23b32e8c0152469edf07909703fe03/framese t.htm InfoCube http://wjd-mittelstandsfinanzierung.org/data/content/00000071/grafik2.jpg JEE http://upload.wikimedia.org/wikipedia/de/2/2e/J2ee-overview.png MVC http://www.ucancode.net/Products/Form2/mvc.gif WebDynpro http://help.sap.com/saphelp_dm40/helpdata/de/db/bd3642e2a3ab04e10000000a1550b0/TEMP LATE_image002.gif OLAP http://help.sap.com/saphelp_nw04/helpdata/de/d9/ed8c3c59021315e10000000a114084/TEMP LATE_image002.gif Seite 54 von 54