Basistechnologien P2plus P2plus : Your Business Solution ...............................3 Einführung .....................................................................4 Microsoft .NET-Plattform...........................................5 P2plus im Netzwerk.....................................................8 P2plus Systemarchitektur........................................ 10 P2plus Client .............................................................. 11 P2plus Webserver...................................................... 15 P2plus Applikationsserver ....................................... 17 Datenhaltung in P2plus........................................... 21 Skalierbarkeit und Anpassung von P2plus.......... 23 © Copyright 12.10.2006 AP Automation + Productivity AG, Karlsruhe Die in diesen Unterlagen enthaltenen Angaben und Daten können ohne vorherige Ankündigung geändert werden. Ohne ausdrückliche schriftliche Genehmigung der AP Automation + Productivity AG darf kein Teil dieser Unterlagen für irgendwelche Zwecke vervielfältigt oder übertragen werden, unabhängig davon, auf welche Art und Weise oder mit welchen Mitteln, elektronisch oder mechanisch, dies geschieht. Alle Rechte vorbehalten. AP/P2/P2plus sind eingetragene Warenzeichen der AP Automation + Productivity AG. Alle anderen Bezeichnungen sind Marken oder eingetragene Marken der jeweiligen Hersteller. AP Automation + Productivity AG Schoemperlenstraße 12 b, 76185 Karlsruhe Postfach 21 01 62, 76151 Karlsruhe Internet: http://www.ap-ag.com E-Mail: [email protected] AP Automation + Productivity AG P2 plus : Your Business Solution P2plus ist eine internetbasierende Unternehmenslösung (extended ERP-System) für mittelständische Produktions- und Handelsunternehmen, die vollständig mit aktuellsten Web-Technologien (HTML, XML, Web Services, SOAP) auf Basis von Microsoft .NET entwickelt wurde. Damit nimmt P2plus eine führende Rolle unter den eERP-Systemen ein. P2plus wurde 2003 mit dem Microsoft .NET Award für eines der besten .NET-basierenden Kundenprojekte im Mittelstand ausgezeichnet. Der hohe Innovationsgrad und Kundennutzen unserer extended ERP-Lösung fanden außerdem internationale Anerkennung durch die Verleihung des Microsoft .NET Solution Awards 2002 als weltweit beste Anwendungslösung auf Basis der zukunftsweisenden .NET-Plattform. P2plus geht weit über den Leistungsumfang klassischer ERP-Systeme hinaus: Customer Relationship Management, E-Business, Wissensorganisation, aber auch Advanced Planning & Scheduling und Supply Chain Management sind integrale Bestandteile von P2plus. Damit deckt P2plus alle betrieblichen Funktionsbereiche mit dem gleichen Anwenderkomfort in einer einheitlichen Internettechnologie ab: Customer Relationship Management (CRM) Warenwirtschaft (WWS) Produktionsplanung und –steuerung (PPS) Betriebsdatenerfassung (BDE) Projektverwaltung und Grobplanung für Anlagen- und Werkzeugbauer Serviceabwicklung und Help Desk Advanced Planning & Scheduling (APS) Finanz- und Rechnungswesen (F+R) Controlling und Management-Informationssystem mit OLAP-Technologie (Business Intelligence) E-Business mit Internet Shop, Supply Chain Management und Marktplatzintegration insbesondere auch für Automobilzulieferer Knowledge Management mit Intranet, Workflow und Dokumentenverwaltung. Auf der Basis von Microsoft Windows 2003 und der .NET Entwicklungsplattform wurde P2plus als n-tier-Applikation unter intensiver Nutzung modernster XML-Technologien vollständig neu realisiert. Dabei ist auf dem Client-Rechner lediglich ein Browser (Internet Explorer ab Version 6.0) erforderlich. Auf dem Webserver werden die Internet Information Services (IIS) von Windows 2003 genutzt. Die Geschäftslogik wurde in Web Services umgesetzt und wird vom Applikationsserver bereitgestellt. Die Datenhaltungsebene bilden SQL Server und Exchange Server sowie das Active Directory von Windows 2003. P2plus integriert erweiterte ERP-Funktionalität (eERP) auf Basis von .NET und XML Web Services in einer einheitlichen Systemstruktur und Benutzeroberfläche Seite 3 von 24 AP Automation + Productivity AG Aufgrund der komponentenbasierten Systemarchitektur lässt sich P2plus äußerst gut skalieren und den jeweiligen Erfordernissen optimal anpassen. Insbesondere die Anbindung von Vertriebsbüros oder Zweigwerken über das Internet, der Aufbau von Extranets unter Einbeziehung von Kunden und Lieferanten und die Integration in weltumspannende E-Business-Strukturen werden mit P2plus zu einer einfachen Aufgabe. Einführung Mit P2plus wurde eine Applikation geschaffen, die alle Ansprüche an eine internetbasierende Unternehmenslösung erfüllt und auch künftigen Anforderungen gerecht wird. Dazu wurde die Funktionalität der bereits erfolgreich eingesetzten Applikation (P2) komplett neu implementiert unter konsequentem Verzicht auf die Verwendung von Altkomponenten. Auf der Basis der Microsoft .NETPlattform stützt sich P2plus in vollem Umfang auf zukunftsorientierte Technologien. Zukunftsorientiert sind in diesem Zusammenhang vor allem die im Internet verwendeten Technologien. Im Zusammenspiel der Internettechnologien mit Web Services und relationalen Datenbanken wurde eine leistungsfähige Applikation entwickelt, deren Besonderheit darin liegt, dass auf einem Client keine applikationsspezifischen Installationen erforderlich sind, sondern lediglich ein Internet Browser. Um die Internettechnologien optimal nutzen zu können, ist eine neuartige Programmarchitektur notwendig, die sich von den bisherigen Anwendungen auf Client-Server-Basis deutlich unterscheidet. Auf der Client-Seite befindet sich nur ein Internet Browser, während auf der Server-Seite die Web-, Applikations- und Datenbankserver für die Ausführung der Business-Logik sorgen. Durch diese sogenannte n-tier-Architektur sind leistungsfähige verteilbare und skalierbare Lösungen möglich. Die folgende Abbildung zeigt die einzelnen Schichten, über die die Architektur von P2plus realisiert ist. Die Verwendung aktueller Internettechnologien in P2plus (HTML, XML, CSS, SOAP ... ) bietet gegenüber herkömmlichen Client-Server-Modellen folgende Vorteile: Beschränkung der notwendigen Client-Software auf den Internet Explorer ab der Version 5.5. Geringer Aufwand für Anpassungen und Updates auch bei einer hohen Zahl an Arbeitsplätzen, weil die gesamte Software an zentraler Stelle installiert wird und nicht jeder Arbeitsplatz aktualisiert werden muss. Saubere Trennung der verschiedenen Software-Schichten durch verbindungslose Architektur. Seite 4 von 24 AP Automation + Productivity AG Optimale Eignung des Systems für den Einsatz in Netzwerken (Internet, Intranet, VPN); P2plus eignet sich damit besonders für Unternehmen mit mehreren Standorten, Niederlassungen oder Filialen. Einfache Anpassung der Benutzeroberfläche an die Corporate Identity der Kundenunternehmen durch die Steuerung des Layouts über CSS-Dateien. Erleichterung der Integration zusätzlicher Software-Module durch die konsequente Nutzung von Hyperlinks als Kommunikations-Mechanismus und von XML-basierenden Web Services über SOAP. Einsatzmöglichkeit von P2plus im Application Service Providing durch das Zusammenspiel von zentraler Installation und Internetfähigkeit. Microsoft .NET.NET- Plattform Microsoft hat mit .NET eine Plattform für Anwendungsentwicklung und Web Services realisiert, die vollständig auf das Internet ausgerichtet ist. Mit Microsoft .NET rücken flexible Konstellationen von Computern, Zugangsgeräten und Diensten in den Vordergrund. Applikationen und Dienste unterschiedlicher Hersteller lassen sich problemlos kombinieren und ermöglichen die Schaffung umfassender und effizienter Lösungen auf Basis der Internettechnologien. Gemeinsam ist diesen Applikationen die Kommunikation über Internet-Standardprotokolle sowie die Verwendung von XML zum Datenaustausch. Microsoft .NET umfasst im einzelnen folgende Komponenten: Entwicklungswerkzeuge zur Realisierung XML- und SOAP-basierender Anwendungen: Visual Studio .NET, Serversysteme für den Betrieb solcher Anwendungen: Windows 2000/2003 Server, Windows .NET Server, Systeme für unterschiedliche Clients: Windows XP, Windows CE .NET, Internet Explorer, die .NET Enterprise Server: SQL Server, Exchange Server, BizTalk Server, ISA Server. Die Entwicklungen zum weiteren Ausbau der Internet-Integration werden von Microsoft im Rahmen verschiedener Standardisierungsgremien in Zusammenarbeit mit den wichtigsten weltweit tätigen Unternehmen (IBM, HP, Sun, ...) laufend weiter vorangetrieben. Durch die enge Zusammenarbeit mit Microsoft wird die AP Automation + Productivity AG sehr frühzeitig über Erweiterungen an Softwareprodukten und strategische Veränderungen informiert und kann diese Informationen in den Entwicklungsprozess von P2plus einbeziehen. Die .NET-Strategie wird langfristig den Umgang mit dem Web auf allen Ebenen verändern. Die Realisierung der .NET-Plattform folgt jedoch einem evolutionären Pfad, sie gründet sich auf heute verfügbare Plattformen und Technologien und baut diese aus, sodass P2plus den Anforderungen des Marktes entsprechend weiterentwickelt werden kann, denn P2plus basiert schon heute auf allen verfügbaren .NET-Serverkomponenten. Web Services Web Services sind ein neuer Standard des W3C-Konsortiums für Schnittstellen zwischen unterschiedlichen Applikationen, Komponenten und Diensten im Internet. Web Services stützen sich auf verschiedene einzelne W3C-Standards wie XML, SOAP, UDDI und WSDL. Über Web Services können Module verschiedener Anwendungen miteinander kommunizieren und Funktionalitäten gegenseitig nutzen. Im Gegensatz zu anderen Kommunikationsstandards arbeiten Web Services dabei ohne festen Verbindungsaufbau. Da die Übertragung der Informationen zwischen Seite 5 von 24 AP Automation + Productivity AG den Kommunikationspartnern durch den Austausch von Nachrichten realisiert wird, eignen sich Web Services auch besonders für die Kopplung verteilt liegender Anwendungen. Folgende Standards sind für die Web Services bestimmend: XML (Extensible Markup Language): strukturierte Auszeichnungssprache die – anders als HTML – keine festgelegten Auszeichnungen hat, sondern Syntaxregeln definiert. Auszeichnungen und Strukturen können in XML auf Basis dieser Syntaxregeln individuell definiert werden. Durch diese Eigenschaften eignet sich XML besonders gut zum Übertragen von strukturierten Daten an internetbasierende Applikationen. SOAP (Simple Object Access Protocol): Protokoll für das Versenden und Empfangen von Nachrichten über das Web; diese Technologie ermöglicht die Integration von Applikationen über das Internet, unabhängig vom Betriebssystem. WSDL (Web Service Description Language): Beschreibungssprache für den Aufruf eines Web Service seitens einer Applikation; die Beschreibung muss Aufschluss geben über das verwendete Protokoll, die Adresse und Port-Nummer, die möglichen Prozeduren und Funktionen sowie die Formate für Input und Output. UDDI (Universal Description, Discovery and Integration of Business for Web): Geschäftsverzeichnis, in dem Anbieter ihre Dienste registrieren und Softwareentwickler Web Services gezielt suchen können. Das UDDI-Verzeichnis kann sowohl manuell von Entwicklern als auch automatisch von Anwendungen durchsucht werden. In P2plus werden Funktionalitäten in Form von Web Services sowohl auf dem Webserver als auch auf dem Applikationsserver bereitgestellt. Die Web Services auf dem Webserver sind die Schnittstelle, um von Client-Applikationen aus auf die Funktionalität von P2plus zuzugreifen. Der Browser verwendet die Funktionen dieser Schnittstellen, um nach dem Laden einer Seite über weitere Aufrufe im Hintergrund ergänzende Daten zu laden, Daten aus der Oberfläche an den Server zurückzusenden und Funktionen der Applikation ausführen zu lassen. Diese funktionsbezogenen Schnittstellen zur Anwendung bestehen nicht nur vom Browser-Client aus. Sie sind auch durch andere Applikationen, wie z. B. Excel, ansprechbar. Die Web Services auf dem Applikationsserver bilden die funktionale Basis von P2plus. Sie regeln den Umgang mit Daten und stellen Verarbeitungsfunktionen zur Verfügung. XML in P2plus Das universelle Datenformat XML stellt in P2plus eine Basistechnologie dar, die immer dort eingesetzt wird, wo in klassischen Applikationen Datenformate oder Strukturen von Nachrichten zu definieren wären: Daten aus der Datenbank werden in einem universellen XML-Format auf den Client übertragen, um dort entsprechend der Einstellungen des Benutzers angezeigt zu werden. Die Integration von aktuellen Office-Programmen (Word und Excel aus den Office-Linien XP und 2003) erfolgt, indem die Daten aus P2plus vom Webserver im jeweiligen XML-Format bereitgestellt werden. Excel-Tabellen oder Word-Dokumente können so direkt aus dem P2plus Web heraus auf der Basis von aktuellen Daten geöffnet werden. Die primäre Schnittstelle für den Austausch von Daten zwischen P2plus und anderen Applikationen ist ein XML-Format, in dem die relevanten Daten aus der Datenbank vollständig enthalten sind. Andere Datenformate in Schnittstellen, wie z. B. durch Komma separierte Merkmale, werden mit XML-Transformationen erzeugt (XSLT). Seite 6 von 24 AP Automation + Productivity AG Für die Einbindung des BizTalk-Servers werden spezielle XML-Daten zur Verfügung gestellt, in denen auch die notwendigen Verbindungsdaten enthalten sind. Nachrichten, die über E-Mail zwischen dem P2plus Internet Shop und der ERP-Installation ausgetauscht werden, sind als XML-Dateien realisiert. Die Funktionen aller Software-Komponenten werden in XML-Format beschrieben (WSDL). Funktionsaufrufe werden zusammen mit den Werten der Parameter über die Grenzen einer Komponente hinaus im XML-Format beschrieben (SOAP). Die Konfiguration des P2plus Webservers und des P2plus Web wird durch XML-Dateien festgelegt (P2plus.config, Web.config). Die Konfiguration der Datenobjekte, wie z. B. Statuswerte und Konsistenzbedingungen im Applikationsserver, werden in XML-Dateien abgelegt. Die Transformation von Datenobjekten in andere Datenobjekte - z. B. von Angeboten in Aufträge - wird durch XML-Tranformationen beschrieben (XSLT). Der Inhalt der Navigationsleiste ist als XML-Datei gespeichert (P2Way.xml). Die Lizenzdatei für eine Installation ist als XML-Datei hinterlegt. Die Bausteine für Infoseiten (WebParts) sind in XML-Dateien beschrieben. Aus dieser vielfältigen Nutzung der XML-Technologie ergeben sich zahlreiche Vorteile, die sowohl bei der Programmierung, als auch während des Betriebs sowie bei der Administration von P2plus zum Tragen kommen: XML als Datenformat kann inzwischen in vielen Applikationen zum direkten Datenaustausch verwendet werden, was die Integration von Anwendungen verschiedener Hersteller vereinfacht. Da XML-Dateien auf der Speicherung oder Übertragung von Text basieren, ist eine Modifikation bzw. Analyse der Daten leicht möglich. Die Schnittstellen werden dadurch sehr transparent. Der Text von XML-Daten wird im Format utf-8 kodiert, sodass keine Probleme bei der Verwendung von Umlauten, Sonderzeichen oder Zeichen aus anderen Sprachen auftreten. Über die Kodierung Base64 können auch binäre Daten (Bilder etc.) innerhalb von XML gespeichert werden. XML-Daten lassen sich auf einfache Art und Weise signieren und damit jederzeit auf ihre Unversehrtheit überprüfen. Eine ungewollte oder absichtliche Modifikation der Daten lässt sich dadurch unmittelbar erkennen. XML-Daten können während der Übertragung komprimiert werden, um Übertragungskapazitäten zu schonen. Mit dem Standard XML-Schema ist es leicht möglich, die Struktur von XML-Daten zu beschreiben und zu überprüfen. Die Standard XML-Transformationen (XSLT) ermöglichen eine einfache Konvertierung von Daten in andere Formate. Durch den XPATH-Standard wird die Suche nach Werten innerhalb von XML-Daten unterstützt. Die Arbeit mit XML-Daten wird durch das standardisierte Zugriffsmodell XML-Document ermöglicht, das auf allen gängigen Plattformen wie z. B. Microsoft .NET, Java 1.4 und JavaScript im Browser verfügbar ist. Da P2plus diese XML-Technologien intensiv in seinem internen Aufbau nutzt und diese nicht nur in Schnittstellen anbietet, ergibt sich ein durchgängiges Erscheinungsbild in der Applikationsstruktur, in der auch kundenspezifische Erweiterungen oder Änderungen effizient durchgeführt werden können. Ein Systemadministrator kann seine einmal erworbenen XML-Kenntnisse an unzähligen Stellen in P2plus nutzen, anstatt sich in eine Vielzahl unterschiedlicher Parametrierverfahren oder Schnittstellenformate einarbeiten zu müssen. Seite 7 von 24 AP Automation + Productivity AG Betriebssystem Windows 2000/2003 Server Das Betriebsystem Windows 2000/2003 Server ist in das .NET-Konzept integriert und optimal für Web-Applikationen geeignet. Windows 2000/2003 Server enthält verschiedene Komponenten und Dienste, die in Web-Applikationen genutzt werden können. Diese Komponenten bzw. Dienste tragen dazu bei, den Programmieraufwand entscheidend zu senken, weil sie bereits Basisfunktionalitäten liefern, die für eine komponentenbasierte Web-Applikation benötigt werden (InternetInformationsdienste, Sicherheitsdienste, SOAP). Exchange 2000/2003 Server In P2plus integriert ist der Microsoft Exchange 2000/2003 Server. Mit dieser Serverapplikation können Zusammenarbeit und Informationsaustausch der Mitarbeiter eines Unternehmens untereinander gestaltet werden. Neben der Verwendung als Mailserver kann Exchange 2000/2003 Server auch zur Organisation und Überwachung von Workflows und zum Dokumentenmanagement genutzt werden. Er verfügt über Funktionen, die es zulassen, den Arbeitsfortschritt von Dokumenten zu verfolgen und Dokumente zu archivieren (Web Storage System). Diese Funktionen sind voll in P2plus integriert. SQL Server 2000 SQL Server 2000 unterstützt XML und HTTP und ermöglicht dadurch die Integration in InternetApplikationen auf Basis der .NET-Plattform. Mit SQL Server 2000 können XML-Daten genutzt und erstellt werden. Auch das Einfügen, Aktualisieren und Löschen von Daten über XML ist möglich. Der SQL Server gewährleistet die für P2plus notwendige Verlässlichkeit der Daten und Sicherheit der Transaktionen und kann im Cluster und auf mehrere Rechner verteilt betrieben werden. Darüber hinaus ist SQL Server 2000 auf Windows 2000/2003 abgestimmt und kann dessen Verwaltungsfunktionen mit einbeziehen (integrierte Sicherheit). P2 plus im Netzwerk P2plus ist eine Web-Applikation und läuft damit häufig in einem öffentlichen Umfeld. Deswegen muss mit besonderer Sorgfalt auf den Schutz der Daten geachtet werden. Dazu wurde ein Konzept entwickelt, das alle notwendigen Sicherheitsaspekte beachtet. Im Mittelpunkt dieses Sicherheitskonzeptes stehen die folgenden Punkte: Schutz der Daten vor dem Zugriff Unbefugter Schutz der Daten vor dem Abfangen, Anzeigen und Kopieren Schutz der Daten vor Veränderungen bei der Übertragung Die folgenden Mechanismen für die Datensicherheit Ihrer Web-Applikation sind im Schichtenmodell des Netzwerks implementiert und werden von P2plus genutzt: Authentifizierung Integrität HTTPS VPN Seite 8 von 24 AP Automation + Productivity AG Authentifizierung Über die Authentifizierung wird die Identität eines Benutzers bei der Anmeldung am Netzwerk überprüft. Die Überprüfung beruht auf dem Benutzernamen, dem Kennwort sowie Zeit- und Kontoeinschränkungen, die im Active Directory hinterlegt sind. Der Zugang zum Netz über eine nicht registrierte Identität wird verhindert. Zugriffsberechtigungen auf Dateien und Ordner im Netz bestehen anhand der über die Authentifizierung festgestellten Identität. Integrität Daten werden im Internet nicht als umfassende Pakete übertragen, sondern in kleineren Einheiten, die nach der Übertragung wieder zusammengesetzt werden müssen. Die eintreffenden Daten werden auf Unversehrtheit und Vollständigkeit überprüft. Sollte diese Integritätsprüfung ergeben, dass Daten verändert wurden oder unvollständig sind, wird die Annahme verweigert und dadurch die Bearbeitung fehlerhafter Daten verhindert. HTTPS HTTPS ist ein erweitertes HTTP-Protokoll, das entwickelt wurde, um die Sicherheit der Datenübertragung über das Internet für Einzeltransaktionen zu gewährleisten. Dies geschieht mit Hilfe des Zusatzprotokolls SSL (= Secure Socket Layer) über digitale Zertifikate, Informationsverschlüsselung und elektronische Unterschriften. VPN Das virtuelle private Netzwerk (VPN) ist die Erweiterung eines privaten Netzwerkes, das zusammengefasste, verschlüsselte und authentifizierte Verknüpfungen über gemeinsame und öffentliche Netzwerke hinweg einschließt. VPN-Verbindungen können Remotezugriff und RoutingVerbindungen zu privaten Netzwerken über das Internet bereitstellen. Mit Hilfe von Verschlüsselungstechnologie wird im Internet ein "Tunnel" aufgebaut, sodass die elektronische Kommunikation nicht abgehört oder verändert werden kann. Seite 9 von 24 AP Automation + Productivity AG P2 plusplus-Systemarchitektur P2plus ist eine Applikation, die aus mehreren Schichten besteht. Dieser Aufbau wird als n-tierArchitektur bezeichnet. In der folgenden Abbildung ist die Architektur des Systems skizziert. Jede dieser Schichten enthält unterschiedliche Software-Komponenten. P2plus ist also keine monolithische Applikation, sondern ein Paket aus verschiedenen Komponenten mit klar abgegrenzten Aufgaben. Der Client stellt Daten dar und nimmt Benutzereingaben entgegen. Er spricht den Webserver über das SOAP-Protokoll an. Der Webserver stellt über die Internet-Informationsdienste von Windows 2003 die Verbindung zum Client her und verarbeitet dessen Anfragen. Über das SOAP-Protokoll greift er auf die Web Services zu, die sich auf dem Applikationsserver befinden. Der Applikationsserver greift auf die Datenbanken zu und bearbeitet die Daten. Die Datenhaltungsschicht speichert die vom Applikationsserver benötigten Daten. Sie kann auf mehrere Rechner verteilt sein. In die Datenhaltungsschicht gehören relationale Datenbanken (SQL Server) Web Storage System (Exchange Server) der Fileserver Active Directory Alle Server setzen auf eine Windows 2000/2003 Server-Plattform auf. Seite 10 von 24 AP Automation + Productivity AG XML – Standardisierte Datenformate P2plus setzt in vielen Bereichen die XML-Technologien ein. Sie werden verwendet, um Daten zwischen den einzelnen Komponenten von P2plus auszutauschen und um komplexere Daten, wie z. B. Datensätze der Datenbank, zu übertragen. Für die Anbindung an Fremdapplikationen wird ein Satz von standardisierten EDI-Connectors angeboten, die ebenfalls auf XML basieren. Auch einige andere sehr intensiv genutzte Standards wie z. B. SOAP – die Basis für die Funktionalität von Web Services – basieren auf dem Austausch von XML-Nachrichten. Zusammen mit dem Standard-Datenformat XML wird in P2plus kein spezieller Zeichensatz verwendet, sondern der auf UNICODE basierende utf-8 Standard. Damit ist die Basis für eine vom Sprachraum unabhängige Applikation geschaffen. P2 plus Client Auf den P2plus-Arbeitsplätzen ist keine Installation der Software erforderlich. Die Verwendung der Internet-Standardtechnologien hat damit eine unmittelbare Senkung des Installationsaufwands zur Folge. Für den Betrieb von P2plus wird auf dem Client lediglich der Internet Explorer ab der Version 5.5 benötigt. Auch für die Anbindung an den Webserver ist keine spezielle Software zu installieren. Es werden die verfügbaren Protokolle http und https sowie VPN-Verbindungen genutzt. Da für P2plus keine Anwendersoftware auf den Clients installiert ist, existiert auch kein Eintrag im Start-Menü. Der Einstieg in die Applikation erfolgt über URLs. Diese sind in einer Navigationsleiste in Aufgaben oder Arbeitsbereiche untergliedert. Auch die Navigationsleiste, der P2Way, muss nur einmal vom Server geladen werden und entlastet damit die Netzwerkschicht. Im Gegensatz zu FramesetLösungen, mit denen sich ein ähnlicher Seitenaufbau umsetzen lässt, bleiben die verwendeten URLs vollständig als Navigationsmöglichkeit erhalten. Im Internet Explorer wird die P2plus-Benutzeroberfläche angezeigt, in der die Daten dargestellt und bearbeitet werden können. Das Layout der Seiten wird durch eine gemeinsame CSS-Datei gesteuert, die ein einheitliches Erscheinungsbild aller P2plus-Seiten gewährleistet. Die folgende Abbildung zeigt die Benutzeroberfläche von P2plus mit ihren Bedienelementen. Symbolleiste zur Navigation und Bearbeitung von Datensätzen Funktionsschaltflächen Datenfelder zum Anzeigen und Editieren von Datensätzen Navigationsleiste P2Way zu allen P2plus-Seiten Seite 11 von 24 AP Automation + Productivity AG Die Oberfläche von P2plus ist gleichzeitig Dokument und Funktionalität, d. h. die Seiten sind offen und wiederverwendbar. So können Sie z. B. eine Tabelle auf einer P2plus-Seite markieren und über die Zwischenablage in Excel kopieren. Damit ermöglicht P2plus die Weiterverwendung von Daten auf den Arbeitsplätzen. Corporate Design Über das Corporate Design einer Firma wird ein einheitliches und einprägsames Unternehmensbild in der Öffentlichkeit vermittelt. Auch bei der Gestaltung des Internet-Auftritts der Firma sowie bei der Präsentation im Intranet spielt daher ein homogenes Erscheinungsbild eine entscheidende Rolle. Die durchgängige Verwendung gleicher Arten von Grafiken, Zeichnungen, Tabellen, Zeichen und Schriftsätzen trägt erheblich dazu bei, einen einheitlichen Gesamteindruck herzustellen. In P2plus wird das Layout der einzelnen Webseiten nicht im HTML-Code definiert, sondern es werden alle in P2plus verwendeten Formate zentral über ein Cascading Style Sheet (CSS) gesteuert und dadurch eine einheitliche Darstellung der Web-Site gewährleistet. Werden an der CSS-Datei Änderungen vorgenommen, so wirken sich diese auf alle Dateien im Web aus. Über dieses Prinzip der zentralen Steuerung des Layout ist es möglich, das gesamte P2plus Web dem Corporate Design einer Firma anzupassen. Die Änderungen – wie z. B. Farbeinstellungen, Anpassungen von Zeichen- oder Absatzformaten oder das Einbinden eines Firmenlogos – müssen lediglich in der CSS-Datei vorgenommen werden. HTML-Browser Die Oberfläche von P2plus besteht aus reinen HTML-Seiten. HTML hat den Vorteil, dass es unabhängig vom verwendeten Betriebssystem dargestellt wird. Der Client benötigt zum Anzeigen der Seiten lediglich einen Internet Browser. HTML definiert die Elemente auf einer Seite, das Layout wird über die CSS-Datei festgelegt. HTML in der Version ab 4.0 sowie die Verwendung weiterer Internet-Standards wie CSS, JavaScript und Behaviors bieten nicht nur dir Möglichkeit, HTML-basierte Dokumente zu visualisieren, sondern auch echte Web-Applikationen zu realisieren und eine Benutzeroberfläche zur Verfügung zu stellen, wie Anwender sie etwa von Office-Applikationen gewohnt sind. Trennung von Oberfläche und Datensätzen Die Arbeitsweise der in P2plus verfügbaren Seiten basiert auf einer strikten Trennung von HTML-Code für Formulare und Tabellenvorlagen und den zur Arbeit notwendigen Datensätzen. Um eine solche Trennung zu erzielen, besteht im Browser die Möglichkeit, unabhängig von der aktuell angezeigten Seite im Hintergrund, Methoden der Web Services auf dem Webserver aufzurufen. Zur Navigation in Datenbeständen wird eine datenfreie Maske im Browser geladen. Beim Blättern in Datensätzen werden dann die Daten über einen geeigneten Web Service an den Client übertragen, sodass eine wiederholte Übertragung der HTML-basierten Masken nicht notwendig ist. Der Client hat dabei folgende Aufgaben: Daten vom Server anfordern Daten in das auf dem Client konfigurierte Datenformat (z. B. Zahlen, Datum) konvertieren Daten in die Maske oder Tabelle einbauen unterstützende und prüfende Aufgaben beim Ändern von Daten durchführen Daten aus der Maske bei Bedarf wieder in ein XML-Format zusammenstellen und an den Server zurückschicken, z. B. um Funktionalitäten aufzurufen Seite 12 von 24 AP Automation + Productivity AG Wiederverwendung von Komponenten Zusätzliche Komponenten, die von verschiedenen Masken verwendet werden, sind in der Form von HTML Behaviors in JavaScript realisiert. Während sich durch HTML Script Tags nur eine flache Struktur von global verfügbaren Variablen und Funktionen realisieren lässt, können Behaviors gezielt einzelne HTML-Objekte um Methoden und Eigenschaften ergänzen. Diese objektorientierte Erweiterung des HTML-Modells auf dem Client eignet sich besonders für die Entwicklung von umfangreichen Web-Applikationen, da Konflikte zwischen Include-Dateien vermieden werden und das mehrfache Verwenden eines Behaviors in einer Seite möglich ist. Der Browser ist in der Lage, diese Komponenten in seinem Cache zu speichern und so auch hier Ladezeiten und Netzwerklast zu minimieren. Intelligenz auf dem Client Die vom Client auszuführenden Aufgaben werden in der Programmiersprache JavaScript umgesetzt – einer Skriptsprache, die für das Internet entwickelt wurde und auch unter dem Internet-Standard ECMA Script normiert wurde. JavaScript wird zum Beispiel benötigt, um XML-basierte Daten im Browser anzuzeigen und zu bearbeiten oder um das Funktionieren von Bedienelementen im Browser sicherzustellen. XML als Datenformat Für die Übertragung von Daten an den Client wird in P2plus das XML-Format verwendet. Dadurch ergeben sich die folgenden Vorteile: XML verwendet den utf-8 bzw. Unicode-Standard und ermöglicht so die Übertragung und Verarbeitung der Sonderzeichen aller weltweit verwendeten Sprachen. XML ist kein binäres Format, sondern kann auch als Text dargestellt und übertragen werden, sodass alle Betriebssystem- und Rechnerarchitekturen dieses Format verstehen. XML ist ein von der Organisation W3C standardisiertes Programmiermodell und steht sowohl im .NET Framework als auch in den Browsern zur Verfügung. Es bietet umfangreiche standardisierte Funktionalität zur Suche, Sortierung und Transformation von Daten (XPath, XSLT, DOM). Die Verarbeitung und der Transport der Datentypen wie z. B. Datumsangaben oder Zahlen erfolgt in der durch XML standardisierten Form, sodass die Server einheitlich arbeiten können. Die Art der Darstellung der Daten im gewünschten Format kann vom Anwender dezentral auf dem Client bestimmt werden. Client Performance Trotz der Architektur in mehreren Schichten ist die Anwendungsgeschwindigkeit auch von der Leistungsfähigkeit des Clients abhängig. Der Browser als Client-Plattform ist verantwortlich für die Darstellung und den Austausch von Daten in Masken, die Konvertierung von Daten in das Datenformat, das vom Anwender eingestellt wurde, die Validierung von Eingabedaten und die Übertragung von Daten vom und zum Webserver. Durch die Trennung von HTML-Code für das Layout und Nutzdaten ist insbesondere bei umfangreichen Masken ein Arbeiten auch über weite Verbindungen (WAN) möglich. Seite 13 von 24 AP Automation + Productivity AG P2plus-Seiten benötigen in der Regel 30 bis 50 KByte HTML-Code. Die weiterhin notwendigen Bilder und WebObjects, die im Cache des Clients gehalten werden, beanspruchen zusätzlich ca. 100 KByte. Die einzelnen Datensätze haben dagegen nur eine Größe von 2 bis 6 KByte. Die gemeinsame Übertragung von HTML-Code und von darin eingebetteten Daten ist somit nur für sehr einfache Formulare geeignet. P2plus hingegen kann aufgrund der Trennung von Layout- und Nutzdaten auch umfangreiche und komplexe Masken anbieten. Indem der Client die Daten separat lädt, wird der Webserver entlastet, da er die HTML-Seiten nur einmal übertragen muss. Insbesondere langsamere Leitungen werden dadurch weniger stark beansprucht. Die Geschwindigkeit, mit der der Client die Daten darstellen kann, hängt von dessen Ressourcen wie Prozessorleistung und Speicherausbau ab. Die benötigte CPU-Zeit wird hauptsächlich durch die Ausführung von JavaScript und den Aufbau der HTML-Objekte im Browser benötigt. Auf Basis dieser Struktur stellt P2plus höhere Ansprüche an die Leistungsfähigkeit des Client-Systems, als sogenannte Thin Client-Lösungen. Dadurch ergeben sich jedoch vergleichsweise geringe Anforderungen an die verwendeten Server, was sich insbesondere in Lastspitzen positiv auswirkt, wo viele Benutzer parallel aktiv sind. P2WebObjects – Standardfunktionen der P2plus-Oberfläche Damit die P2plus-Seiten die geforderten Funktionen ausführen können, muss das Verhalten verschiedener HTML-Elemente gesteuert werden. Implementiert sind die dazu notwendigen Funktionen nicht in den P2plus-Seiten selbst, sondern in eigenen Objekten, den P2WebObjects, die im Browser an die P2plus-Seiten angebunden werden. Die P2WebObjects regeln beispielsweise: Layoutanpassungen bei Größenänderungen des Browserfensters: Wird eine sehr kleine Darstellung des Browserfensters gewählt, regelt P2Layout die Anpassungen der Oberfläche an die eingestellte Größe. Die Bearbeitung von HTML-Seiten direkt im Browser: Mit P2Direct können P2plus-Seiten im Browser durch editierbare Bausteine – WebParts – ergänzt und bearbeitet werden. Grundfunktionen der Menüleiste: P2Menu regelt das Verhalten der Schaltflächen in der Symbolleiste. Darstellung und Handling von Datenbankdaten: P2Form regelt die Darstellung von Datensätzen und überprüft Eingaben. P2NavBar ermöglicht es, zwischen Datensätzen zu blättern, zu suchen, Datensätze anzulegen, zu löschen und zu ändern. Die Funktionen von P2Navbar stehen dem Benutzer in der Symbolleiste zur Verfügung. Mit den P2WebObjects sind Eigenschaften und Methoden definiert, die über die CSS-Datei an HTMLElemente angebunden sind. Im Gegensatz zu den anderen Möglichkeiten des Scriptings müssen die Funktionen der P2WebObjects nicht explizit aufgerufen werden. Es ist in den P2WebObjects selbst definiert, in welchen Situationen eine Funktion ausgeführt wird. Ein weiterer Vorteil der P2WebObjects besteht darin, dass sie nicht mit jeder P2plus-Seite neu geladen werden müssen, sondern von weiteren Seiten genutzt werden können. Wie bei der gesamten clientseitigen Programmierung wird auch für die P2WebObjects JavaScript verwendet. Seite 14 von 24 AP Automation + Productivity AG P2Way - übersichtliche Navigation zwischen P2plus-Seiten Zur Navigation zwischen den P2plus-Seiten steht dem Benutzer die Navigationsleiste P2Way zur Verfügung. P2Way verwendet nur URLs in der Form von Hyperlinks, die auch auf anderen Wegen Benutzern zur Verfügung gestellt werden können, wie z. B. durch das Verschicken per E-Mail. Es besteht auch die Möglichkeit, die P2Way-Einträge direkt in die Favoriten (Bookmarks) zu übernehmen. In P2plus wird der Zugriff auf die einzelnen Webseiten über die Dateizugriffsrechte geregelt. Abhängig von diesen Zugriffsrechten werden Hyperlinks im P2Way nur angezeigt, wenn sie auf Seiten verzweigen, die dem jeweiligen Client auch tatsächlich zugänglich sind. Die Dateizugriffsrechte werden über die Access Control List (ACL) der Dateien gesteuert. Da P2Way auf die Verwendung von URLs ausgerichtet ist, können auch Hyperlinks zu externen, nicht zu P2plus gehörenden Seiten integriert werden. Auch P2Way selbst wird über die Internet-Informationsdienste zum Client gesandt, sodass auch hier der Weg, Client-Installationen zu vermeiden, nicht verlassen wird. Datenübertragung über internationale Standards Grundvoraussetzung für das Funktionieren des Internets sind einheitliche Standards, über die alle zu übertragenden Informationen verschickt werden. Diese Standards sind in Übertragungsprotokollen geregelt, die von jedem Web-Browser unterstützt werden. Grundlegend ist das Netzwerk-Protokoll TCP/IP, das im internationalen Datenverkehr zur Datenübertragung eingesetzt wird, auch im Internet. TCP/IP regelt die Datenübertragung in einem Netzwerk. Es verschickt die Daten in kleinen Datenpaketen und stellt sicher, dass die Pakete auch in der richtigen Reihenfolge beim Empfänger ankommen. Auf TCP/IP setzt das Hypertext Transfer Protokoll (HTTP) auf. HTTP ist ebenfalls ein internationaler Standard und regelt die Übertragung von Daten zu einem Web-Browser. Es ist auch zur Datenübertragung in einem Intranet geeignet. Neben HTML-, ASP- und ASPX-Seiten können über dieses Protokoll auch andere Dateien, wie zum Beispiel Word- oder PDF-Dokumente, übertragen werden. Ein weiterer internationaler Standard, der auf dem Client eingesetzt wird, ist das Simple Object Access Protokoll (SOAP). Dieses Protokoll ermöglicht die unabhängige Übertragung von Daten und HTML-Seiten, sodass in eine bereits übertragene Seite die Daten separat geladen werden können. Zum Übertragen großer Datenmengen, oder wenn keine ständige Online-Verbindung besteht, ist die E-Mail der beste Weg. Bei diesem alternativen Weg werden Daten im XML-Format als Text einer E-Mail vom Client zum Server übertragen und dort weiterverarbeitet. P2 plus Webserver Webserver Die beiden Hauptaufgaben des Webservers sind die Montage der HTML-Seiten sowie die Bereitstellung der Web Services für den Client. Diese Funktionalität wird über einen einzigen Port angeboten, womit dem Client alle weiteren serverseitigen Komponenten verborgen bleiben. Der Webserver ist damit die einzige Komponente, die vom Client aus angesprochen werden muss. Insbesondere bei Installationen im global verfügbaren Internet können alle weiteren Komponenten hinter diesem Server auf einem getrennten Netzwerk aufgebaut und somit effizient vor dem direkten Zugriff geschützt werden. Seite 15 von 24 AP Automation + Productivity AG Daneben ist der Webserver nur für den Transport der Daten zwischen dem Client und den anderen beiden Serverkomponenten zuständig. Zum Lesen von Datensätzen, insbesondere bei Tabellen mit vielen Datensätzen, greift der Webserver über ADO.NET direkt auf den SQL Server zu, um einen hohen Durchsatz zu erreichen. Der sehr detailliert steuerbare Web-Cache verhindert zudem das wiederholte Erstellen gleicher Inhalte. Alle Modifikationen an Daten sowie alle Transaktionen werden ausschließlich über den Applikationsserver ausgeführt. Die Einbindung des Webservers in die ASP.NET-Laufzeitumgebung ermöglicht gegenüber der älteren Implementierung in Form von interpretierten ASP-Seiten einen besser strukturierten Aufbau des Webservers. Über ein spezifisches Framework können auf dem Webserver häufig angeforderte Funktionalitäten in C# umgesetzt und als Klassen zur Verfügung gestellt werden. Da die bereitgestellten Web Services dem SOAP-Standard entsprechen, können auch andere Programme (z. B. Excel) die darin hinterlegten Methoden ansprechen. Alle Funktionalitäten der Gesamtapplikation können über diese Schnittstellen angesteuert werden, und ein direkter Zugriff auf den Datenbankserver ist nicht mehr notwendig. Mit Hilfe der Web Services ist es damit auch möglich, Daten zur Verfügung zu stellen, die nicht in dieser Form in der Datenbank hinterlegt sind, sondern aus dem Datenbestand heraus berechnet werden, wie z. B. den voraussichtlichen Lagerbestand eines Artikels zu einem Termin in der Zukunft. Da der Webserver ohne anwenderspezifische Zustandsinformationen (State Information) auskommt, ist auch bei höheren Anwenderzahlen eine gute Skalierbarkeit gegeben. Internet-Informationsdienste – dynamische Verarbeitung von P2plus-Seiten Auf dem Webserver werden die in Windows 2003 integrierten Internet-Informationsdienste (Internet Information Services — IIS) eingesetzt. Diese Dienste ermöglichen die Publikation von Webs und webbasierenden Business-Applikationen. Die IIS interpretieren ASPX-Scripts, führen sie aus und übertragen die Seite an den Browser. Webserver dienten im Internet zunächst nur dazu, eine Anfrage vom Browser entgegenzunehmen und die geforderte Seite zu übertragen. Eine dynamische Veränderung der Seite war dabei nur im Browser möglich. Bei webbasierenden Applikationen ist es jedoch notwendig, die Seiten dynamisch zu verändern bzw. Inhalte zu ergänzen, bevor sie zum Client übertragen werden. Diese Möglichkeiten ergeben sich durch den Einsatz der ASP.NET-Technologie über die IIS. Umgekehrt verarbeiten die IIS auch die Informationen, die vom Client an den Webserver gesandt werden, um Aktionen auf dem Applikationsserver anzustoßen. P2plus nutzt die ASP.NET-Technologie zur situationsabhängigen Veränderung von Webseiten und zum Ausführen serverseitiger Funktionen. Bevor eine P2plus-Seite zum Browser übertragen wird, führen die IIS die darin enthaltenen ASPX-Script-Anweisungen aus und schreiben die angeforderten Datenbankinhalte als XML in die Seite. Im Browser werden reine HTML-Seiten angezeigt, die jedoch nicht die Dateierweiterung .htm sondern .aspx erhalten. Der Skript-Code wird nicht zum Browser übertragen. Die folgende Abbildung veranschaulicht den Vorgang der Montage von ASPX-Seiten durch die IIS. Seite 16 von 24 AP Automation + Productivity AG P2 plus Applikationsserver Der Applikationsserver stellt die Komponenten bereit, die die Daten aus der Datenbank holen, verarbeiten und für den Client aufbereiten. Umgekehrt werden die am Client vorgenommenen Änderungen von Komponenten dieser Schicht verarbeitet und die Speicherung in der Datenhaltungsschicht veranlasst. Alle Transaktionen werden ausschließlich vom Applikationsserver aus begonnen und beendet. Die Anbindung des Applikationsservers an den Webserver wird anhand von Web Services realisiert, die vom Applikationsserver bereitgestellt werden. Vor dem Anwendernetzwerk kann der Applikationsserver vollkommen verborgen und so ein direkter Zugriff vermieden werden. Um seine Aufgaben strukturiert ausführen zu können, existiert im Applikationsserver ein P2plus Business Framework, innerhalb dessen die eigentliche Business-Logik implementiert wird. Dieses Framework übernimmt u. a. die Aufgaben der Kommunikation z. B. über Web Services und E-Mail sowie der objektorientierten Bearbeitung relationaler Daten über eine auf der Datenbank aufsetzende Objektschicht mit Factory-Klassen. Diese Basisfunktionalität ist in weiten Bereichen durch Parameter steuerbar, sodass die Standardfunktionalitäten zu den Tabellen der Datenbank, wie z. B. Konsistenzbedingungen, leicht angepasst werden können. XML-Technologien im Applikationsserver Die Einbindung des Applikationsservers in das Gesamtsystem von P2plus erfolgt über die auf XML basierenden Internet-Standards SOAP und WSDL. Damit stehen alle im Applikationsserver realisierten Funktionalitäten auch über Web Services zur Verfügung. Auf dieser Ebene befinden sich alle Einstiegspunkte in Transaktionen. Diejenigen Transaktionen, die von außerhalb des Applikationsservers verwendet werden dürfen, werden dem Client über den Webserver zur Verfügung gestellt. Seite 17 von 24 AP Automation + Productivity AG Die folgende Abbildung stellt die Struktur des P2plus Applikationsservers dar. Weitere Funktionalitäten des Applikationsservers sind u. a.: HTTP 1.1 Server mit SSL-Verschlüsselung SOAP 1.2 Implementierung Thread-Pooling Datenbank-Connection-Pooling Transaktions-Handling mit Untertransaktionen und Timeouts Mandantenfähigkeit Debug-Ausgaben Job-Verwaltung Automatisierte Updates XML-Export/Import Event-Handling Unterstützung mehrerer Datenbanken P2plus Web Services – Kernfunktionen in P2plus Die P2plus Web Services bilden die Schnittstelle des Applikationsservers, über die alle Transaktionen der Business-Logik von P2plus aufgerufen werden. Die P2plus Web Services sind relativ kleine Einheiten, die in objektorientierter Weise den Umgang mit Daten regeln und Verarbeitungsfunktionen bereitstellen. Dabei werden Methoden und Eigenschaften, die allgemein gebraucht werden, nur einmal implementiert und sind aufgrund der Web Services–Technologien von außen über SOAP aufrufbar. Dadurch ist ein konsistenter Umgang mit Daten gewährleistet, denn in einem P2plus Web Service müssen nur Methoden implementiert werden, die einen direkten Bezug zu den Daten haben (Berechnungen, Abhängigkeiten). Methoden von allgemeiner Bedeutung werden dagegen nur einmal implementiert und stehen durch Vererbung allen P2plus Web Services zur Verfügung. Seite 18 von 24 AP Automation + Productivity AG Diese Art der Programmierung ermöglicht eine vereinfachte Implementierung kundenspezifischer Anpassungen, da neue Funktionen nur an einer Stelle eingefügt werden müssen. Zur Programmierung der P2plus Web Services auf dem Applikationsserver wird Java eingesetzt. Java ist durch die objektorientierten Möglichkeiten und die Stabilität optimal geeignet, die Geschäftslogik abzubilden. Der Applikationsserver bietet nach Packages gruppiert viele Web Services an, die jeweils mehrere Methoden zu einem Business-Objekt zur Verfügung stellen. Diese Struktur wird anhand der P2plusBildschirmseite deutlich, die in der folgenden Abbildung dargestellt ist. Die Funktionalität von Packages, Klassen und Methoden kann für einzelne Benutzer oder Benutzergruppen gesperrt oder freigegeben werden. Bei jedem Aufruf einer Methode des Applikationsservers werden die für die Ausführung der Methode erforderlichen Rechte überprüft. XML-basierte Konfiguration und Instrumentierung Die Kernkomponenten des Applikationsservers enthalten viele grundsätzlich verfügbare Funktionen, die für die einzelnen Business-Objekte verwendet werden können. Die genaue Steuerung in diesem Bereich ist durch detaillierte Parametersätze, Regelwerke und Transformationen in XML-Technologie realisiert. Dadurch ist es möglich, individuelle Anpassungen nicht durch die Änderung von Programmen, sondern durch eine geänderte Instrumentierung zu erreichen. In Folgeversionen oder Updates von P2plus können solche Anpassungen direkt übernommen werden. P2plus Business Framework Der innere Aufbau des P2plus Applikationsservers besteht aus einer mehrschichtigen Architektur, dem P2plus Business Framework, das aus einer umfangreichen Klassenbibliothek zur komfortablen Entwicklung von Business-Applikationen besteht. Diese leistungsfähige Basisfunktionalität und klar vorgegebene Strukturen entlasten den Entwickler und erlauben ihm, sich auf seine eigentliche Aufgabe, die Abbildung betriebswirtschaftlicher Vorgänge, zu konzentrieren. Die integrierte Datenbank-Schnittstelle unterstützt u. a. Transaction Isolation und Multiple Server Cursors. Ein integrierter HTTP 1.1-Server mit Thread Pooling erlaubt den Aufruf der in Web Services umgesetzten Business-Logik über SOAP. Der HTTP-Server unterstützt das HTTPS-Protokoll für gesicherte Verbindungen über SSL. Seite 19 von 24 AP Automation + Productivity AG Um die objektorientierte Business-Logik mit der relationalen Struktur einer SQL-Datenbank zu verbinden, enthält P2plus Business Framework eine sogenannte Objektschicht. Diese auf Basisklassen aufbauende Objektschicht trennt die Programmierung von der Datenhaltung. Dem Entwickler ermöglicht diese Trennung, objektorientiert zu programmieren, obwohl relationale Datenbanken verwendet werden. Für eine maximale Performance steht jedoch auch SQL direkt zur Verfügung. Wesentlicher Bestandteil des P2plus Business Frameworks sind die Business-Objekte. Ein BusinessObjekt entspricht dabei einem Datensatz einer Tabelle. Für jede SQL-Tabelle generiert ein SourceGenerator automatisch mehrere Klassen sowie get- und set-Methoden für den typsicheren Zugriff auf die Spalten der Tabelle. Zur Laufzeit werden die Business-Objekte auf der Basis des Factory Patterns automatisch zur Verfügung gestellt. Über eine Identity Map ist gewährleistet, dass sich ein BusinessObjekt nur einmal im Speicher befindet, und sich Änderungen an diesem Objekt innerhalb einer Transaktion somit immer auf dasselbe Objekt beziehen. Komplexe Datenbankabfragen (Queries) können über Collections abgebildet werden. In Form von Plugins wird umfangreiche Funktionalität zur Verfügung gestellt, die auch in kundenspezifischen Code direkt eingebunden werden kann. Für den Datenaustausch mit anderen Applikationen, für die Kommunikation mit Clients und für die Konfiguration verwendet P2plus Business Framework XML. P2plus Business Framework unterstützt beliebig viele Mandanten bzw. Tochterfirmen. Tabellen können dabei ganz oder teilweise, d. h. nur für definierte Spalten, mandantenspezifisch verwaltet werden. Anwender können jederzeit zwischen verschiedenen Mandanten wechseln. Da Mandanten und Tochterfirmen vom Framework verwaltet werden, entsteht für den Entwickler kein zusätzlicher Programmieraufwand im Zusammenhang mit der Mandantenfähigkeit. Die P2plus-Datenbank kann durch Partitionierung auf mehrere Datenbankserver verteilt werden. P2plus Business Framework sorgt automatisch dafür, dass die Daten vom richtigen Server geholt werden. Der in P2plus Business Framework integrierte Transaktionsmonitor überwacht das Ausführen von Transaktionen, implementiert separate Timeouts für Schreib- und Lesezugriffe und erlaubt verteilte Transaktionen und Untertransaktionen. Die Performance der Objektschicht von P2plus Business Framework ist, verglichen mit ähnlichen Lösungen, sehr hoch, da sich P2plus Business Framework, trotz Objektorientierung und Abstraktion, eng an SQL anlehnt. Durch effizientes transaktionsbezogenes und transaktionsübergreifendes Caching sowie durch Connection Pooling, das mehrfache Verwenden von Datenbankverbindungen, werden die Datenbank-Ressourcen optimal genutzt. Auf den Datenbankserver, aber auch auf XML- und Konfigurationsdateien, wird nur dann zugegriffen, wenn die Daten nicht bereits im Cache gespeichert sind. Für jedes Business-Objekt, also für jede Tabelle, können vielfältige Einstellungen vorgenommen werden, die als Metadaten in XML-Konfigurationsdateien abgelegt werden. Dazu gehören z. B. die Definition von Abhängigkeiten, das Durchführen von Integritätsprüfungen, die Behandlung von Statusübergängen, das Auslösen von Triggern, das Setzen von Defaultwerten und das automatische Aktualisieren von Objekten. P2plus Business Framework stellt komfortable Möglichkeiten der Ereignisbehandlung zur Verfügung. Ein Ereignis tritt z. B. ein, wenn ein Objekt verändert wird. Durch Konfiguration kann festgelegt werden, wie auf das Ereignis reagiert werden soll. Möglich ist z. B. die Protokollierung der Änderung, das Starten eines Workflows, das Versenden einer E-Mail oder der Aufruf einer beliebigen anderen Funktionalität. Dabei können auch Filter verwendet werden. Das Verhalten der Business-Objekte lässt sich somit weitgehend durch Konfiguration, d. h. ohne Programmieraufwand, beeinflussen. P2plus Business Framework kann auf einem physikalischen Rechner mehrfach installiert werden. Greifen mehrere Applikationsserver auf dieselbe Datenbank zu, synchronisieren die Applikationsserver ihre Datencaches automatisch. Seite 20 von 24 AP Automation + Productivity AG P2plus Business Framework stellt umfangreiche Debug-Möglichkeiten für eigenen oder mitgelieferten Source-Code zur Verfügung. Bei Bedarf wird ein umfangreiches Logfile erzeugt und flexibel aufbereitet. Die SOAP-Kommunikation kann protokolliert werden. Wichtige Meldungen werden, wenn gewünscht durch Kategorien gefiltert, in die Ereignisanzeige geschrieben werden. P2plus Business Framework unterstützt Microsoft Active Directory und Microsoft Exchange. Der Zugriff auf Active Directory erfolgt sehr komfortabel; Benutzernamen lassen sich über Active Directory mit einem Alias versehen, Stammdaten können automatisch mit Active Directory synchronisiert werden. Microsoft Exchange kann als Mailserver, Document Management System und Workflow Engine eingesetzt werden. Datenhaltung in P2 plus In der Datenhaltungsschicht werden alle Daten gespeichert, die vom Applikationsserver benutzt und verändert werden. Zu den Komponenten dieser Schicht gehören relationale Datenbanken, das Active Directory, das Web Storage System von Exchange 2000/2003 Server und der Fileserver. Der Datenbankserver entspricht dabei der Server-Schicht in der klassischen Client-Server-Architektur. Auch in der n-tier-Architektur behält der Datenbankserver die Aufgabe, die betriebswirtschaftlichen Daten zu verwalten. SQL Server 2000 – Speicher für relationale Daten P2plus verwendet SQL Server 2000 zur Speicherung relationaler Daten, also Daten, die in Tabellen organisiert werden können. SQL Server 2000 speichert in diesen Datenbanktabellen die Daten und ihre Beziehungen zueinander. SQL Server 2000 kann auch große Datenmengen problemlos verwalten und ist in der Lage, viele gleichzeitige Zugriffe zu verarbeiten. Durch diese Eigenschaft ist er für kleine Firmen mit wenigen Arbeitsplätzen ebenso gut geeignet, wie für umfangreiche Installationen mit einem hohen Datendurchsatz. Der Datenbestand kann mit SQL Server 2000 auch auf mehrere Datenbanken bzw. Rechner verteilt werden. Die verschiedenen Datenbanktabellen werden dann in Partitionen zu logischen Einheiten zusammengestellt. Auf diese Partitionen greift P2plus zu und stellt sie zu benutzerspezifischen Umgebungen zusammen. Diese Datenbankarchitektur erlaubt eine gleichmäßige Auslastung der Server, sodass auch in Hochlastsituationen ein schneller Datenzugriff sichergestellt ist. Ein weiterer Bestandteil von SQL Server 2000 sind die Server Analysis Services. Mit Hilfe dieser Dienste können Sie OLAP-Daten, d. h. Daten der analytischen Online-Verarbeitung, für Analysezwecke organisieren und auswerten. Die Produktivdatenbank ermöglicht die Aufbereitung und Bereitstellung der Daten in einem Data Warehouse etwa zum Einsatz in einem Management-Informationssystem. Die OLAP-Auswertungen werden im Management-Informationssystem von P2plus genutzt. Active Directory – Verwaltung von Benutzerdaten Bei der Datenhaltung organisatorischer Objekte (Personen, Gruppen, Adressen) muss für ein Unternehmen sichergestellt werden, dass diese für viele Applikationen sehr wichtigen Informationen nicht wiederholt gespeichert und gepflegt werden müssen. Um die Benutzerdaten zentral zu verwalten, ist die Windows 2003-Komponente Active Directory (AD) optimal geeignet. Seite 21 von 24 AP Automation + Productivity AG Die Daten werden im AD nicht in Tabellen abgelegt, sondern in hierarchischen Strukturen voneinander abhängiger Objekte. Zu diesen Objekten werden verschiedene Eigenschaften definiert. Welche Eigenschaften für welche Objekte definiert werden können, wird in einem Schema festgelegt. Die Daten des AD können von allen im Netzwerk eingebundenen Komponenten genutzt werden. P2plus verwendet das AD zum Beispiel, um Namen, Adressen und Identifikationen zu verwalten, auf die dann auch andere Software-Komponenten (IIS, SQL Server) zugreifen können (integrierte Sicherheit). Zur Festlegung von Zugriffsrechten auf Dateien und Ordner werden im AD hinterlegte Benutzer und Gruppen herangezogen. Dabei ist es möglich, sich bei der Bildung von Gruppen an die Unternehmensstruktur anzulehnen, und so z. B. einer ganzen Abteilung Rechte zuzuweisen, die auf untergeordneter Gruppen- und Benutzerebene eingeschränkt werden können. Um einen effizienten Zugriff auf die Benutzerdaten aus P2plus heraus zu ermöglichen und um die in P2plus zusätzlich benötigten Merkmale dieser Daten zu speichern, werden sie auch in der P2plusDatenbank gehalten. Die Daten der P2plus-Datenbank und des AD werden über einen Synchronisationsmechanismus miteinander abgeglichen, sodass eine Datenänderung immer auf das jeweils andere System übertragen wird. Damit verringert sich der administrative Aufwand zur Datenpflege erheblich, da z. B. auch Exchange/Outlook auf diese synchronisierten Daten zugreift. File Server – Ablage von Dokumenten und Dateien Der Fileserver bietet eine Ablagemöglichkeit für Dateien und Dokumente. Damit eignet er sich z. B. als Speicher für P2plus-Seiten in einer angepassten Webstruktur. Der Zugriff auf die einzelnen Webseiten wird über Berechtigungen gesteuert, die festlegen, wer in welcher Form auf eine Datei zugreifen darf. Die Berechtigungen werden den im Active Directory verwalteten Benutzern und Gruppen zugewiesen. Die Internet-Informationsdienste überprüfen diese Berechtigungen und bearbeiten eingehende Anfragen entsprechend. Web Storage System – Informationsspeicher von Exchange Das Web Storage System stellt sowohl den Postfachspeicher für Benutzer als auch einen Speicher für öffentliche Ordner dar. In diesen öffentlichen Ordnern können Dateien und Dokumente abgelegt werden, die in einem Workflow überwacht werden sollen oder einem Dokumentenmanagement unterliegen. Mit dem Web Storage System können Dokumente in einer definierten Struktur im ursprünglichen Dateiformat verwaltet werden. In vielen Beziehungen können die im Web Storage System gespeicherten Dokumente aber auch ähnlich wie Datensätze einer Datenbank behandelt werden. Das betrifft vor allem die Möglichkeiten des Zugriffs und der Abfrage. Durch diese Gemeinsamkeiten zwischen einer relationalen Datenbank und dem Web Storage System können Datensätze und dazugehörige Dokumente durch eine gemeinsame Anfrage aufgerufen werden. Kommunikation mit der Datenhaltungsschicht Zur Kommunikation mit der Datenhaltungsschicht werden die standardisierten Wege genutzt, die für den Zugriff auf die verschiedenen Datenquellen geeignet sind. Auf Datenbankinhalte und Dokumente wird über ActiveX Data Objects (ADO.NET) zugegriffen. ADO.NET ist die Definition einer Schnittstelle, die den Zugriff auf OLE-Datenbanken oder ODBCDatenquellen zulässt. ADO.NET stellt mit seinen Objekten Eigenschaften und Methoden zur Verfügung, die die Bearbeitung der Datenbankdaten ermöglichen. So wird z. B. ADO.NET für lesende Seite 22 von 24 AP Automation + Productivity AG Datenbankzugriffe des Webservers genutzt, um Datenbankdaten direkt auf P2plus-Seiten zur Tabellendarstellung zu übertragen. Neben ADO.NET werden auch die Protokolle LDAP und SMTP zur Kommunikation mit den Komponenten der Datenhaltungsschicht verwendet. Das Lightweight Directory Access Protocol (LDAP) definiert den Zugriff auf Verzeichnisdienste. In P2plus wird LDAP zur Kommunikation mit dem Active Directory eingesetzt. Sowohl die Interaktion mit dem Client als auch die Kommunikation der Domänencontroller untereinander basiert auf diesem Protokoll. LDAP setzt direkt auf TCP auf, sodass eine gute Performance sichergestellt ist. Über LDAP kann das Active Directory mit beliebigen Applikationen oder Verzeichnissen Informationen austauschen, sofern diese LDAP unterstützen. Das Simple Mail Transfer Protocol (SMTP) ist das Standard-Übertragungsprotokoll für den Austausch von E-Mails im Internet. SMTP legt fest, wie zwei Mail-Systeme interagieren und wie die Steuermeldungen zu diesem Zweck aussehen müssen. Skalierbarkeit und Anpassung von P2 plus Skalierbarkeit Ein wichtiger Aspekt bei der Installation eines neuen Systems ist die Skalierbarkeit in Abhängigkeit von den Gegebenheiten und Erfordernissen des Unternehmens. Dabei ist die Serverlandschaft genauso zu berücksichtigen wie die unterschiedliche Auslastung der einzelnen Komponenten. Alle Komponenten von P2plus sind für die Ausführung mehrerer gleichzeitiger Anfragen ausgelegt und damit skalierbar. So kann eine hohe Zahl an Client-Verbindungen pro Server abgearbeitet werden, weil auf einer Maschine mehrere Prozesse parallel laufen können. Durch die Aufteilung der Funktionalitäten von P2plus auf die einzelnen Schichten und Komponenten ist es sowohl möglich, alle Komponenten auf einem Rechner zu installieren, als auch die Last auf mehrere Rechner zu verteilen. So können zum Beispiel die P2plus Web Services und die InternetInformationsdienste auf verschiedenen Rechnern installiert sein, wenn beide in einer gemeinsamen Umgebung zusammengefasst werden. Einzelne Serverkomponenten können bei Bedarf auch über mehrere Rechner verteilt betrieben werden. Dies gilt sowohl für den Webserver als auch für den Fileserver und den SQL Server. Wenn sie als Exchange Server den Enterprise Server einsetzen, so ist auch hier ein Betrieb in einer verteilten Konfiguration über mehrere Rechner möglich. Alle Serverkomponenten von P2plus basieren auf Windows 2000/2003 Server. Da dieses Betriebssystem bereits hervorragend für die Skalierung mit zunehmender Prozessorzahl ausgelegt ist, liefert es die Grundlage, auf der für fast alle Leistungsanforderungen eine optimale und performante Infrastruktur geschaffen werden kann. Anpassung der Software Bei der Entwicklung von P2plus spielt die Möglichkeit, die Software den spezifischen Gegebenheiten des Kunden anpassen zu können, eine entscheidende Rolle. Auch der Kunde selbst soll Anpassungen vornehmen können. Dazu wurden Oberflächenwerkzeuge entwickelt, mit denen Anpassungen der P2plus–Seiten direkt im Browser und ohne zusätzliche, komplizierte Werkzeuge möglich sind. Damit können die verschiedenen Bausteine, aus denen sich die P2plus–Oberfläche zusammensetzt, auf einfache Weise neu angeordnet und Inhalte ausgetauscht werden. Die Möglichkeiten erstrecken sich Seite 23 von 24 AP Automation + Productivity AG vom Einfügen einfacher Textbereiche über die Implementierung komplexer HTML-Elemente bis zum Einfügen von Merkmalen aus Datenbanktabellen. Veränderungen in der Programmierung und in komplexeren HTML-Masken hingegen erfordern professionelle Entwicklungswerkzeuge. Diese stehen mit Visual Studio .NET zur Verfügung und ermöglichen Anpassungen auf den verschiedenen Ebenen. Mit Auslieferung von P2plus wird dem Kunden optional der Source Code der Applikation zur Verfügung gestellt, sodass die durch spezifische Anforderungen erforderlichen Änderungen direkt im Code umgesetzt werden können. Die AP Automation + Productivity AG stellt ihren Kunden eine umfangreiche technische Dokumentation und ein breites Schulungsangebot zur Verfügung, das sie in die Lage versetzt, weitreichende Anpassungen selbst vorzunehmen. Um eine optimale Betreuung der individualisierten Installationen der Kunden gewährleisten zu können, werden für P2plus über virtuelle private Netzwerke (VPN) oder ISDN Fernwartungszugänge zu den Netzwerken der Kunden eingerichtet. Ein solcher Zugang ermöglicht es dem Support-Mitarbeiter, sich direkt mit dem Netzwerk eines Kunden zu verbinden, um ihn z. B bei Wartungsaufgaben, beim Durchführen spezifischer Anpassungen, beim Aktualisieren angepasster Installationen oder bei Problemdiagnosen zu unterstützen. Seite 24 von 24