Performance Whitepaper - combit GmbH

Performance Whitepaper - combit GmbH Performance Whitepaper - combit GmbH

02.11.2013 Aufrufe

combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Performance Whitepaper Copyright combit GmbH, Alle Rechte vorbehalten.

<strong>combit</strong> <strong>GmbH</strong><br />

Untere Laube 30<br />

78462 Konstanz<br />

<strong>Whitepaper</strong><br />

Produkt: <strong>combit</strong> Relationship Manager<br />

<strong>Performance</strong> <strong>Whitepaper</strong><br />

Copyright <strong>combit</strong> <strong>GmbH</strong>, Alle Rechte vorbehalten.


Produkt: <strong>combit</strong> Relationship Manager<br />

<strong>Performance</strong> <strong>Whitepaper</strong> - 2 -<br />

Inhalt<br />

Einleitung 4<br />

Client- und serverseitige Einstellungen 4<br />

Netzwerk-Anbieterreihenfolge 4<br />

Deaktivieren von IPv6 4<br />

Datenbankverbindung über die Server-IP-Adresse 5<br />

TCP/IP vs. Named Pipes 6<br />

TCP Auto-Tuning-Protokoll/RSS 7<br />

Firewall 7<br />

Virenscanner 8<br />

Transaktionsprotokoll/Wartungspläne 8<br />

Treiber 8<br />

Hardware 8<br />

Solution-seitige Einstellungen 8<br />

Indizes 8<br />

Primärschlüssel 9<br />

Fremdschlüssel 9<br />

Relationen 9<br />

Eingabemaske/Übersichtsliste 10<br />

Scripting 11<br />

Häufige Filter 11<br />

Checkliste 12<br />

Copyright <strong>combit</strong> <strong>GmbH</strong>, Alle Rechte vorbehalten.


Produkt: <strong>combit</strong> Relationship Manager<br />

<strong>Performance</strong> <strong>Whitepaper</strong> - 3 -<br />

Einleitung<br />

Insbesondere bei der u.a. IT-Infrastruktur kann es zu erheblichen <strong>Performance</strong>-Einbußen bei der Arbeit mit dem <strong>combit</strong><br />

Relationship Manager kommen. Dieses <strong>Whitepaper</strong> soll Ihnen helfen die Systemeinstellungen zu überprüfen, ggf. zu<br />

korrigieren oder zu ändern und somit eine erste eigene Problemanalyse/-behebung durchführen zu können.<br />

Windows Vista/Windows 7 Clients<br />

Windows Server 2003<br />

Firewall (client-/serverseitig)<br />

Anti-Virenscanner (client-/serverseitig)<br />

Client- und serverseitige Einstellungen<br />

Netzwerk-Anbieterreihenfolge<br />

In der Auswertungsreihenfolge der Netzwerkanbieter der Netzwerkkarte sollte das "Microsoft Windows-Netzwerk" als<br />

Erstes ausgewertet werden. Den Einstellungsdialog erreicht man über:<br />

Netzwerk- und Freigabecenter > Adaptereinstellungen ändern > Erweitert (falls Menüleiste ausgeblendet, "Alt"-Taste<br />

betätigen) > Erweiterte Einstellungen > Anbieterreihenfolge<br />

Deaktivieren von IPv6<br />

Bei der Kommunikation zwischen "älteren" Windows-Servern und "neueren" Windows-Clients kann es zu Engpässen bzgl.<br />

des verwendeten IP-Protokolls kommen. Das IPv6-Protokoll sollte daher deaktiviert werden. Dies muss in den<br />

Einstellungen der LAN-Verbindungen erfolgen:<br />

Copyright <strong>combit</strong> <strong>GmbH</strong>, Alle Rechte vorbehalten.


Produkt: <strong>combit</strong> Relationship Manager<br />

<strong>Performance</strong> <strong>Whitepaper</strong> - 4 -<br />

Datenbankverbindung über die Server-IP-Adresse<br />

Bei dieser Systemkonstellation kann es auch zu Problemen bei der DNS-Auflösung kommen. Folglich kann die<br />

Datenbankanbindung im cRM über den Servernamen zu Problemen führen. Abhilfe verschafft hier die Verwendung der<br />

Server-IP anstatt des Servernamen. Diese Änderung kann über die cRM Projekt-Menüleiste und die Menüpunkte<br />

"Konfigurieren > Datenbank > Datenbankverbindung" vorgenommen werden:<br />

