Xpages Anwendungen lassen sich recht leicht per Drag & Drop und ein wenig Code erstellen. In den meisten Fällen reicht dies auch aus, wenn es um die Arbeit mit wenig Datensätzen geht und die Anwendung selber nicht sonderlich kompliziert ist. Dringt man aber tiefer in die Programmierung ein, so wird man nicht selten mit Performanceproblemen konfrontiert.
Die Session zeigt auf, wo in einer Anwendung ( und auch ausserhalb ) die Performancefresser stecken und wie man diesen auf die Schliche kommt. Die Installation des OpenNTF Xpages Toolkit und die Anwendung der Toolbox werden an einem praktischen Beispiel erläutert. Dabei wird aus einer anfänglich nicht performanten Anwendung Schritt für Schritt eine performante Applikation.
Agenda:
Performance, was kann bremsen ?
Java vs. JavaScript
Daten vorbereiten, ViewNavigator vs. GetNextDocument
Stringbuilder vs. Concat
Phase Listener
Partial Refresh / Partial Execute
Variable resolver
Diverse In-Memory-Technologien sind bereits seit langer Zeit verfügbar, wie z.B. Result Caches, verschiedene Buffer Caches, Pre-Loading von Objekten etc. Die aktuellste Oracle12c-Version geht jedoch einen großen Schritt weiter. Ohne Änderungen werden SQL-Abfragen um Faktoren beschleunigt; die Grundlage für Real-Time Analysen ist damit gelegt. Wie die einzelnen Techniken funktionieren und mit welchem geríngem Aufwand sie konfiguriert werden, wird erklärt.
Ein Blick in die Kristallkugel mit dem Ziel spannende und relevante Online-Trends für das Jahr 2005 hervorzusagen. Auf der Liste sind:
- Open Source / Free Software
- WebAnalytics
- Compression
- VoIP
- Rich Thin Clients
- WiFi/WiMax
- SOA (Service-oriented architecture)
- Flash Streaming
- DAISY
- Folksonomy
Diese Präsentation gibt eine Einführung in die neuen Features der Oracle Datenbank 12c. Neben der neuen Datenbankoption Multitenant, werden die wichtigsten Erweiterungen in den Bereichen Information Lifecycle Management, Datensicherheit und Hochverfügbarkeit vorgestellt.
Einige ausgewählte Oracle PL/SQL Packages aus Version 11g und 12c werden kurz beschrieben und an Beispielen erklärt. In Teil 1 handelt es sich dabei um folgende Packages:
DBMS_XDB_CONFIG
DBMS_COMPRESSION
DBMS_REDEFINITION
DBMS_SQL_MONITOR
DBMS_PARALLEL_EXECUTE
SQL Server 2016 ist der nächste logische und evolutionäre Schritt in der Entwicklung des SQL Server. In der Roadshow gab Referent Dieter Rüetschi den Teilnehmern die Entscheidungsgrundlage für eine Migration mit auf den Weg.
In der Roadshow wurden die evolutionären Erweiterungen, welche Microsoft SQL Server 2016 bietet, vorgestellt. Dazu gehören die höhere Performance dank verbesserter In-Memory-Leistung, die nächste Generation der Hochverfügbarkeit durch Always On, bessere Skalierbarkeit und erweiterte Reporting-Möglichkeiten. Zudem bietet SQL Server 2016 sowohl lokal wie auch in der Cloud eine einheitliche Umgebung - was das Arbeiten unabhängig davon macht, ob Ihre Daten in Ihrem Rechenzentrum oder in Ihrer Private Cloud sind.
Neben den Erweiterungen gab Dieter Rüetschi auch einen Einblick in die fundamentalen neuen Techniken, welche in SQL Server 2016 eingesetzt werden. Besonders erwähnt seien hier die Advanced Analytics, Query Data Store, und die Always Encrypted Technologie.
Gerne stellen wir Ihnen die Slides der SQL Server 2016 Roadshow zur Verfügung.
Performance-Analyse von Oracle-Datenbanken mit PanoramaPeter Ramm
Panorama ermöglich schnelle Analyse des Betriebsverhaltens von Oracle-DB mit diversen Workflows als Alternative zum manuellen Hantieren mit SQL-Skripten.
Es unterstützt ebenso die detaillierte Analyse zurückliegender Ereignisse plus diverse andere Funktionen, die ich teilweise in anderen etablierten Tools vermisste.
Diverse In-Memory-Technologien sind bereits seit langer Zeit verfügbar, wie z.B. Result Caches, verschiedene Buffer Caches, Pre-Loading von Objekten etc. Die aktuellste Oracle12c-Version geht jedoch einen großen Schritt weiter. Ohne Änderungen werden SQL-Abfragen um Faktoren beschleunigt; die Grundlage für Real-Time Analysen ist damit gelegt. Wie die einzelnen Techniken funktionieren und mit welchem geríngem Aufwand sie konfiguriert werden, wird erklärt.
Ein Blick in die Kristallkugel mit dem Ziel spannende und relevante Online-Trends für das Jahr 2005 hervorzusagen. Auf der Liste sind:
- Open Source / Free Software
- WebAnalytics
- Compression
- VoIP
- Rich Thin Clients
- WiFi/WiMax
- SOA (Service-oriented architecture)
- Flash Streaming
- DAISY
- Folksonomy
Diese Präsentation gibt eine Einführung in die neuen Features der Oracle Datenbank 12c. Neben der neuen Datenbankoption Multitenant, werden die wichtigsten Erweiterungen in den Bereichen Information Lifecycle Management, Datensicherheit und Hochverfügbarkeit vorgestellt.
Einige ausgewählte Oracle PL/SQL Packages aus Version 11g und 12c werden kurz beschrieben und an Beispielen erklärt. In Teil 1 handelt es sich dabei um folgende Packages:
DBMS_XDB_CONFIG
DBMS_COMPRESSION
DBMS_REDEFINITION
DBMS_SQL_MONITOR
DBMS_PARALLEL_EXECUTE
SQL Server 2016 ist der nächste logische und evolutionäre Schritt in der Entwicklung des SQL Server. In der Roadshow gab Referent Dieter Rüetschi den Teilnehmern die Entscheidungsgrundlage für eine Migration mit auf den Weg.
In der Roadshow wurden die evolutionären Erweiterungen, welche Microsoft SQL Server 2016 bietet, vorgestellt. Dazu gehören die höhere Performance dank verbesserter In-Memory-Leistung, die nächste Generation der Hochverfügbarkeit durch Always On, bessere Skalierbarkeit und erweiterte Reporting-Möglichkeiten. Zudem bietet SQL Server 2016 sowohl lokal wie auch in der Cloud eine einheitliche Umgebung - was das Arbeiten unabhängig davon macht, ob Ihre Daten in Ihrem Rechenzentrum oder in Ihrer Private Cloud sind.
Neben den Erweiterungen gab Dieter Rüetschi auch einen Einblick in die fundamentalen neuen Techniken, welche in SQL Server 2016 eingesetzt werden. Besonders erwähnt seien hier die Advanced Analytics, Query Data Store, und die Always Encrypted Technologie.
Gerne stellen wir Ihnen die Slides der SQL Server 2016 Roadshow zur Verfügung.
Performance-Analyse von Oracle-Datenbanken mit PanoramaPeter Ramm
Panorama ermöglich schnelle Analyse des Betriebsverhaltens von Oracle-DB mit diversen Workflows als Alternative zum manuellen Hantieren mit SQL-Skripten.
Es unterstützt ebenso die detaillierte Analyse zurückliegender Ereignisse plus diverse andere Funktionen, die ich teilweise in anderen etablierten Tools vermisste.
Oracle-DB: Panorama-Sampler - Eigenes Workload Repository für PanoramaPeter Ramm
Panorama-Sampler erlaubt die rückwirkende Bewertung von Betriebszuständen der Oracle-DB durch aktive Aufzeichnung der Historie.
Ähnlich dem AWR der Enterprise Edition werden diverse Aspekte protokolliert, inkl. Session- und SQL-Historie.
Rückwirkende Betrachtungen werden somit möglich ohne Lizenzierung des Diagnostics Pack und damit auch nutzbar für Standard Edition.
Oracle-DB: Beeinflussen der Ausführungspläne von SQL-Statements ohne Code-Anp...Peter Ramm
Zur Beeinflussung der Laufzeit von SQL-Statements gibt es diverse Verfahren, Optimierung der SQL-Syntax, Nutzung von Optimizer-Hints etc. .
Diese erfordern aber oftmals ein Ausrollen der geänderten Software mit dem entsprechenden Zeit- und Prozessaufwand bis zur produktiven Aktivierung.
In kritischen Produktions-Szenarien ist oft eine schnellere Lösung von Problemen mit SQL-Ausführung nötig.
Dieser Vortrag demonstriert, mit welchen Verfahren der Oracle-DB sich SQL-Ausführungen auch ohne Ausrollen von Software-Änderungen ad hoc beeinflussen lassen.
Das Tool Panorama erlaubt dabei über GUI die Identifikation der kritischen SQL und Generierung der für ihre schnelle Optimierung nötigen komplexen DB-Kommandos.
Oracle-DB: Active Session History: into the deepPeter Ramm
Die seit Oracle 10g verfügbaren historisierten Zustandsinformationen aktiver DB-Sessions ermöglichen die Rekonstruktion des Betriebsverhaltens der Oracle-DB in kaum vermuteter Detailschärfe.
Der Vortrag demonstriert spezifisch mit dem Fokus active session history die Top-Down-Vorgehensweise in der Analyse zeitlich zurückliegender Performance-Probleme mit dem Ziel, Ursachen zu identifizieren und konkrete Lösungsvorschläge für DBA bzw. Applikationsentwickler zu erarbeiten.
Diese Präsentation zeigt das Oracle Portfolio im Bereich Ausfallsicherheit auf Oracle Datenbankebene. Ich habe sie 2012 erstellt und in verschiedenen Kundenwebcasts gezeigt.
Oracle-DB: Sicheres Identifizieren von nicht relevanten indizesPeter Ramm
Ein äußerst heikles Thema für DBAs und Entwickler ist vielfach das Erkennen und Entfernen von nicht bzw. nicht mehr relevanten Indizes.
Im worst case finden sich in der Praxis über Jahre gewachsene Systeme mit über 50% des Storagebedarfes durch Indizes ohne produktive Relevanz.
Trotzdem wird dieses Potential zur einfachen Reduktion von Storagebedarf und Systemlast regelmäßig nicht genutzt, frei nach "never touch a running system" bzw. "warum soll ich mir hier die Finger verbrennen und dann braucht doch jemand diesen Index".
Die Folien demonstrieren die Vorgehensweise für:
- Ermittlung der in Frage kommenden nicht genutzten Indizes als Kandidaten für die detaillierte Prüfung auf eventuelle Verzichtbarkeit
- sichere Bewertung der Relevanz oder Irrelevanz eines Index für Zugriffsoptimierung, Eindeutigkeit oder Absicherung von Foreign Key Constraints
Tipps und Skripts aus dem Leben eines Connections AdminsKlaus Bild
Gekürzter Vortrag der Connect 2014 Präsentation "BP307 Practical Solutions for Connections Administrators – Tips and Scripts for Your Daily Business" Tipps und Skripts rund um die Connections Installation, Konfiguration, Dokumentation und Troubleshooting. Wir zeigen Skripte die jedem Administrator das Leben erleichtern können. Download der Skripts: http://github.com/stoeps13/ibmcnxscripting
Die JBoss Enterprise Application Platform (und das Upstream Projekt Wildfly aka JBoss AS 7) enthält ausgereifte Technologien um kritische Java EE Anwendungen Hochverfügbar auf Ebene der Middleware zu betreiben. Die enthaltenen Profile sind bereits für kleinere Cluster Topologien entsprechend konfiguriert. Mit dem Domain Mode des Applikationsservers lassen sich mehrere Server Instanzen komfortabel verwalten. Jedoch birgt ein Cluster eine hohe Komplexität, die Detailkenntnisse der grundlegenden Technologien wie JGroups und Infinispan erfordern. Im Vortrag werden die grundlegenden Konzepte beleuchtet und während des Vortrages wird gezeigt wie ein Cluster im Domain Mode mit der Enterprise Application Platform betrieben werden kann.
Der JBoss AS 7 / EAP enthält ausgereifte Technologien um kritische Java EE Anwendungen Hochverfügbar auf Ebene der Middleware zu betreiben. Die enthaltenen Profile sind bereits für kleinere Cluster Topologien entsprechend konfiguriert. Mit dem Domain Mode des Applikationsservers lassen sich mehrere Server Instanzen komfortabel verwalten. Jedoch birgt ein Cluster eine hohe Komplexität, die Detailkenntnisse der grundlegenden Technologien wie JGroups und Infinispan erfordern.
Presented by Ulrich Krause (BCC) @eknori and Howard Greenberg (TLCC) @TLCCLtd at Engage 2014 by BLUG.
There are many factors that affect how fast your XPages applications run, from server configuration to the way the XPage is designed.
In this session you will learn how you can optimize both your application and your server. Explore the JSF Life cycle and how it affects performance.
Discover how using on page load, partial update and partial execution can help. See how readily available tools from OpenNTF can be used to profile and analyze your code to improve the speed of your applications.
Using the right programming language? Choosing the right language can have a dramatic impact on your XPages performance.
After you attend this session you will learn how your XPages can survive and thrive in the fast lane of the autobahn where there are no speed limits!
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...Paul Withers
BP106 From XPages Hero To OSGi Guru: Taking The Scary Out Of Building Extension Libraries. From IBM ConnectED 2015, delivered jointly with Christian Guedemann
Oracle-DB: Panorama-Sampler - Eigenes Workload Repository für PanoramaPeter Ramm
Panorama-Sampler erlaubt die rückwirkende Bewertung von Betriebszuständen der Oracle-DB durch aktive Aufzeichnung der Historie.
Ähnlich dem AWR der Enterprise Edition werden diverse Aspekte protokolliert, inkl. Session- und SQL-Historie.
Rückwirkende Betrachtungen werden somit möglich ohne Lizenzierung des Diagnostics Pack und damit auch nutzbar für Standard Edition.
Oracle-DB: Beeinflussen der Ausführungspläne von SQL-Statements ohne Code-Anp...Peter Ramm
Zur Beeinflussung der Laufzeit von SQL-Statements gibt es diverse Verfahren, Optimierung der SQL-Syntax, Nutzung von Optimizer-Hints etc. .
Diese erfordern aber oftmals ein Ausrollen der geänderten Software mit dem entsprechenden Zeit- und Prozessaufwand bis zur produktiven Aktivierung.
In kritischen Produktions-Szenarien ist oft eine schnellere Lösung von Problemen mit SQL-Ausführung nötig.
Dieser Vortrag demonstriert, mit welchen Verfahren der Oracle-DB sich SQL-Ausführungen auch ohne Ausrollen von Software-Änderungen ad hoc beeinflussen lassen.
Das Tool Panorama erlaubt dabei über GUI die Identifikation der kritischen SQL und Generierung der für ihre schnelle Optimierung nötigen komplexen DB-Kommandos.
Oracle-DB: Active Session History: into the deepPeter Ramm
Die seit Oracle 10g verfügbaren historisierten Zustandsinformationen aktiver DB-Sessions ermöglichen die Rekonstruktion des Betriebsverhaltens der Oracle-DB in kaum vermuteter Detailschärfe.
Der Vortrag demonstriert spezifisch mit dem Fokus active session history die Top-Down-Vorgehensweise in der Analyse zeitlich zurückliegender Performance-Probleme mit dem Ziel, Ursachen zu identifizieren und konkrete Lösungsvorschläge für DBA bzw. Applikationsentwickler zu erarbeiten.
Diese Präsentation zeigt das Oracle Portfolio im Bereich Ausfallsicherheit auf Oracle Datenbankebene. Ich habe sie 2012 erstellt und in verschiedenen Kundenwebcasts gezeigt.
Oracle-DB: Sicheres Identifizieren von nicht relevanten indizesPeter Ramm
Ein äußerst heikles Thema für DBAs und Entwickler ist vielfach das Erkennen und Entfernen von nicht bzw. nicht mehr relevanten Indizes.
Im worst case finden sich in der Praxis über Jahre gewachsene Systeme mit über 50% des Storagebedarfes durch Indizes ohne produktive Relevanz.
Trotzdem wird dieses Potential zur einfachen Reduktion von Storagebedarf und Systemlast regelmäßig nicht genutzt, frei nach "never touch a running system" bzw. "warum soll ich mir hier die Finger verbrennen und dann braucht doch jemand diesen Index".
Die Folien demonstrieren die Vorgehensweise für:
- Ermittlung der in Frage kommenden nicht genutzten Indizes als Kandidaten für die detaillierte Prüfung auf eventuelle Verzichtbarkeit
- sichere Bewertung der Relevanz oder Irrelevanz eines Index für Zugriffsoptimierung, Eindeutigkeit oder Absicherung von Foreign Key Constraints
Tipps und Skripts aus dem Leben eines Connections AdminsKlaus Bild
Gekürzter Vortrag der Connect 2014 Präsentation "BP307 Practical Solutions for Connections Administrators – Tips and Scripts for Your Daily Business" Tipps und Skripts rund um die Connections Installation, Konfiguration, Dokumentation und Troubleshooting. Wir zeigen Skripte die jedem Administrator das Leben erleichtern können. Download der Skripts: http://github.com/stoeps13/ibmcnxscripting
Die JBoss Enterprise Application Platform (und das Upstream Projekt Wildfly aka JBoss AS 7) enthält ausgereifte Technologien um kritische Java EE Anwendungen Hochverfügbar auf Ebene der Middleware zu betreiben. Die enthaltenen Profile sind bereits für kleinere Cluster Topologien entsprechend konfiguriert. Mit dem Domain Mode des Applikationsservers lassen sich mehrere Server Instanzen komfortabel verwalten. Jedoch birgt ein Cluster eine hohe Komplexität, die Detailkenntnisse der grundlegenden Technologien wie JGroups und Infinispan erfordern. Im Vortrag werden die grundlegenden Konzepte beleuchtet und während des Vortrages wird gezeigt wie ein Cluster im Domain Mode mit der Enterprise Application Platform betrieben werden kann.
Der JBoss AS 7 / EAP enthält ausgereifte Technologien um kritische Java EE Anwendungen Hochverfügbar auf Ebene der Middleware zu betreiben. Die enthaltenen Profile sind bereits für kleinere Cluster Topologien entsprechend konfiguriert. Mit dem Domain Mode des Applikationsservers lassen sich mehrere Server Instanzen komfortabel verwalten. Jedoch birgt ein Cluster eine hohe Komplexität, die Detailkenntnisse der grundlegenden Technologien wie JGroups und Infinispan erfordern.
Presented by Ulrich Krause (BCC) @eknori and Howard Greenberg (TLCC) @TLCCLtd at Engage 2014 by BLUG.
There are many factors that affect how fast your XPages applications run, from server configuration to the way the XPage is designed.
In this session you will learn how you can optimize both your application and your server. Explore the JSF Life cycle and how it affects performance.
Discover how using on page load, partial update and partial execution can help. See how readily available tools from OpenNTF can be used to profile and analyze your code to improve the speed of your applications.
Using the right programming language? Choosing the right language can have a dramatic impact on your XPages performance.
After you attend this session you will learn how your XPages can survive and thrive in the fast lane of the autobahn where there are no speed limits!
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...Paul Withers
BP106 From XPages Hero To OSGi Guru: Taking The Scary Out Of Building Extension Libraries. From IBM ConnectED 2015, delivered jointly with Christian Guedemann
Even in the Cloud you need to manage your IBM Connections Cloud environment. This presentation will explain the key tasks for IBM Connections Cloud Administration especially around User Management. We will discuss the challenges and the best practices approach to integrate and sync with your enterprise directories using IBM Integration Server.
Transformations - a TLCC & Teamstudio WebinarOliver Busse
These are my slides I used during the webinar hosted by TLCC & Teamstudio on April 21, 2015.
It's the session I held at Engage.UG March 31, 2015 and at ICS.UG March 26, 2015
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und behebenDavid Schneider
Diese Slides zeigen, wie man Performanceprobleme von Microsoft SharePoint Server 2013 vorbeugt, analysiert und behebt. Die Slides sind im Rahmen einer Veranstalltung der SharePoint Community Mittelland Schweiz entstanden.
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...NETWAYS
collectd ist ein mächtiges Werkzeug zum effizienten Sammeln und Verarbeiten von Performance-Daten. Diese werden neben der Performance-Analyse, Kapazitätsplanung und Fehler- bzw. Ursachensuche auch zum Monitoring benötigt. collectd hat sich auf die Erfassung dieser Daten spezialisiert. Gleichzeitig werden einige Schnittstellen zur Umwelt geboten, welche eine Integration in andere Systeme, wie Monitoring-Lösungen erlauben.
Bei der Software handelt es sich um einen UNIX-Daemon, welcher periodisch Leistungsdaten von Rechnern oder Rechenzentrumshardware abfragen, verarbeiten und speichern kann. Durch sein modulares Design wird ein hohes Maß an Flexibilität und Erweiterbarkeit erreicht, wodurch eine Vielzahl von Einsatzmöglichkeiten und -bereichen eröffnet wird.
Weiterhin wird der Overhead der Datenabfrage auf ein Minimum begrenzt, indem der Daemon dauerhaft im Hintergrund läuft und zur Abfrage von Werten keine externen Programme oder Skripte aufruft. Dadurch wird eine Standardauflösung von 10 Sekunden ermöglicht, ohne das System nennenswert zu belasten. Damit eignet sich collectd hervorragend als Datensammler für andere Systeme.
Dieser Vortrag stellt den Daemon und seine wichtigsten Eigenschaften vor. Danach werden Erweiterungsmöglichkeiten und externe Schnittstellen der Software erläutert und gezeigt, wie eine Anbindung an Nagios/Icinga ermöglicht wird. Abschließend wird ein Ausblick auf künftige Entwicklungen in diesem Gebiet gegeben.
Tipps zur Performanceoptimierung für Liferay PortalStefan Hilpp
Mit Liferay einer Open Source Portallösung werden umfangreiche Enterprise- oder Mitarbeiterportale realisiert. Liferay eignet sich auch für mehrsprachige Internetportale mit geschlossenen Nutzerräumen.
In allen Fällen muss Liferay den Zugriff von mehreren hunderten gleichzeitigen Zugriffen ohne großen Performance Verlust verkraften.
Leicht gesagt und nicht so einfach zu realisieren. Wir sind an das Thema Liferay Performance systematisch heran gegangen. Heraus gekommen sind allgemeine und Liferay spezifischen Regeln, die das Ziel haben eine gute Performance bei hoher Last zu erreichen.
Liferay - ein modernes Portalsystem
Liferay Portal, ein Open Source Portalsystem, eignet sich in Ihrem Unternehmen als mitarbeiter- und prozessorientiertes Enterprise Portal. Es ist eine Portal-Software, die es Ihrem Unternehmen ermöglicht, Informationen, Daten und Anwendungen unter einer einheitlichen Bedienungsoberfläche im Webbrowser zu vereinen, zu personalisieren und dadurch die Geschäftsprozesse Ihres Unternehmens elektronisch zu unterstützen. Die lizenzkostenfreie Open Source Software beeindruckt durch ihre Vielzahl an Funktionen und ihre hervorragende Software-Architektur.
500 Kunden als weltweite Referenzen in verschiedensten Industriebereichen
Schnelle Innovationszyklen
Neue Releases im Abstand von jeweils 8 Monaten
Eine starke Community mit rund 3 Millionen Downloads
250.000 installierten Anwendungen weltweit
Liferay Portal ist das am häufigsten eingesetzte und ausgereifte Open Source Portalframework
Liferay Portal mit mehr als 150 Portlets ist nicht nur die breiteste, sondern auch funktional umfassendste Entwicklung im Open Source Portalumfeld
comundus hat sich seit ihrer Gründung 2001 in Waiblingen bei Stuttgart als Open Source Experte erfolgreich etabliert. Mittelständische Unternehmen und öffentliche Einrichtungen vertrauen auf die langjährigen IT-Erfahrungen des Hauses in der Realisierung ihrer digitalen Arbeitsplätze.
Dabei liegt der Fokus von comundus auf Mitarbeiterportalen und Enterprise Portals. Diese werden für Kunden individuell zusammengestellt. Ergänzend beraten die Experten ihre Kunden auf dem Weg zum Mobile Business und realisieren die Anforderungen vom responsive Design bis zur native App. Internet Portale runden das Leistungsangebot ab.
Produkte wie Liferay Portal, OpenCms, die Enterprise Search Solr und die Web-Shop Plattform KonaKart aus dem Open Source Bereich werden dem Wandel des digitalen Arbeitsplatzes gerecht. Sie helfen unseren Kunden unabhängig von teurer proprietärer Software zu sein.
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...Peter Hecker
Node.js hat sich schnell zu einer der beliebtesten Plattformen für das Schreiben von serverseitigem Code entwickelt. Das Node.js-Framework basiert auf der Google V8 JavaScript-Engine und ermöglicht Entwicklern serverseitige Anwendungen in JavaScript zu implementieren. Im November 2013 hat Microsoft die "Node.js Tools für Visual Studio (NTVS)" in einer ersten Alpha vorgestellt. Damit können Windows-Entwickler Node.js Anwendungen direkt in Visual Studio entwickeln. Die NTVS werden als Plug-in in Visual Studio integriert und bieten Zugriff auf die Codevervollständigung sowie die Debugging-, Profiling- und Deployment-Funktionen von Visual Studio. Zusätzlich enthält das Plug-in eine grafische Benutzeroberfläche für den Node Package Manager (npm). Damit lassen sich aus Visual Studio heraus Bibliotheken für das serverseitige JavaScript-Framework aus dem npm-Repository installieren. Auch die Anbindung an die Windows Azure - Plattform ist möglich. In diesem Vortrag werden die Node.js-Plattform sowie die Möglichkeiten der Node.js - Tools (NTJS) vorgestellt. Beispiele zeigen erste Anwendungsmöglichkeiten.
Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?KurtStockinger
Applikationen und Datenbanken generieren Logfiles, deren Inhalte wichtige Aussagen über Zugriffsmuster enthalten. So kann ermittelt werden, welche Produkte am häufigsten abgefragt werden oder welche Kundentrends sich abzeichnen. In diesem Vortrag beleuchten wir zunächst die Problematik anhand von praktischen Use Cases. Danach zeigen wir, wie sich die Probleme mit einem herkömmlichen Datenbankansatz, mit Hadoop und mit Splunk lösen lassen.
Elastic Stack: Grundlagen der zentralen Logdatenverwaltung (Webinar vom 15. A...NETWAYS
Logstash - bzw. der ELK-Stack - bietet eine solide Grundlage auf Basis von Open Source Lösungen, um eine zentrale Verwaltung von Logdateien jeder Art zu realisieren und den ganzheitlichen Überblick über die IT-Landschaft sicherzustellen. Der Stack besteht dabei aus ElasticSearch, Logstash und Kibana (ELK) und erlaubt hierdurch eine flexible Skalierung - sowohl in die Breite als auch in die Tiefe. In diesem Webinar wollen wir die Komponenten grundlegend aufzeigen und einige Simple Ansätze zur Integration demonstrieren.
Webinare
Archiv Link: https://www.netways.de/webinare/archiv/logstash_webinare/elasticstack_grundlagen_der_zentralen_logdatenverwaltung/
Aktuell: https://www.netways.de/webinare/webinare_aktuell/
NETWAYS
Konferenzen: https://www.netways.de/events_schulungen/home/
Schulungen: https://www.netways.de/events_schulungen/schulungen/home/
Shop: https://shop.netways.de/
Blog: http://blog.netways.de/
Social Media
YouTube: https://www.youtube.com/channel/UC8nIBEFmjzXjXeJV_hkkeIQ
Facebook: https://www.facebook.com/netways
Google+: https://plus.google.com/+netways/
Twitter: https://twitter.com/netways
Wer sich mit XPages-Entwicklung beschäftigt, wird über Kurz oder Lang auch auf OpenNTF und die eXtension Library stoßen.
Was ist die eXtension Library und wie kann ich die Erweiterungen in meiner Entwicklungsumgebung nutzen?
Wie können mir die zahlreichen Custom Controls auf OpenNTF helfen, den Entwicklungsaufwand zu reduzieren?
Seit Juli 2011 gibt es die Möglichkeit, aus XPages heraus auf relationale Datenbanken zuzugreifen. Was wird dazu benötigt und wie sieht der Zugriff in der Praxis aus?
Zielgruppe: Teilnehmer mit Grundlagenkenntnissen in der XPages-Entwicklung
Kenntnisse: Grundlagenkenntnisse in der XPages-Entwicklung
digitalSTROM Developer Day 2011: Jump Start in die digitalSTROM-Server Entwic...digitalSTROM.org
Johannes Winkelmann, dSS-Entwickler, schloss an das Referat zum Entwicklungsprozess an. Er wies auf die konkreten Einstiegspunkte zu Informationen und Programmcode hin und zeigte die dafür notwendigen Entwicklungswerkzeuge. Ebenso stellte er die bereits erhältliche digitalSTROM Reference Platform vor – gewissermassen eine komplette digitalSTROM-Installation in einer Box, die es Entwicklern erlaubt, Scripts zu schreiben und ihre Ideen für Wohnen und Arbeiten mit digitalSTROM zu testen.
You’ve been told that you will need to go though Connections 6.0 to get to Connections PINK. We’ve been through the process already and can show you the best way to do it. From planning your data migration strategy, requirements and software upgrades, to time estimates and lessons learned and the all important documentation stage that everyone loves. Let us be the pain relief to your migrations headache (other antidotes are available).
MWLUG - 2017
Tim Clark & Stephanie Heit
Tim & Steph explain the basics of GDPR and give some recommendations about what you can do to be ready.
Data sources are in the final slides.
For more information about how BCC can help you get your Domino data ready for GDPR please contact us here.
http://bcchub.com/bcc-domino-protect/
Einheitliches Management für IBM und Microsoft Collaborationen Plattformen.
Vorgehensmodell für Migration, Ausgangsbasis, Herausforderungen und "Best practices" Vorgehensweise und Demo Beispiele BCC, ClientGenie, MailProtect.
5. April 2017 / Hartmut Koch / BCC Unternehmensberatung
Anforderungen und Informationsquellen, dreistufige Realisierung, die Praxis, Live Demo von Schutzfunktionen und Exkurs: Risiken in der "nativen" IBM Domino Administration.
This webinar was recorded on 26th February 2017.
Tim Clark talks about how to stop data leaking from your IBM Domino datastore using BCC's DominoProtect.
Replay available here: https://youtu.be/Joqg4jVO-io
Are IBM Domino Plug-ins your friends or enemies? Find out what our developer Teresa Deane have said on that subject at her session “My love-hate relationship with IBM Domino Plug-ins” at the IBM Connect 2016 in Orlando.
Building a plug-in for the Notes client is hard and you need to be a rocket scientist to write a simple menu extension. This is exactly, what I thought, when I first heard of plug-in development.
In this session, you will learn, how to setup an Eclipse environment, connect it to your Notes Client for debugging and testing, and finally deploy your plugin to your users. Become familiar with the basics, and you will no longer be scared.
Social business software is all about sharing content and data in a “collaborative” way to identify internal or external experts. Most of these data must be considered as personal data which is related to an individual person.
Implementing social business technologies in enterprises often leads to discussion with data protection supervisors how to be compliant with EU data protection law. This discussion gets even more challenging if you consider using social business applications in “the cloud” which might the only choice in the near future due IBMs “Cloud First” or Microsoft’s “Cloud only” delivery model.
This session will give you an overview
- about EU data protection regulations
- its implications for using social business systems
- special considerations for using cloud based social business systems
Sie betreiben ausgeklügelte Rechteverwaltung auf Ihrem Domino System, die Daten in den zahlreichen Datenbanken und Anwendungen sind gut abgesichert.
Wirklich?
Ist Ihr "Generalschlüssel" für den ID-Vault auch gut geschützt, oder wird die Server-ID unverschlüsselt verwendet?
Können Sie sicher gehen, dass die Gruppendokumente nicht unberechtigt geändert werden?
Wie breit sind weitreichende Administrationsrechte z.B. an Support-Kollegen "gestreut"?
BCC bietet mit DominoProtect eine Lösung, die mögliche Sicherheitslücken schließt, das Systemmanagement in komplexen Umgebungen vereinfacht und hilft Revisions- und Compliance-Anforderungen zu erfüllen.
Dieser Vortrag von der DNUG Frühjahrskonferenz 2014 in Karlsruhe bietet einen Einstieg in das Thema Sicherheit & Compliance in IBM Collaboration Infrastrukturen und beleuchtet insbesondere folgende Bereiche:
* Security Monitoring - wie Sie sicherheits- und systemkritische Änderungen in Ihrer IBM Domino Umgebung in Echtzeit überwachen
* Compliance - wie Änderungen oder sogar Zugriffe auf sensible Elemente zuverlässig verhindert und dokumentiert werden können
* Change Management - wie Konfigurationsänderungen nicht ohne Freigabe aktiviert und Rollback & Recovery mit nur einem Klick möglich werden
Geht ihren Servern der Speicherplatz aus? Erfahren Sie in dieser Präsentation von der BCCon 2014 Konferenz welche Möglichkeiten zur Abhilfe durch DAOS und andere Platzsparer bestehen.
Are your servers running out of space as more, and more complex data is sent thru or stored in applications on the servers? Are your users keep on sending bit like attachments again and again? Do standard tasks like compact or fixup last for ages or does your backup still runs during working hours? Learn how to benefit from build-in space saving features. Maximize disk space savings provided by Domino Attachment and Object Service (DAOS) and ensure that your environment is properly configured for best performance with this feature. Reduce network bandwidth when replicating databases between servers and increase mail quotas without using more disk space. As of Domino 9.0.1, DBMT is the swiss army knife for administrators. Learn about pre-allocating space to avoid file fragmentation during a copy-style compact. Ensure that a mail application in a clustered environment is always available and mail gets delivered while performing file compaction and other standard tasks
In this session, which has been presented after the Connect also at Rheinland Nachlese, Engage by BLUG and BCCon, we took you on the quest of strengthening the security while cutting costs for administration.
Daily administration of the IBM Domino environment can be manual, tedious and cost-intensive. Mismanagement can also pose significant security issues and can also result in legal ramifications.
Whether you need to cut costs in administration, save time spent on routine tasks, or make your audit team happy, there is help available.
Specialized in administration automation and security solutions, BCC has gained an unique insight in various Notes/Domino enviroments of more than 800 customers worldwide. In this session we will share the best practices on how to streamline IBM Notes and Domino administration, enhance system and process security, and ensure compliance with legal regulations.
* Automate the user, group, and app administration processes to reduce manual tasks and avoid human errors
* Implement strict compliance with corporate administration standards and reduce administration costs
* Prevent fraud / malicious actions from inside your company and ensure compliance with legal regulations
Geht ihren Servern der Speicherplatz aus?
Haben Sie mehr als einen (bit) identischen Anhang in Ihren Datenbanken gespeichert?
Dauern Standardaufgaben wie fixup ewig oder reicht die Zeit in den Nachtstunden für ein Backup nicht mehr aus?
Setzen Sie Datenbankquotas ein und ihre Anwender verlangen nach mehr Platz?
Haben Sie sich schon einmal gefragt, was passiert, wenn sie ein "load compact -c" ausführen?
Warum werden Datenbanken nicht auf das neueste ODS angehoben? Mache ich was falsch??
Wenn Sie eines oder mehrere dieser Fragen mit "JA" beantworten können, dann sind Sie in dieser Session richtig. Nutzen Sie den vorhandenen Speicherplatz durch den Einsatz von DAOS optimal aus.
Verkleinern Sie ihre Datenbanken; Design- und Documentdata compression helfen Ihnen dabei.
Reduzieren Sie die Netzwerkbandbreite bei der Replikation zwischen Servern und zwischen Clients und Servern,
und lernen Sie, wie Sie die Quota erweitern, ohne mehr Speicherplatz zu benötigen.
Geben Sie ihren Festplatten den nötigen "drive" durch regelmässige Defragmentierung. OpenNTF hilft Ihnen dabei.
Nach der guten Resonanz des ersten Teils des Vortrages von Mirco Vilic auf der DNUG-Frühjahrskonferenz in Berlin 2013 "Deep Dive IBM Domino Mail Routing - Essentials & Best Practices" , präsentiert er nun den zweiten Teil, der ganz im Zeichen von Domino als SMTP Mailer steht. In diesem weiterführenden Vortrag beleuchten wir die Fähigkeiten des Domino Servers als SMTP Mailer auf fortgeschrittener Ebene. Dies beinhaltet die einfache Standard-Konfiguration, sowie alle weitergehenden Einstellungen, die für den täglichen Betrieb, sowie für die Fehlersuche, relevant sind,
Wir zeigen die Möglichkeiten, die uns Domino durch Notes.ini Parameter bietet, oder wie man mit Domino eine virtuelle SMTP Testumgebung einrichtet, die ein simples Testing von z.B. Mail-Management-Software ermöglicht.
AdminP is an elementary server task for your IBM Lotus Domino Administration. This session explains which administration processes are available and how those can make your day-to-day administration tasks easier. We will cover the best practices for setup and troubleshooting using AdminP, in projects like recertifications and server consolidations.
? Geht ihren Servern der Speicherplatz aus?
? Haben Sie mehr als einen (bit) identischen Anhang in Ihren Datenbanken gespeichert?
? Dauern Standardaufgaben wie fixup ewig oder reicht die Zeit in den Nachtstunden für ein Backup nicht mehr aus?
? Setzen Sie Datenbankquotas ein und ihre Anwender verlangen nach mehr Platz?
? Haben Sie sich schon einmal gefragt, was passiert, wenn sie ein "load compact -c" ausführen?
? Warum werden Datenbanken nicht auf das neueste ODS angehoben? Mache ich was falsch??
Wenn Sie eines oder mehrere dieser Fragen mit "JA" beantworten können, dann sind Sie bei dieser Session richtig. Nutzen Sie den vorhandenen Speicherplatz durch den Einsatz von DAOS optimal aus.
--> Verkleinern Sie ihre Datenbanken; Design- und Documentdata compression helfen Ihnen dabei.
--> Reduzieren Sie die Netzwerkbandbreite bei der Replikation zwischen Servern und zwischen Clients und Servern, und lernen Sie, wie Sie die Quota erweitern, ohne mehr Speicherplatz zu benötigen.
--> Geben Sie ihren Festplatten den nötigen "drive" durch regelmässige Defragmentierung. OpenNTF hilft Ihnen dabei.
Zielgruppe sind Administratoren oder Entscheider, die mehr über Compact, DAOS und Defragmentierung wissen möchten.
Sie betreiben ausgeklügelte Rechteverwaltung auf Ihrem Domino System, die Daten in den zahlreichen Datenbanken und Anwendungen sind gut abgesichert.
Wirklich? Ist Ihr "Generalschlüssel" für den ID-Vault auch gut geschützt, oder wird die Server-ID unnverschlüsselt verwendet? Können Sie sicher gehen, dass die Gruppendokumente nicht unberechtigt geändert werden? Wie breit sind weitreichende Administrationsrechte z.B. an Support-Kollegen "gestreut"?
Der IBM Domino Server bietet umfangreiche Sicherheitsmechanismen. Die Konfiguration ist jedoch komplex, Sicherheitsprobleme können entstehen. Außerdem werden Protokollierung und Verhinderung von Änderungen aus Sicht der Revision seit der Einführung von Basel II und SOX immer wichtiger. Es geht dabei darum für Transparenz im Change Management von Infrastrukturen zu sorgen.
DominoProtect schließt mögliche Sicherheitslücken, vereinfacht das Konfigurationsmanagement in komplexen Umgebungen und hilft Revisions- und Compliance-Anforderungen zu erfüllen - bewährt in vielen Projekten bei großen und kleinen Organisationen, in zahlreichen deutschen und internationalen Finanzinstituten und bei führenden IT-Dienstleistern.
Ein Werkzeug-Spezialist muss Konstruktionspläne zur Druckerei schicken, die Personalabteilung will die Gehaltsabrechnungen nur noch elektronisch versenden, der Vorstand will vertraulich mit potentiellen Partnern im Ausland kommunizieren. Die Anforderungen für verschlüsselte Kommunikation per E-Mail sind vielfältig, die Notwendigkeit angesichts von PRISM & Co. nicht mehr weg zu diskutieren.
Einen schnellen und unkomplizierten Einstieg in die verschlüsselte E-Mail-Kommunikation bietet die PDF-basierte Instant Encryption Technologie der BCC. Damit wird sicher gestellt, dass die nach außen gehende Kommunikation vor Mitlesen und Manipulation geschützt ist. Wenn es "mehr" sein darf, können mit MailProtect Secure Mail alle denkbaren PKI-Szenarien zum Einsatz von S/MIME und PGP realisiert werden - mit zentraler serverbasierendern Durchführung der Verschlüsselung, Entschlüsselung, Signaturprüfung und Zertifikatsverwaltung.
5. Social Collaboration 39: "Vernetzte Informationswelt“
Hardware
• Die Hardware hat einen nicht unerheblichen Einfluß
auf die Performance. Es gibt 3 Kernelemente
– CPU
– Arbeitsspeicher
– Festplatten
www.dnug.de
6. Social Collaboration 39: "Vernetzte Informationswelt“
Hardware
• CPU
– Anzahl Kerne / Taktrate / Cache
– Schlechte Antwortzeiten
• Arbeitsspeicher
– Obergrenze durch das Betriebssystem vorgegeben
– Skalierbarkeit
• Schwache CPU und zu kleiner
Arbeitsspeicher führen zu
– Schlechter Gesamtperformance
– Schlechten Antwortzeiten
– Server “hängt”
www.dnug.de
7. Social Collaboration 39: "Vernetzte Informationswelt“
Netzwerk
• Bandbreite
– Geschwindigkeit, mit der Daten übertragen werden
• Latenz
– Beanspruchte Zeit einer Datenübertragung zwischen mehreren
Computer an einem Netzwerk
• Je größer die Bandbreite und
je kleiner die Latenz
desto "besser" ist die Verbindung
www.dnug.de
8. Social Collaboration 39: "Vernetzte Informationswelt“
Client & Browser
• Hardware
• Wie viele Daten (Requests / Responses) werden
übertragen
• Wie viele Daten werden übertragen (Größe)
• Wie werden Resourcen gecached
• Wie viel CSJS wird ausgeführt
• Größe / Komplexität des CSS
• Komplexität des Seitenaufbau
www.dnug.de
9. Social Collaboration 39: "Vernetzte Informationswelt“
Performancebeeinträchtigungen
• Browser / HTTP Server
– Netzwerk: Latenz, Bandbreite, Dateigröße
– Browser: Anzahl gleichzeitiger Downloads (IE7 = 2 , IE8 = 6 )
• HTTP Server / App Server
– HTTP Server JVM Memory Allocation (heap size) & Garbage Collector
– CPU Time
– Anzahl Threads, DEFAULT: 40 , konfigurierbar in Domino Administrator
• App Server / Domino context
– Lesen von Designelementen (Xpage, .class files, jar files, etc)
– Je mehr Design Elemente, desto mehr Netzwerkanfragen
– Anzahl Backend API Calls, insbesondere bei großen Datenmengen
www.dnug.de
10. Social Collaboration 39: "Vernetzte Informationswelt“
Performancebeeinträchtigungen
• Servlet / JSF Lifecycle
– Persitence mode Zugriffe auf das Dateisystem
– Serialisierung von Anfragen ( multiple partial update )
– Neuberechnung von Werten in allen Phasen des JSF Lifecycle
• Browser/ Client JavaScript/ Dojo
– Inline JavaScript verhindert die Ausführung von weiteren HTML
– AJAX requests an Dojo Module, die nicht geladen sind
www.dnug.de
11. Social Collaboration 39: "Vernetzte Informationswelt“
Allgemeine Massnahmen zur Performancesteigerung
• notes.ini
– HTTPJVMMaxHeapSizeSet=1
– HTTPJVMMaxHeapSize=256M
• sollte auf ¼ des verfügbaren RAM gesetzt werden
• Domino Administrator
– HTTP server "Enable logging to" abschalten, wenn nicht benötigt
– HTTP server thread count – defaults to 40
• Debugging abschalten
– JavaEnableDebug=1
– JavaDebugOptions=transport=dt_socket,server=y,suspend=n,address=8000
– JavascriptEnableDebug=1 ( ab Version 9 )
www.dnug.de
12. Social Collaboration 39: "Vernetzte Informationswelt“
Nutzung des Arbeitsspeichers optimieren
• xsp.persistence.mode=
– Defines the persistence mode for the JSF pages
• file: Alle Seiten werden auf die Festplatte geschrieben
• fileex: Alle Seiten werden auf die Festplatte geschrieben; nur die aktuelle
Seite befindet sich im Arbeitsspeicher
• <else>: Alle Seiten werden im Arbeitsspeicher gehalten
www.dnug.de
13. Social Collaboration 39: "Vernetzte Informationswelt“
XPages Design Optimierung
• „Simple Actions“ verwenden. Keine Buttons oder Links
mit umfangreichem JS
• Reduzierung der Berechnungen im Lifecycle
• partial update / partial refresh
• partial execute
• disableValidators & immediate event
• Reduzierung der Berechnungen zur dynamischen Anzeige
von Elementen ( rendered / loaded )
• Variable Resolver verwenden
• Repeat Control & Views
• viewEntry.getColumnValue statt viewEntry.getDocument.getColumn
• Domino View data source dataCache property wenn möglich
www.dnug.de
14. Social Collaboration 39: "Vernetzte Informationswelt“
“Laden” oder “Anzeigen”
• #
– Wird jedes Mal ausgeführt, wenn die Seite aufgebaut wird
• Wenn Werte sich ändern. (Computed values / Abhängigkeiten )
• $
– Wird nur beim ersten Seitenaufbau ausgeführt.
• Wenn sich Werte nicht ändern ( Label )
www.dnug.de
15. Social Collaboration 39: "Vernetzte Informationswelt“
JavaScript/CSS Aggregation
• Faßt mehrere DOJO Module, CSS / JS files in einer
einzigen Datei zusammen
•
•
•
•
Weniger Anfragen vom Browser an den Server
Wirkt sich in Netzwerken mit hoher Latenz Performance steigernd aus
Performanteres Parsen von CSS / JS
Weniger Verbindungen zum Server
Aufd dem Server: xsp.properties:
xsp.resources.aggregate=true
www.dnug.de
17. Social Collaboration 39: "Vernetzte Informationswelt“
XPages PreLoad
• XPagesPreload=1
• Neues Feature in Notes / Domino 8.5.3
• Server und Client
• Java classes from the XPages runtime plug-ins
– loaded from a fixed list of runtime classes ( 435 in ND 8.5.3 )
– com.ibm.xsp.core, common utility, JS wrapper, FSF runtime classes
• Java classes referenced in *-faces.config.xml
– XPages control renderer, data sources, complex types
www.dnug.de
18. Social Collaboration 39: "Vernetzte Informationswelt“
XPages PreLoad
• XPagesPreloadDB=Server!!Db.nsf/XPage.xsp, myDb.nsf
– Arbeitet auf Applikationsebene
– Die Anwendung wird beim Client/Serverstart in den Speicher geladen. Dies
passiert auch, wenn die Anwendung erstmalig im Browser geöffnet wird
– Für jeden Eintrag in der notes.ini Variable wird eine XPage URL generiert
und an den Server geschickt
– Die Anwendung wird geladen und das HTML generiert
– Die XPages Runtime verwirft das HTML, behält aber die Anwendung im
Speicher
www.dnug.de
19. Social Collaboration 39: "Vernetzte Informationswelt“
Scoped Variables
• applicationScope
– Für ALLE User einer Anwendung.
– Werden verworfen, wenn der letzte User die Anwendung geschlossen
hat.
– allgemeine Anwendungskonfiguration
• sessionScope
–
–
–
–
Für EINEN User während der Session dieses Users.
Wird nach einer bestimmten Zeit verworfen.
Kein Zugriff auf die Inhalte eines anderen Users
User bezogene Anwendungskonfiguration ( Sprache / Theme )
www.dnug.de
20. Social Collaboration 39: "Vernetzte Informationswelt“
Scoped Variables (cont.)
• viewScope
– Nur auf der aktuell angezeigten Seite verfügbar
– Inhalt wird beim Wechsel zu einer anderen Seite verworfen
– Übertragung von Daten zwischen Elementen der Seite
• requestScope
– Verfügbar nur während einer einzelnen Aktion.
– Umfasst auch die Aktualisierung der Seite.
www.dnug.de
21. Social Collaboration 39: "Vernetzte Informationswelt“
Application Scope aktualisieren
www.dnug.de
23. Social Collaboration 39: "Vernetzte Informationswelt“
XPages Lifecycle Listener
• Was passiert in den einzelnen Phasen?
Ulrich Krause: http://openntf.org/XSnippets.nsf/snippet.xsp?id=a-simple-lifecyclelistenerwww.dnug.de
24. Social Collaboration 39: "Vernetzte Informationswelt“
XPages Masterclass
http://www.openntf.org/internal/home.nsf/project.xsp?action=openDocument&name=XPages%20Masterclass
www.dnug.de
25. Social Collaboration 39: "Vernetzte Informationswelt“
DataContext
• Kann als globale Variable bezeichnet werden
• Kann dynamisch beim Laden einer Seite berechnet
werden
– Beispiel: ${javascript:@Today()}
• Kann an beliebige Elemente einer Seite gebunden werden
– XPage, Custom Control or Panel
• Kann über Expression Language referenziert werden
– At no point in the references do you run SSJS
– Not having to go through the SSJS parser
www.dnug.de
26. Social Collaboration 39: "Vernetzte Informationswelt“
DataContext – ACHTUNG !!!!
• Niemals dynamisch berechnen !!.
– Die Berechnung erfolgt mehrfach, auch bei einem partial refresh
www.dnug.de
28. Social Collaboration 39: "Vernetzte Informationswelt“
Partial Refresh / Update (Pro)
• Reduzierung der Berechnungen im renderResponse
– Weniger Rechenaufwand auf dem Server
• Kleinere Datenmengen, die vom Server übertragen
werden
– Reduzierung der Datenmenge im Netzwerk
• Bessere User / Browser experience
– Während der Aktualisierung bleibt die Seite weiterhin sichtbar
– Das Aktualisieren von nur kleinen Bereichen einer Webseite ist
schneller als der vollständige Neuaufbau
www.dnug.de
29. Social Collaboration 39: "Vernetzte Informationswelt“
Partial Refresh / Update (Cons)
• Abhängigkeiten ausserhalb der refreshID
– Bereiche, die eine Abhängigkeit zu dem neu berechneten Bereich
haben, werden nicht aktualisiert
– Vorsicht, wenn das partial Update für Bereiche aktiviert wird, die
bisher vollständig aktualisiert wurden
• Es kann nur eine refreshID angegeben werden
– Diesem Restriktion kann mit CSJS umgangen werden, allerdings werden
die einzelnen Aktualisierungen seriell abgearbeitet
www.dnug.de
http://www.timtripcony.com/blog.nsf/d6plinks/TTRY-84B6VP
30. Social Collaboration 39: "Vernetzte Informationswelt“
Partial Refresh / Update (Cons)
• Mehrere Aktualisierungen
– http://www.timtripcony.com/blog.nsf/d6plinks/TTRY-84B6VP
www.dnug.de
31. Social Collaboration 39: "Vernetzte Informationswelt“
Partial Execution
• Reduziert den Rechenaufwand in den 3 “dataprocessing” Phasen
– Weniger Arbeit für den Server, bessere Antwortzeiten
• Abhängigkeiten ausserhalb der exec area
– Werte, die sich in Feldern ausserhalb der exec area liegen, werden
nicht berücksichtigt.
– Keine Aktualisierung dieser Werte und keine Aktualisierung von
Dokumenten
– Enabling Partial Exec where it was previously full execution may lead
to functional problems where values are out-of date in the onclick
script or in the redisplayed page.
www.dnug.de
32. Social Collaboration 39: "Vernetzte Informationswelt“
Partial Execution (cont.)
• onclick Event Handler muss sich in der exec area
befinden
– The ApplyRequestValues phase prepares for the invokeApplication
phase.
– The onclick simple action or SSJS script won't occur if outside the
partial exec area
www.dnug.de
33. Social Collaboration 39: "Vernetzte Informationswelt“
Partial Execution
• execMode neu ab 8.5.1
• Setzen der execId in V8.5.1 und V9
www.dnug.de
34. Social Collaboration 39: "Vernetzte Informationswelt“
disableValidators / immediate
• disableValidators
–
–
–
–
JSF Lifecycle durchläuft alle Phasen (1-6)
Keine Validierung der Daten
Converters funktionieren weiterhin.
Werte in Dokumenten werden aktualisiert
• Sven Hasselbach – “Disable all validators at once”
(http://hasselba.ch/blog/?p=1106)
• Immediate
–
–
–
–
JSF Lifecycle durchläuft nur Phasen (1, 2, 6)
Keine Datenverarbeitung
Werte in Dokumenten werden nicht aktualisiert
Event Handler onclick scripts und renderResponse Berechnungen werden
ausgeführt
www.dnug.de
35. Social Collaboration 39: "Vernetzte Informationswelt“
Minimize work in rendered/ visible computation
• Most properties, like CSS “style” are only computed
in the RenderResponse phase
• Edit Box and input “value” properties are used in
Data Processing phases and RenderResponse phase
• Data Source properties are computed during
RenderResponse
– Results are cached for the next request's Data Processing and
InvokeApplication phases
www.dnug.de
36. Social Collaboration 39: "Vernetzte Informationswelt“
Minimize work in rendered / visible computation
• “Rendered” wird in allen Phasen des Lifecycle neu
berechnet.
• Nicht in jeder Eigenschaft neu berechnen
– @DbLookup, @DbColumn, getDocumentByKey
– Neuberechnung über viewScope steuern
www.dnug.de
37. Social Collaboration 39: "Vernetzte Informationswelt“
Bilder
• Richtigen Bildtypen verwenden
– JPEG für komplexe und detaillierte Darstellungen
– PNG/GIF für Schaltflächen, Tranzparenz
• HTML <img> tag “width” und “height” Attribute verwenden
• Richtige Größe verwenden
– Keine Anpassung der Größe zur Laufzeit über HTML <img> tag “width”
und “height” Attribute
– Bilder, die grösser sind, als benötigt, benötigen mehr Bandbreite
www.dnug.de
38. Social Collaboration 39: "Vernetzte Informationswelt“
Image Sprites
• CSS Image Sprites verwenden
– viele kleine Bilder in einem einzigen Image zusammenfassen
– CSS erstellen, um nur den benötigten Teil des Image Sprites
anzuzeigen
– Image Sprites unterstützen das “alt” Attribut nicht. Daher das “title”
Attribut verwenden bei barrierefreier Programmierung
– Online Tools zur Erstellung von Sprites
– http://spritegen.website-performance.org/
www.dnug.de
39. Social Collaboration 39: "Vernetzte Informationswelt“
Image Sprites
http://www.w3schools.com/css/tryit.asp?filename=trycss_sprites_img
www.dnug.de
40. Social Collaboration 39: "Vernetzte Informationswelt“
Performance Messen: XPages Toolbox
• XPages Anwendung
– Funktioniert auf dem Server und dem Client
– NSF muss auf dem Server/ Notes Client installiert werden
– profiler.jar file in den JVM Start Parametern eintragen
• Misst CPU und Speicherauslastung
• OpenNTF.org Projekt
– Kostenlos und Open Source
– http://www.openntf.org/internal/home.nsf/project.xsp?action=openDo
cument&name=XPages%20Toolbox
• Backend Classes Profiling in 8.5.2 hinzugefügt
www.dnug.de
44. Social Collaboration 39: "Vernetzte Informationswelt“
Performance Messen: Weitere Möglichkeiten
• Print statements
– In rendered/visible computations to see how often executed
• print("panel2 evaluating rendered property");
– In the XPages root control events:
• before/afterPageLoad, afterRestoreView, before/afterRenderResponse.
– Custom control root events:
• before/afterPageLoad.
– In the document data source events:
• queryNewDocument, postSaveDocument, etc.
• Task Manager and/or Process Explorer
– Shows CPU usage & process memory usage as it happens
www.dnug.de
45. Social Collaboration 39: "Vernetzte Informationswelt“
Performance Messen: Weitere Möglichkeiten
• Browser developer tools
– for watching network transactions, partial updates, response times
– BROWSER: Firebug, Developer Tools
– XPiNC: FirebugLite from ExtLib
• Java / Javascript Debugging
– Degrades performance but can inspect objectsUse the Eclipse Java
debugger.
– In Dominonotes.ini add these 2 options:
• JavaEnableDebug=1
• JavaDebugOptions=transport=dt_socket,server=y,suspend=n,address=8000
www.dnug.de
46. Social Collaboration 39: "Vernetzte Informationswelt“
Optimierung – Schritt für Schritt
www.dnug.de
47. Social Collaboration 39: "Vernetzte Informationswelt“
Step1: Original Code aus Beispieldatenbank
• Erzeugen einer NotesDocumentCollection
• Erzeugen eines JSON Strings aus den Werten in den
Dokumenten der Collection
www.dnug.de
49. Social Collaboration 39: "Vernetzte Informationswelt“
Step 2: UNID aus Item lesen
• Wie Step1, aber die UNID wird beim Speichern des
Dokument in einem item gespeichert
www.dnug.de
51. Social Collaboration 39: "Vernetzte Informationswelt“
Step3: JSON im Dokument erzeugen
• Statt die Werte einzeln aus den Items zu lesen, wird
der komplette JSON String in einem einzelnen Item
im Dokument gespeichert
www.dnug.de
55. Social Collaboration 39: "Vernetzte Informationswelt“
StringBuilder vs String.concat
• Concatenation of Strings is very easy in Java - all
you need is a '+‘
• Each time you append something via '+'
(String.concat()) a new String is created, the old
stuff is copied, the new stuff is appended, and the
old String is thrown away. The bigger the String gets
the longer it takes - there is more to copy and more
garbage is produced.
• Accordingly to Arno Unkrig the optimal strategy is to
use String.concat() for 2 or 3 operands, and
StringBuilder for 4 or more operands
www.dnug.de
56. Social Collaboration 39: "Vernetzte Informationswelt“
StringBuilder vs String.concat
• When to use StringBuilder over '+' (String.concat()) ?
– use StringBuilder whenever you assemble a String in a loop
– Keep in mind that '+' isn't always a good idea
http://kaioa.com/node/59
www.dnug.de
57. Social Collaboration 39: "Vernetzte Informationswelt“
Step 5: StringBuilder
• Verwenden des Stringbuilders zum Zusammenbau des
JSON
www.dnug.de
63. Social Collaboration 39: "Vernetzte Informationswelt“
Themes
• Single document containing references to all your
CSS resources
– resource sections reference the CSS files
– control section define what CSS classes are applied to specific controls
• XML based and easy To learn
– creating a new theme document prefills sample content
• Can extend other themes
– <theme extends="webstandard">
– will automatically include all the resource and control definitions from
that theme
www.dnug.de
64. Social Collaboration 39: "Vernetzte Informationswelt“
• Create your own themes from scratch.
– Extending an existing theme will include extra stylesheets and styles
that you might not need.
• Be prepared to spend more time writing css though
www.dnug.de
65. Social Collaboration 39: "Vernetzte Informationswelt“
• Global Application / Configuration properties
www.dnug.de