Advertisement
Advertisement

More Related Content

Slideshows for you(20)

Advertisement

Similar to DNUG 2014 Herbstkonferenz: Moderne Architektur - Hochskalierbare Anwendungsarchitektur mit Domino Xpages und JavaEE/SQL-Server im Hintergrund(20)

Recently uploaded(20)

Advertisement

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

  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. 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. Unser Interesse: Architektur
  4. Unsere Erfahrungen: IBM Technologiestack (Notes/Domino, Sametime, Connections)
  5. Unsere Aufgaben: Entwicklung optimaler Anwendungs-Architekturen für konkrete Kundenaufgaben (auch „auf der grünen Wiese“)
  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. www.dnug.de Ein Praxisbeispiel Der „Bauherr“:
  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. 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. www.dnug.de Die Planung (Domino-Server) ?
  11. www.dnug.de • Viele zu erwartende Zugriffe (auch gleichzeitig) • Revisionssicher Datenspeicherung • Strukturierte Daten • Hohe Anforderung an mathematische Genauigkeit Risikoanalyse
  12. www.dnug.de • Hohe Performance • Relationale Speicherung • Hohe Skalierbarkeit • Hohe Auswertbarkeit • … 1. Entscheidung: Datenhaltung in relationaler DB
  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. 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. 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. 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. www.dnug.de 2. Entscheidung: Verteilte Architektur „Umzug der Arbeiter ins neugebaute Funktionsgebäude“
  18. Der Bau …
  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. www.dnug.de • Ext JS – JavaScript / Ajax – MVC mit JSON – UI Design • XPages – JSF Basis – Dojo Die Fassade
  21. www.dnug.de IBM Domino Nutzerpflege im NAB Domino Ajax Proxy Asynchrone Anfragen Datenhaltung IBM J9 Das Werkzeug
  22. www.dnug.de - Release >= 8.5 - umgeht XSS - Authentifizierung über den Domino Server Domino Ajax Proxy
  23. www.dnug.de Java EE (TomEE) • Connection Pooling • Transaktionen • ORM mit JPA • JAX-RS • Debugging • Logging Das Werkzeug
  24. www.dnug.de ORM mit JPA Das Werkzeug
  25. www.dnug.de Enterprise Java Beans Das Werkzeug
  26. www.dnug.de Enterprise Java Beans Das Werkzeug
  27. www.dnug.de JAX-RS • Java API für Restful Webservices • https://tomee:8080/eeapp/restapi/user/load Das Werkzeug
  28. www.dnug.de JAX-RS und JSON Das Werkzeug
  29. www.dnug.de JAX-RS API (am Beispiel „Login“) Das Werkzeug
  30. www.dnug.de • Verteilte Entwicklung – SCC mit GIT – CCM mit IBM RTC • Continuoues Integration – Maven – JUnit – Jenkins Die Baustelle
  31. www.dnug.de Probleme und Stolpersteine • Genauigkeiten • JDBC: MS JDBC vs. jTDS • ORM & Stored Procedures • LTPA-Token • Ajax-Proxy
  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. www.dnug.de Copyright © 2014, ULC Business Solutions GmbH / Gabo GmbH & Co. KG Bildquellen: www.morguefile.com, de.wikipedia.org, J.Ribbeck
Advertisement