TCP/IP vs. Named Pipes<br />

Copyright <strong>combit</strong> <strong>GmbH</strong>, Alle Rechte vorbehalten.


Produkt: <strong>combit</strong> Relationship Manager<br />

<strong>Performance</strong> <strong>Whitepaper</strong> - 5 -<br />

Die Verbindung bzw. die Kommunikation der Clients mit dem SQL-Server erfolgt über ein einziges Protokoll. Hierbei kann<br />

es ebenfalls zu Verzögerungen kommen, wenn der Server einem Protokoll lauscht, welches der Client jedoch erst in<br />

Erfahrung bringen muss. Hier lässt sich ebenfalls die Auswertungsreihenfolge ändern und das verwendete Protokoll somit<br />

priorisieren. In diesen Dialog gelangen Sie folgendermaßen:<br />

Client (ohne SQL-Tools)<br />

"Start > Alle Programme > Verwaltung > Computerverwaltung > Dienste und Anwendungen > SQL Server-<br />

Konfigurations-Manager > SQL Native Client (10.0)-Konfiguration > Clientprotokolle"<br />

Server/Client mit SQL-Tools<br />

"Start > Alle Programme > MS SQL Server 2008 (R2) > Konfigurationstools > SQL-Server-Konfigurations-Manager > SQL<br />

Native Client (10.0)-Konfiguration > Clientprotokolle"<br />

Zu beachten sind die folgenden Hinweise von Microsoft:<br />

TCP/IP<br />

TCP/IP ist ein Protokoll, das im Internet häufig verwendet wird. Es kommuniziert über untereinander verbundene Computernetzwerke<br />

mit unterschiedlichen Hardwarearchitekturen und verschiedenen Betriebssystemen. TCP/IP schließt Standards zum Weiterleiten von<br />

Netzwerkverkehr ein und bietet erweiterte Sicherheitsfunktionen. Es ist das heute in der Geschäftswelt am häufigsten verwendete<br />

Protokoll. Das Konfigurieren des Computers für die Verwendung von TCP/IP kann ein komplexer Vorgang sein, allerdings sind die<br />

meisten Netzwerkcomputer bereits ordnungsgemäß konfiguriert. Weitere Informationen zum Konfigurieren der TCP/IP-Einstellungen,<br />

die nicht im SQL Server-Konfigurations-Manager verfügbar sind, finden Sie in der Microsoft Windows-Dokumentation.<br />

Named Pipes<br />

Named Pipes ist ein Protokoll, das für lokale Netzwerke entwickelt wurde. Ein Teil des Arbeitsspeichers wird von einem Vorgang zum<br />

Weiterleiten von Informationen an einen anderen Vorgang verwendet, sodass die Ausgabe des einen Vorgangs der Eingabe des<br />

anderen entspricht. Der zweite Prozess kann ein lokaler (auf demselben Computer wie der erste) oder ein Remoteprozess (auf einem<br />

Computer im Netzwerk) sein.<br />

Named Pipes im Vergleich zu TCP/IP-Sockets<br />

In einer schnellen LAN-Umgebung (Local Area Network) sind TCP/IP-Sockets (Transmission Control Protocol/Internet Protocol) und<br />

Named Pipes-Clients hinsichtlich der Leistung vergleichbar. Der Leistungsunterschied zwischen TCP/IP-Sockets und Named Pipes-Clients<br />

wird jedoch in langsameren Netzwerken, wie z. B. WANs oder Einwählverbindungen, deutlich. Ursache hierfür sind die Unterschiede in<br />

der prozessübergreifenden Kommunikation (Interprocess Communication, IPC) zwischen Peers.<br />

Für Named Pipes ist die Netzwerkkommunikation normalerweise überwiegend interaktiv. Ein Peer sendet keine Daten, bevor ein anderer<br />

Peer sie mithilfe eines Lesebefehls anfordert. Zu einem Netzwerklesevorgang gehört normalerweise vor Beginn des Lesens der Daten<br />

das kurze Einsehen zahlreicher Named Pipes-Nachrichten. Dies kann in einem langsamen Netzwerk sehr teuer sein und<br />

übermäßigen Netzwerkverkehr verursachen, was sich wiederum auf andere Netzwerkclients auswirkt.<br />

Darüber hinaus sollte geklärt werden, ob die Kommunikation über lokale Pipes oder Netzwerkpipes stattfindet. Wenn die<br />

