41. DNUG Konferenz · 11./12. November 2014 · Leipzig
www.dnug.de
Moderne Architektur –
Hochskalierbare Anwendungsarchitekt...
www.dnug.de
Die Referenten
Jens Ribbeck
IBM Notes / Domino seit 1999
Anwender, Entwickler und
Administrator
Schwerpunkte:
...
Unser Interesse:
Architektur
Unsere Erfahrungen:
IBM Technologiestack
(Notes/Domino, Sametime, Connections)
Unsere Aufgaben:
Entwicklung optimaler
Anwendungs-Architekturen für konkrete
Kundenaufgaben
(auch „auf der grünen Wiese“)
www.dnug.de
Ein Praxisbeispiel
Die „Baubeschreibung“:
„Individuelle Entwicklung eines webbasierten
Rating-Tools zur Bonitä...
www.dnug.de
Ein Praxisbeispiel
Der „Bauherr“:
www.dnug.de
Ein Praxisbeispiel
Das „Baugrundstück“:
• Genau spezifizierte fachliche Anforderungen in
einem Lastenheft
• Vo...
www.dnug.de
Ein Praxisbeispiel
Das „Nutzungskonzept“:
• Potentiell bis zu 1.100 Banken
• Bis zu 10.000 Ratings im Jahr mög...
www.dnug.de
Die Planung
(Domino-Server)
?
www.dnug.de
• Viele zu erwartende Zugriffe (auch
gleichzeitig)
• Revisionssicher Datenspeicherung
• Strukturierte Daten
• ...
www.dnug.de
• Hohe Performance
• Relationale Speicherung
• Hohe Skalierbarkeit
• Hohe Auswertbarkeit
• …
1. Entscheidung: ...
www.dnug.de
Das Modell – der klassische Weg
MS-SQL Datenbank
(Modell)
Frontend
(Web-Browser)
Application View-Implementier...
www.dnug.de
Das Modell – der alternative Weg
Application REST API
Application Controller-
Implementierung (JavaEE)
MS-SQL
...
www.dnug.de
Das Modell – die Entscheidung
• Einfache Infrastruktur
• Laufzeitumgebung abhängig
von IBM-Domino
• Geringe Sk...
www.dnug.de
• Testimplementierung einer einfachen Funktion in beiden Varianten
• Performance- und Systemvergleich mit Hilf...
www.dnug.de
2. Entscheidung: Verteilte Architektur
„Umzug der Arbeiter ins
neugebaute Funktionsgebäude“
Der Bau …
www.dnug.de
• IBM Domino
– XPages & ManagedBeans
• Apache TomEE 1.6
– JPA, EJB, JAX-RS,…
• MS SQL-Server 2012
– Datenhaltu...
www.dnug.de
• Ext JS
– JavaScript / Ajax
– MVC mit JSON
– UI Design
• XPages
– JSF Basis
– Dojo
Die Fassade
www.dnug.de
IBM Domino
Nutzerpflege im NAB
Domino Ajax Proxy
Asynchrone Anfragen
Datenhaltung
IBM J9
Das Werkzeug
www.dnug.de
- Release >= 8.5
- umgeht XSS
- Authentifizierung über den Domino Server
Domino Ajax Proxy
www.dnug.de
Java EE (TomEE)
• Connection Pooling
• Transaktionen
• ORM mit JPA
• JAX-RS
• Debugging
• Logging
Das Werkzeug
www.dnug.de
ORM mit JPA
Das Werkzeug
www.dnug.de
Enterprise Java Beans
Das Werkzeug
www.dnug.de
Enterprise Java Beans
Das Werkzeug
www.dnug.de
JAX-RS
• Java API für Restful Webservices
• https://tomee:8080/eeapp/restapi/user/load
Das Werkzeug
www.dnug.de
JAX-RS und JSON
Das Werkzeug
www.dnug.de
JAX-RS API (am Beispiel „Login“)
Das Werkzeug
www.dnug.de
• Verteilte Entwicklung
– SCC mit GIT
– CCM mit IBM RTC
• Continuoues Integration
– Maven
– JUnit
– Jenkins
Di...
www.dnug.de
Probleme und Stolpersteine
• Genauigkeiten
• JDBC: MS JDBC vs. jTDS
• ORM & Stored Procedures
• LTPA-Token
• A...
www.dnug.de
Fazit
• Vorhandene „Bausubstanz“ (Domino) ist
erhaltenswert
• Neubauten im Hintergrund sind bei komplexen
Anfo...
www.dnug.de
Copyright © 2014, ULC Business Solutions GmbH / Gabo GmbH & Co. KG
Bildquellen: www.morguefile.com, de.wikiped...
Nächste SlideShare
Wird geladen in …5
×