Serveranwendung lokal auf dem Computer mit einer Instanz von SQL Server ausgeführt wird, bietet sich das Verwenden des lokalen<br />

Named Pipes-Protokolls an. Lokale Named Pipes-Protokolle werden im Kernelmodus ausgeführt und sind sehr schnell.<br />

Für TCP/IP-Sockets sind Datenübertragungen geradliniger und mit weniger Verwaltungsaufwand verbunden. Datenübertragungen<br />

können auch von Mechanismen zur TCP/IP-Socketleistungserweiterung, wie beispielsweise Windowing, verzögerten Bestätigungen usw.<br />

profitieren. Dies kann in einem langsamen Netzwerk sehr hilfreich sein. Abhängig vom Anwendungstyp können diese<br />

Leistungsunterschiede sehr deutlich sein.<br />

TCP/IP-Sockets unterstützen zudem eine Backlogwarteschlange. Dadurch kann im Vergleich zu Named Pipes, die aufgrund von<br />

ausgelasteten Pipes zu Fehlern beim Verbindungsversuch mit SQL Server führen können, ein begrenzter Glättungseffekt erreicht<br />

werden.<br />

Im Allgemeinen wird TCP/IP in einem langsamen LAN, WAN oder DFÜ-Netzwerk bevorzugt. Wenn die<br />

Netzwerkgeschwindigkeit keine Rolle spielt, stellen Named Pipes hingegen häufig die bessere Wahl dar, da sie mehr Funktionalität,<br />

größere Benutzerfreundlichkeit und mehr Konfigurationsoptionen bieten.<br />

Aktivieren des Protokolls<br />

Das Protokoll muss sowohl auf dem Client als auch dem Server aktiviert sein. Der Server kann gleichzeitig auf alle aktivierten<br />

Protokolle auf Anforderungen lauschen. Clientcomputer können ein Protokoll auswählen oder das Verwenden der Protokolle in der<br />

Reihenfolge versuchen, wie sie im SQL Server-Konfigurations-Manager angegeben sind.<br />

Copyright <strong>combit</strong> <strong>GmbH</strong>, Alle Rechte vorbehalten.


Produkt: <strong>combit</strong> Relationship Manager<br />

<strong>Performance</strong> <strong>Whitepaper</strong> - 6 -<br />