DNUG 2014 Herbstkonferenz: Moderne Architektur - Hochskalierbare Anwendungsarchitektur mit Domino Xpages und JavaEE/SQL-Server im Hintergrund

875 Aufrufe

Veröffentlicht am

Am praktischen Beispiel wird gezeigt, wie komplexe Anforderungen einer Webanwendung mit Hilfe eines JavaEE-Applikationsservers realisiert und das Frontend über den Domino-Server bereitgestellt werden.

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
875
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
171
Aktionen
Geteilt
0
Downloads
3
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

DNUG 2014 Herbstkonferenz: Moderne Architektur - Hochskalierbare Anwendungsarchitektur mit Domino Xpages und JavaEE/SQL-Server im Hintergrund

  1. 1. 41. DNUG Konferenz · 11./12. November 2014 · Leipzig www.dnug.de Moderne Architektur – Hochskalierbare Anwendungsarchitektur mit Domino Xpages und JavaEE/SQL-Server im Hintergrund (AE23) Track: Technik / Entwicklung Jens Ribbeck, Veit Weber ULC Business Solutions GmbH, ein Unternehmen der GABO-Gruppe www.ulc.de
  2. 2. www.dnug.de Die Referenten Jens Ribbeck IBM Notes / Domino seit 1999 Anwender, Entwickler und Administrator Schwerpunkte: Prozessmanagement, Integration, Schnittstellen Veit Weber IBM Notes / Domino seit 2003 Softwarearchitekt und Entwickler Schwerpunkte: Webanwendungen im JavaEE-und Domino-Umfeld www.ulc.de ULC Business Solutions GmbH IBM Premier Business Partner Full Service Provider, IBM Collaboration Software GABO GmbH & Co. KG Führender technologieübergreifender Lösungsanbieter im Bereich Geschäftsprozessoptimierung und IT-basierter Möglichkeiten der Zusammenarbeit
  3. 3. Unser Interesse: Architektur
  4. 4. Unsere Erfahrungen: IBM Technologiestack (Notes/Domino, Sametime, Connections)
  5. 5. Unsere Aufgaben: Entwicklung optimaler Anwendungs-Architekturen für konkrete Kundenaufgaben (auch „auf der grünen Wiese“)
  6. 6. www.dnug.de Ein Praxisbeispiel Die „Baubeschreibung“: „Individuelle Entwicklung eines webbasierten Rating-Tools zur Bonitäts-Bewertung von Projektfinanzierungen im Bereich der Erneuerbaren Energien“
  7. 7. www.dnug.de Ein Praxisbeispiel Der „Bauherr“:
  8. 8. www.dnug.de Ein Praxisbeispiel Das „Baugrundstück“: • Genau spezifizierte fachliche Anforderungen in einem Lastenheft • Vorhandene Notes/Domino-Infrastruktur, die möglichst genutzt werden soll • Vorhandenes „Modell“  ein Excel-Prototyp
  9. 9. www.dnug.de Ein Praxisbeispiel Das „Nutzungskonzept“: • Potentiell bis zu 1.100 Banken • Bis zu 10.000 Ratings im Jahr möglich • Statistische Verteilung der Zugriffe schwer vorhersehbar • Hohe Anforderung an Revisionssicherheit • Lange planmäßige Laufzeiten mit hohem Veränderungspotential
  10. 10. www.dnug.de Die Planung (Domino-Server) ?
  11. 11. www.dnug.de • Viele zu erwartende Zugriffe (auch gleichzeitig) • Revisionssicher Datenspeicherung • Strukturierte Daten • Hohe Anforderung an mathematische Genauigkeit Risikoanalyse
  12. 12. www.dnug.de • Hohe Performance • Relationale Speicherung • Hohe Skalierbarkeit • Hohe Auswertbarkeit • … 1. Entscheidung: Datenhaltung in relationaler DB
  13. 13. www.dnug.de Das Modell – der klassische Weg MS-SQL Datenbank (Modell) Frontend (Web-Browser) Application View-Implementierung (XPages, ExtJS, HTTP) Application Controller- Implementierung Domino HTTP- Task mit IBM JVM IBM Domino Server MS-SQL Server
  14. 14. www.dnug.de Das Modell – der alternative Weg Application REST API Application Controller- Implementierung (JavaEE) MS-SQL Datenbank Frontend (Web-Browser) Application View- Implementierung (XPages, ExtJS, HTML) IBM HTTP-Proxy (Ajax-Proxy) Domino HTTP- Task mit IBM JVM IBM Domino Server TomEE – Server-Dienst MS-SQL Server
  15. 15. www.dnug.de Das Modell – die Entscheidung • Einfache Infrastruktur • Laufzeitumgebung abhängig von IBM-Domino • Geringe Skalierbarkeit • Enge Verflechtung zwischen View und Controller • Komplexere Infrastruktur • Definierte Laufzeitumgebung (JVM) • Hohe Skalierbarkeit • Höherer Administrationsaufwand • Komplexere Authentifizierung • Saubere Trennung zwischen View und Controller klassisch alternativ
  16. 16. www.dnug.de • Testimplementierung einer einfachen Funktion in beiden Varianten • Performance- und Systemvergleich mit Hilfe von Lasttests auf Basis von Apache JMeter (simulierter gleichzeitiger Zugriff von 30 Nutzern) Das Modell – der Wettbewerb klassisch alternativ
  17. 17. www.dnug.de 2. Entscheidung: Verteilte Architektur „Umzug der Arbeiter ins neugebaute Funktionsgebäude“
  18. 18. Der Bau …
  19. 19. www.dnug.de • IBM Domino – XPages & ManagedBeans • Apache TomEE 1.6 – JPA, EJB, JAX-RS,… • MS SQL-Server 2012 – Datenhaltung, Reporting Das Fundament
  20. 20. www.dnug.de • Ext JS – JavaScript / Ajax – MVC mit JSON – UI Design • XPages – JSF Basis – Dojo Die Fassade
  21. 21. www.dnug.de IBM Domino Nutzerpflege im NAB Domino Ajax Proxy Asynchrone Anfragen Datenhaltung IBM J9 Das Werkzeug
  22. 22. www.dnug.de - Release >= 8.5 - umgeht XSS - Authentifizierung über den Domino Server Domino Ajax Proxy
  23. 23. www.dnug.de Java EE (TomEE) • Connection Pooling • Transaktionen • ORM mit JPA • JAX-RS • Debugging • Logging Das Werkzeug
  24. 24. www.dnug.de ORM mit JPA Das Werkzeug
  25. 25. www.dnug.de Enterprise Java Beans Das Werkzeug
  26. 26. www.dnug.de Enterprise Java Beans Das Werkzeug
  27. 27. www.dnug.de JAX-RS • Java API für Restful Webservices • https://tomee:8080/eeapp/restapi/user/load Das Werkzeug
  28. 28. www.dnug.de JAX-RS und JSON Das Werkzeug
  29. 29. www.dnug.de JAX-RS API (am Beispiel „Login“) Das Werkzeug
  30. 30. www.dnug.de • Verteilte Entwicklung – SCC mit GIT – CCM mit IBM RTC • Continuoues Integration – Maven – JUnit – Jenkins Die Baustelle
  31. 31. www.dnug.de Probleme und Stolpersteine • Genauigkeiten • JDBC: MS JDBC vs. jTDS • ORM & Stored Procedures • LTPA-Token • Ajax-Proxy
  32. 32. www.dnug.de Fazit • Vorhandene „Bausubstanz“ (Domino) ist erhaltenswert • Neubauten im Hintergrund sind bei komplexen Anforderungen unvermeidlich • Komplexität wird durch verteilte Architekturen verringert • Nachhaltigkeit der Entwicklung wird verbessert
  33. 33. www.dnug.de Copyright © 2014, ULC Business Solutions GmbH / Gabo GmbH & Co. KG Bildquellen: www.morguefile.com, de.wikipedia.org, J.Ribbeck

×