[Microsoft, http://technet.microsoft.com/de-de/library/ms187892.aspx]<br />

TCP Auto-Tuning-Protokoll/RSS<br />

Mit dem Betriebssystem Windows Vista hat Microsoft das sogenannte "TCP Auto-Tuning-Protokoll"<br />

eingeführt. Dieses Protokoll handelt die Fenstergröße für die zwischen Server und Client auszutauschenden<br />

Pakete aus, d.h. der Netzwerk-Verkehr wird durch dieses Protokoll ständig überwacht und wirkt sich somit<br />

auch auf die Geschwindigkeit z.B. beim Löschen, Kopieren oder Verschieben von Dateien im Netzwerk aus.<br />

Dieses Protokoll lässt sich über die Kommandozeile deaktivieren. Diese muss hierfür unbedingt "Als<br />

Administrator" ausgeführt werden. Desweiteren empfiehlt es sich, die RSS-Funktionalität zu deaktivieren<br />

(Receive Side Scaling), da diese ebenfalls einen Falschenhals im Zusammenspiel von Multi-Core-Prozessoren<br />

und Single-CPU-Services bildet. Der Befehl zur Deaktivierung lautet wie folgt:<br />

netsh interface tcp set global autotuninglevel=disabled<br />

netsh interface tcp set global rss=disabled<br />

Firewall<br />

Die Microsoft Windows Firewall verhindert nicht autorisierte Zugriffe auf den Computer. Dies kann dazu<br />

führen, dass möglicherweise auch Verbindungsversuche von cRM Clients auf die auf diesem Computer<br />

laufende Microsoft SQL Server Instanz blockiert werden. Der Effekt kann eine lange Wartezeit oder sogar<br />

eine "Timeout"-Fehlermeldung beim Starten des cRM sein.<br />

Der erste nachfolgende Knowledge Base-Artikel von Microsoft beschreibt, wie bei der Firewall des Windows<br />

Server 2008 die für den Microsoft SQL Server notwendigen Verbindungen geöffnet/eingestellt werden.<br />

Der zweite Artikel beschreibt allgemein die für den Microsoft SQL Server 2008 benötigten Ports und die<br />

vorzunehmenden Einstellungen für unterschiedliche Microsoft Windows Systeme.<br />

http://support.microsoft.com/kb/968872<br />

http://msdn.microsoft.com/en-us/library/cc646023.aspx<br />

Virenscanner<br />

Insbesondere beim Programmstart aber auch beim Verwenden von Script-Dateien (ggf. hinter Schaltflächen<br />

der Eingabemaske verborgen) können aktive Virenscanner zu einem Leistungsverlust führen, da jeder<br />

Dateizugriff geprüft wird. Erfahrungen aus der Praxis zeigen, dass es oftmals ausreichend ist, wenn die cRM-<br />

Arbeits- und Installationsverzeichnisse von einem permanenten Scan des Virenscanner ausgeschlossen<br />

werden. Dies kann sowohl auf dem Client als auch auf dem Server der Fall sein.<br />

Transaktionsprotokoll/Wartungspläne<br />

In einem Transaktionsprotokoll werden die Details aller Änderungen an der SQL Server-Datenbank<br />

gespeichert. Das Transaktionsprotokoll der Datenbank sollte nicht unerwartet groß sein bzw. es sollte ein<br />

Copyright <strong>combit</strong> <strong>GmbH</strong>, Alle Rechte vorbehalten.


Produkt: <strong>combit</strong> Relationship Manager<br />

<strong>Performance</strong> <strong>Whitepaper</strong> - 7 -<br />

entsprechender Wartungsplan für die Verkleinerung der Datenbank eingerichtet sein (Transaktionsprotokoll<br />

wird ebenfalls bei einer entsprechend eingerichteten Datenbanksicherung verkleinert).<br />

Weiterführende Informationen dazu finden Sie in der Microsoft Knowledgebase:<br />

http://support.microsoft.com/?kbid=873235<br />

Bitte beachten: Für Wartungspläne sind SQL Server Agent und SSIS erforderlich, die von SQL Server<br />

Express nicht unterstützt werden. Hier bietet sich ein SQL-Script + sqlcmd.exe und ein geplanter Task an.<br />

Die Vorgehensweise ist z.B. hier beschrieben: http://www.mssqltips.com/tip.asp?tip=1174<br />

Treiber<br />

Achten Sie darauf, dass die verwendeten Treiber für die Netzwerk- und Grafikkarte aktuell und für das<br />

Betriebssystem freigegeben sind.<br />

Hardware<br />

Achten Sie darauf, dass Server und Client die Mindestvoraussetzungen für den Einsatz des cRM erfüllen.<br />

Weitere Informationen dazu befinden sich im cRM-Handbuch.<br />

Überprüfen Sie, ob Ihr Server genügend Arbeitsspeicher und einen ausreichend schnellen Prozessor hat. Der<br />

Einsatz von RAID Systemen bzw. Multiprozessor Servern kann ebenfalls die Arbeitsgeschwindigkeit erhöhen.<br />

Solution-seitige Einstellungen<br />

Indizes<br />

Ein Index enthält Schlüssel, die aus einer oder mehreren Spalten in der Tabelle oder Sicht erstellt werden.<br />

Durch das Erstellen gut durchdachter Indizes können Sie die Leistung von Datenbankabfragen und<br />

Anwendungen erheblich steigern. Zum Erstellen eines Index klicken Sie im Objekt-Explorer im MS SQL Server<br />

mit der rechten Maustaste auf den Ordner "Indizes" unterhalb einer Tabelle, und wählen Sie dann im<br />

Kontextmenü "Neuer Index" aus. Alternativ erstellen Sie eine Sortierung im cRM.<br />

Verwenden Sie explizite Indizes Ihres Datenbanksystems (nicht zu verwechseln mit den Sortierkriterien im<br />

cRM!) für folgende Spalten: die Primärschlüsselspalte, wichtige Spalten nach denen immer wieder sortiert<br />

wird (erledigt der cRM nur unter MS SQL Server automatisch!) und in denen häufig gesucht oder gefiltert<br />

wird sowie für alle Fremdschlüsselspalten, denn über diese werden Relationen aufgelöst. Es handelt sich<br />

dabei um Spalten, die IDs auf fremde Tabellen enthalten, wie bspw. in Verknüpfungsansichten bei n:m<br />

Relationen und in 1:n Ansichten.<br />

Primärschlüssel<br />

Das Primärschlüsselfeld der Datenbank sollte als cRM interner Feldtyp "Datensatz-ID" gekennzeichnet sein.<br />

Dies hat zur Folge, dass automatisch ein Index auf dieses Feld angelegt wird. Ansonsten gilt: Verwenden Sie<br />

für das Primärschlüsselfeld zur Optimierung der Arbeitsgeschwindigkeit explizite Indizes Ihres<br />

Datenbanksystems.<br />

Fremdschlüssel<br />

Auf Fremdschlüsselspalten sollten unbedingt Indizes aufgebaut werden. Über diese Spalten werden<br />

Relationen aufgelöst. Es handelt sich hierbei um Spalten, die IDs auf fremde Tabellen enthalten, wie bspw.<br />

in Verknüpfungsansichten bei n:m-Relationen und in 1:n Ansichten.<br />

Copyright <strong>combit</strong> <strong>GmbH</strong>, Alle Rechte vorbehalten.


Produkt: <strong>combit</strong> Relationship Manager<br />

<strong>Performance</strong> <strong>Whitepaper</strong> - 8 -<br />

Ein Beispiel hierfür wäre in einer Tabelle "Contacts" die Spalte "CompanyID", welche neben dem<br />

Primärschlüsselfeld "ContactID", die Relation zur "Company" herstellt.<br />

Relationen<br />

Überprüfen Sie alle Relationen auf Ihre tatsächliche Notwendigkeit, da der cRM diese Relationen überall<br />

rekursiv auflöst und somit die Arbeitsgeschwindigkeit auch maßgeblich von ihnen abhängt. Unnötige<br />

Relationen sollten deshalb entfernt werden, dies gilt bspw. für nicht benötigte 1:1 "Rückrelationen" von 1:n<br />

verknüpften Ansichten. Ein Beispiel hierfür wäre eine Darstellung von Daten von Firmen und Kontakten<br />

(Ansprechpartner) innerhalb einer Ansicht.<br />

Eine Auflistung aller Ansichten mit Anzahl der 1:1 Relationen finden Sie im Support-Dialog des cRM. Diesen<br />

Dialog können Sie über "? > Über... > Support Informationen" aufrufen.<br />

Eingabemaske/Übersichtsliste<br />

Versuchen Sie die Anzahl der Felder pro Datenbank-Tabelle niedrig zu halten. 75 Felder pro Tabelle sollten<br />

hier als Maximal-Richtwert verwendet werden.<br />

Jedes auf der aktuellen Eingabemaskenseite platzierte 1:1 Feld verursacht zusätzliche Datenbankabfragen,<br />

welche Bandbreite und <strong>Performance</strong> in Anspruch nehmen. Noch deutlicher wird die Auswirkung bei einer<br />

Verwendung als Spalte in Übersichtslisten und Containern, da dann diese Abfragen nicht nur für den<br />

aktuellen Datensatz sondern für alle darin dargestellten Datensätze bei jeder Fensteraktualisierung neu<br />

durchgeführt werden.<br />

Ein besonderes Augenmerk sollten Sie auf berechnete Felder und auf 1:1-Relationen auf Datenbanksichten<br />

haben, welche Berechnungen (möglichweise sogar über einen Verbindungsserver auf einem anderen<br />

Datenbankserver) durchführen. Hier können sich je nach Server-Leistung und wachsender Datenmenge<br />

deutliche Auswirkungen auf die <strong>Performance</strong> einstellen. Insbesondere bei Verbindungsservern kann sich eine<br />

<strong>Performance</strong>einbuße allein bereits durch das Anlegen einer derartigen 1:1-Relation bemerkbar machen, also<br />

auch wenn deren Feld selbst nicht in Übersichtsliste, Container oder Eingabemaske angezeigt werden.<br />

Copyright <strong>combit</strong> <strong>GmbH</strong>, Alle Rechte vorbehalten.


Produkt: <strong>combit</strong> Relationship Manager<br />

<strong>Performance</strong> <strong>Whitepaper</strong> - 9 -<br />

Dies wirkt sich beim Öffnen der Ansicht aber insbesondere beim Blättern durch die Datensätze sowie beim<br />

Umschalten der Eingabemaskenseite aus. Berücksichtigen Sie dies daher, wenn Sie viele solcher 1:1 Felder<br />

vor allem aus unterschiedlichen Relationen platzieren möchten.<br />

Blenden Sie in den Listenansichten (Containern) nicht benötigte Spalten komplett aus. In der Übersichtsliste<br />

ist dies vor allem für Dateiverweise zu empfehlen, da ansonsten beim Aufbau der Listenansicht jeder<br />

einzelne Verweis auf Verfügbarkeit geprüft wird.<br />

Verwenden Sie möglichst kurze Spaltentitel in den Listenansichten (Containern). Bei Relationen verwendet<br />

der cRM in der Grundeinstellung lange Namen wie z.B. FirmenID.Firmen.ID.Firma. Diese lassen sich über das<br />

Kontextmenü > Konfiguration > Spaltentitel im Nachhinein ändern.<br />

Scripting<br />

In Scripten sollte nicht mit den Methoden "CurrentRecord" bzw. "CurrentRecordBuffered" gearbeitet werden.<br />

Stattdessen empfiehlt sich die Verwendung von "CurrentRecordSynchronized". Da bei dieser Methode das<br />

komplette Puffern von Feldinhalten entfällt, ist dies die empfohlene Methode, um auf Feldinhalte von<br />

Datensätzen zuzugreifen. Desweiteren sollten Scripte nicht anhand der Methode "RecCount" prüfen, ob ein<br />

Filter ein Ergebnis hat, sondern mit dem Rückgabewert des ersten "MoveNext" nach Filteranwendung<br />

arbeiten. Im Anhang der Programmierer-Referenz (SDK-Dokumentation) befindet sich ein Beispiel<br />

diesbezüglich.<br />

Häufige Filter<br />

Wenn häufig mit Filtern gearbeitet wird, dann sollten die verwendeten Filter nicht auf Feldern vom cRM<br />

internen Feldtyp "Zeichen lang" (phys.: text, ntext, varchar(max), nvarchar(max)) basieren. Dies führt bei<br />

steigender Datensatz-Anzahl zu einer Verlangsamung der Filter-Ausführung. Die Informationen, nach<br />

welchen gesucht wird, sollten daher konzeptionell besser in einem anderen Feld(-typ) – ggf. zusätzlich –<br />

hinterlegt werden.<br />

Copyright <strong>combit</strong> <strong>GmbH</strong>, Alle Rechte vorbehalten.


Produkt: <strong>combit</strong> Relationship Manager<br />

<strong>Performance</strong> <strong>Whitepaper</strong> - 10 -<br />

Checkliste<br />

Kapitel Geprüft am von<br />

Netzwerk-Anbieterreihenfolge<br />

Bemerkung:<br />

IPv6 deaktiviert<br />

Bemerkung:<br />

Datenbankverbindung<br />

Bemerkung:<br />

TCP/IP – Named Pipes<br />

Bemerkung:<br />

TCP Auto-Tuning-Protokoll/RSS<br />

Bemerkung:<br />

Firewall<br />

Bemerkung:<br />

Virenscanner<br />

Bemerkung:<br />

Transaktionsprotokoll/Wartungsplan<br />

Bemerkung:<br />

Treiber<br />

Bemerkung:<br />

Hardware<br />

Bemerkung:<br />

Copyright <strong>combit</strong> <strong>GmbH</strong>, Alle Rechte vorbehalten.


Produkt: <strong>combit</strong> Relationship Manager<br />

<strong>Performance</strong> <strong>Whitepaper</strong> - 11 -<br />

Kapitel Geprüft am von<br />

Indizes<br />

Bemerkung:<br />

Primärschlüssel<br />

Bemerkung:<br />

Fremdschlüssel<br />

Bemerkung:<br />

Relationen<br />

Bemerkung:<br />

Eingabemaske/Übersichtsliste<br />

Bemerkung:<br />

Scripting<br />

Bemerkung:<br />

Häufige Filter<br />

Bemerkung:<br />

Hinweis: <strong>combit</strong> macht keine Angaben zu einer bestimmten Eignung obiger Informationen. Irrtümer und Fehler bleiben ausdrücklich<br />

vorbehalten, die Angaben erfolgen ohne Gewähr und enthalten keine Zusicherung. Die Informationen können z.T. auch ein Versuch<br />

sein, Ihnen bei einer Aufgabenstellung zu helfen, selbst wenn das Produkt eigentlich nicht für diesen speziellen Zweck vorgesehen<br />

wurde.<br />

Copyright <strong>combit</strong> <strong>GmbH</strong>, Alle Rechte vorbehalten.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!