Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht.



Ähnliche Dokumente
Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke J.M.Joller 1

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

Programmierung von Java- Webanwendungen. paluno

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de (c) Michael Behrendt -

Multimedia im Netz. Wintersemester 2011/12. Übung 10. Betreuer: Verantwortlicher Professor: Sebastian Löhmann. Prof. Dr.

Windows Azure für Java Architekten. Holger Sirtl Microsoft Deutschland GmbH

Enterprise Application Integration Erfahrungen aus der Praxis

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller

Ora Education GmbH. Lehrgang: Oracle Application Server 10g R3: Administration

Internetanbindung von Datenbanken

Tomcat Konfiguration und Administration

Seite Out-Of-Band-Authentifizierung (OOBA) 8.1 Einleitung

Oracle9i Designer. Rainer Willems. Page 1. Leitender Systemberater Server Technology Competence Center Frankfurt Oracle Deutschland GmbH

Komponentenorientierte Software-Entwicklung. Seite 1 / 42

CAIRO if knowledge matters

Zend PHP Cloud Application Platform

Authentication Policy. Konfigurationsbeispiel ZyXEL ZyWALL USG-Serie. Juni 2010 / HAL

Einleitung. Funktion. Panzenböck Phillipp. Download Installation. Testen. Konfiguration

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap

Enterprise Web-SSO mit CAS und OpenSSO

Leichtgewichtige Web 2.0-Architektur für komplexe Business-Anwendungen Nicolas Moser PRODYNA AG

Softwareentwicklung mit Enterprise JAVA Beans

Systemvoraussetzungen

Grundlagen der Web-Entwicklung

Systemvoraussetzungen

Remedy-Day Innovative ITSM Lösungen von NTT Data. Machen wir es uns besser, schöner und leichter. Thomas Rupp Alexander Lyer Lukas Máté

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

SAS Metadatenmanagement Reporting und Analyse

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?

Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

VPN IPSec Tunnel zwischen zwei DI-804HV / DI-824VUP+

HP Service Manager 7 mit ITSM Implementation Accelerator (IIA) ITIL V3 out of the box?

Abschlusspräsentation Projekt Loan Broker mit BizTalk 2010

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

Federated Identity Management

Radius Server. Bericht im Studiengang Computerengineering an der HS-Furtwangen. Student: Alphonse Nana Hoessi Martikelnr.:227106

Abschlussarbeiten für StudentInnen

Desktop Management Interface und andere Initiativen der DMTF

Mapbender3 Workshop. Christian Wygoda. FOSSGIS Dessau 2012

Business Applika-onen schnell entwickeln JVx Framework - Live!

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT

Projekt Weblog :: Integration

Version Deutsch In diesem HOWTO wird beschrieben wie Sie Ihren Gästen die Anmeldung über eine SMS ermöglichen.

Thomas Wagner 2009 (im Rahmen der TA) Installation von MySQL 5.0 und Tomcat 5.5

MailUtilities: Remote Deployment - Einführung

Oracle Weblogic Administration Grundlagen

WebSphere Application Server Installation

a.sign Client Lotus Notes Konfiguration

Automatisierungsarchitekturen für das Smart Grid Am Beispiel der OPC UA und der IEC Dr.-Ing. Mathias Uslar, Sebastian Rohjans

Web 2.0 Software-Architekturen

TimeMachine. Time CGI. Version 1.5. Stand Dokument: time.odt. Berger EDV Service Tulbeckstr München

Datenmanagement in Android-Apps. 16. Mai 2013

e-business - Patterns Stefan Brauch (sb058) -- Julian Stoltmann (js057)

Überblick Produkte. ORACLE AS 10g R3 JAVA Programming. (5 Tage)

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap

Matrix42. Use Case - Inventory. Version Februar

Sybase Central Dokumentation Aktivierung der Monitoringfunktion

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

SharePoint Security Einführung in das SharePoint Sicherheitssystem. Fabian Moritz MVP Office SharePoint Server

Workflow, Business Process Management, 4.Teil

IEEE 802.1x Authentifizierung. IEEE 802.1x Authentifizierung IACBOX.COM. Version Deutsch

Switch 1 intern verbunden mit onboard NICs, Switch 2 mit Erweiterungs-NICs der Server 1..6

Zentraler Druckserver mit CUPS

4. Objektrelationales Mapping Grundlagen der Programmierung II (Java)

RT Request Tracker. Benutzerhandbuch V2.0. Inhalte

THEMA: SAS ADMINISTRATION LEICHT GEMACHT MIT SAS 9.4 ALLE SYSTEME IM BLICK" ANKE FLEISCHER

1CONFIGURATION MANAGEMENT

Weblog. Projektdokumentation. Java NDK Fallstudie. Identifikation: ID Status: in Arbeit Version: 00.11

SINT Rest App Documentation

Next generation open source BPM JBoss jbpm 4. Java Forum Stuttgart

Application Frameworks

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, Java Forum Stuttgart 2007

Was ist LDAP. Aufbau einer LDAP-Injection. Sicherheitsmaßnahmen. Agenda. LDAP-Injection. ITSB2006 WS 09/10 Netzwerkkonfiguration und Security

Entwicklung von Web-Anwendungen auf JAVA EE Basis

ARCHITEKTUR VON INFORMATIONSSYSTEMEN

Citrix Dazzle. Die Zukunft der XenApp Bereitstellung? Thomas Kötzing - Freiberufler, Analyst Microsoft MVP, Citrix CTP / ThomasKoetzing.

Web-Anwendungsentwicklung mit dem Delivery Server

Diplomarbeit: GOMMA: Eine Plattform zur flexiblen Verwaltung und Analyse von Ontologie Mappings in der Bio-/Medizininformatik

Klausur Interoperabilität

Technote - Installation Webclient mit Anbindung an SQL

Graphen in Apex von Thomas Hernando.

Systemvoraussetzungen

Gut zu wissen... Lorenz Keller Server Technologies Competence Center Nord

Anleitung zur Einrichtung von Outbound und Inbound Filtern Für DWR-512 (Stand August 2012)

Modul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug Name: Note:

JSP und Servlet Programmierung

Installation des GeoShop Redirector für Apache (Stand ) ================================================================

Online Banking System

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel

Was ist PretonSaverTM... 3 PretonSaver's... 3 PretonCoordinator... 3 PretonControl... 4 PretonSaver Client... 4 PretonSaver TM Key Funktionen...

SE2-10-Entwurfsmuster-2 15

Benutzerdokumentation Web-Portal

Dynamisches VPN mit FW V3.64

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen

OP-LOG

Oracle APEX 3.2. Peter Raganitsch. Einführung und neue Features

Java - Webapplikationen

Transkript:

Technisches Design Inhalt Design Übersicht Menü und DispatcherServlet DWR Servlet Viewer Servlets Controllers Managers Sicherheit Anwendung Architektur Component Diagram Deployment Diagram Komponente Sequence Diagram: View ActiveMQ Configuration Sequence Diagram: Edit ActiveMQ Configuration Datenbank Architektur Daten Modell Anhang A: Akronyme, Abkürzungen, Begriffe und Definitionen Anhang B: Produkte & Tools Anhang C: Konfiguration und Ressource Dateien XML Konfigurationsdateien XML Ressource Dateien Design Übersicht Die Servicelayer Management Console ist eine Web Anwendung basiert auf das Spring MVC Framework Menü und DispatcherServlet Jede Controller in die gleiche Menü-Gruppe gehört zu dem gleichen DispatcherServlet und jede DispatcherServlet hat eine XML Konfiguration Datei (Anhang C) Menü Name Servlet Name XML Konfiguration Datei Home home home-servlet.xml Configuration configuration configuration-servlet.xml Servicelayer servicelayer servicelayer-servlet.xml Messagequeue messagequeue messagequeue-servlet.xml Help help help-servlet.xml DWR Servlet Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht. Die Kommunikation zwischen die Javaskripte im Browser und die Web Server ist mit Hilfe von DwrSpringServlet gemacht und im dwr-servlet.xml konfiguriert. Viewer Servlets Um die verschiedenen Typen von Datei-Format zu sehen, ein paar Viewer Servlets wurden erstellt: Servlet Name Servlet Klasse Datentyp file FileViewerServlet Excel image ImageViewerServlet JPEG

xml XmlViewerServlet XML wsdl WsdlViewerServlet WSDL html HtmlViewerServlet HTML Controllers Jede Controller muss minimal einen controllername (oder commandname für Form Controller) Attribut definieren. Dieses Attribut erlaubt die Mapping mit JSP Seite (views.xml) und Ressource (controllers.xml). Jede Interaktion mit einem lokalen oder remoten System ist durch Manager Klasse (managercontext.xml) gelöst. Managers Jede Manager ist verantwortlich für eine lokale oder remote Business Logik. Remote Business Logik (JMX Server Aufrufe, Data Access Layer,...) sind im verschiedene Access Module implementiert: Access Modul access-management Zweck Management DB Zugriff Remote Server Zugriff access-config access-message access-log Config DB Zugriff Message DB Zugriff Log DB Zugriff Sicherheit Die Sicherheit von der Web Anwendung ist mit Spring Security (spring-security.xml) konfiguriert. Authentication ist durch produktive LDAP geprüft. Authorisation ist durch interne Rolle definiert und im Management DB gespeichert: Rolle Administrator Client Configuration Server Configuration Backend Configuration Staging Configuration Tomcat Manager Servicemix Manager Solr Manager Terracotta Manager Message Queue ActiveMQ Menü User Authorization Active User Scheduled Tasks Log DB Client Client Configuration Server Configuration Backend Configuration Environment Access Tools Tomcat Instance Manager Tomcat Instance JConsole Service Log4j Config Servicemix Instance Manager Solr Http Server Manager Terracotta Server Manager Show Messages ActiveMQ Server Status Anwendung Architektur

Component Diagram Deployment Diagram

Komponente Web Browser - User hat Zugriff auf die Management Console Web Anwendung durch seinen Web Browser Management Console Web Anwendung - aka SLMC LDAP - Directory Server für den User Authentication und Backend Status zugegriffen config DB - MySQL-Datenbank wo alle Client, Server und Backend Konfigurationen gespeichert sind management DB - MySQL-Datenbank wo Management Console Daten gespeichert sind message DB - MySQL-Datenbank wo WebAngebot Requests (Web -> Servicelayer -> Vision) gespeichert sind log DB - MySQL-Datenbank wo Tomcat und Access (für Statisitk) Logs gespeichert sind Syrius DB - Oracle-Datenbank für den Backend Status zugegriffen Syrius ASE DB - Oracle-Datenbank für den Backend Status zugegriffen LP DB - Oracle-Datenbank für den Backend Status zugegriffen

DMS Server - Filenet System für den Backend Status zugegriffen Syrius Server- Directory Server für den Backend Status zugegriffen Layer7 Server - SecureSpan Manager (XML Gateway) für den Layer7 Status zugegriffen Tomcat Server - Web Server für den Tomcat Instance Status, Tomcat Instance JConsole und Services Status zugegriffen ActiveMQ Server - JMS Message Broker Server für den Active MQ Server Status zugegriffen Solr Server - Lucene Index Server ist durch Servicemix Server für Solr Http Server Manager und Solr Http Server Status zugegriffen Servicemix Server - Enterprise Service Bus Server für den Servicemix Instance Status, Servicemix Feature Status und Servicemix Instance Manager zugegriffen Alarm Server - Email Server um Notifikation zu senden Sequence Diagram: View ActiveMQ Configuration Sequence Diagram: Edit ActiveMQ Configuration Datenbank Architektur Daten für die Management Console-Anwendung sind in der Management Datenbank gespeichert. Daten Modell

Alert Tabelle enthält die Benachrichtigungen (E-Mail), die im Falle von Problemen gesendet werden: CREATE TABLE Alert ( id INTEGER AUTO_INCREMENT PRIMARY KEY, environment VARCHAR(255), category VARCHAR(255), validfrom DATETIME, validto DATETIME, active BOOLEAN, lockid VARCHAR(255), timestamp TIMESTAMP) ENGINE = InnoDB; UserRoles Tabelle enthält die User Rolle (Authorisation): CREATE TABLE UserRoles ( id INTEGER AUTO_INCREMENT PRIMARY KEY, username VARCHAR(255) UNIQUE, enabled BOOLEAN, roleadministrator BOOLEAN, roleconfigurationclient BOOLEAN, roleconfigurationserver BOOLEAN, roleconfigurationbackend BOOLEAN, roleconfigurationstaging BOOLEAN, rolemessagequeue BOOLEAN, roleactivemq BOOLEAN, roletomcatmanager BOOLEAN, roleservicemixmanager BOOLEAN, rolesolrmanager BOOLEAN, roleterracottamanager BOOLEAN, lockid VARCHAR(255), timestamp TIMESTAMP) ENGINE = InnoDB; TomcatLauncherLog Tabelle enthält die Tomcat Launcher Logs: CREATE TABLE TomcatLauncherLog ( id INTEGER AUTO_INCREMENT PRIMARY KEY, command VARCHAR(255), environment VARCHAR(255), restrictions VARCHAR(255), protocol TEXT, successful BOOLEAN, lockid VARCHAR(255), timestamp TIMESTAMP) ENGINE = InnoDB; SqlQueries Tabelle enthält die gespeicherte Log DB SQL Queries ( "Log DB Client" Menü ): CREATE TABLE SqlQueries ( id INTEGER AUTO_INCREMENT PRIMARY KEY, username VARCHAR(255), sqlqueryname VARCHAR(255), sqlquery MEDIUMTEXT, lockid VARCHAR(255), timestamp TIMESTAMP) ENGINE = InnoDB; Anhang A: Akronyme, Abkürzungen, Begriffe und Definitionen MVC Model View Controller

DWR Direct Web Remoting AJAX Asynchronous JavaScript and XML Anhang B: Produkte & Tools Software/Tool Version Source Spring MVC 2.5.6.SEC01 <dependency> <groupid>org.springframework</groupid> <artifactid>spring-webmvc</artifactid> <version>2.5.6.sec01</version> Servlet API 2.4 <dependency> <groupid>javax.servlet</groupid> <artifactid>servlet-api</artifactid> <version>2.4</version> <scope>provided</scope> JSP API 2.0 <dependency> <groupid>javax.servlet</groupid> <artifactid>jsp-api</artifactid> <version>2.0</version> <scope>provided</scope> Tag Libraries 1.1 <dependency> <groupid>taglibs</groupid> <artifactid>standard</artifactid> <version>1.1.2</version> <dependency> <groupid>javax.servlet</groupid> <artifactid>jstl</artifactid> <version>1.1</version> Spring LDAP 1.2.1 <dependency> <groupid>org.springframework.ldap</groupid> <artifactid>spring-ldap</artifactid> <version>1.2.1</version> Access Management Esel Projekt Version <dependency> <groupid>ch.visana.access.management</groupid> <artifactid>ch.visana.access.management</artifactid> <version>x.x.x</version> Access Log 1.1.0 <dependency> <groupid>ch.visana.access.log</groupid> <artifactid>ch.visana.access.log</artifactid> <version>1.1.0</version> Access Message 1.1.0 <dependency> <groupid>ch.visana.access.message</groupid> <artifactid>ch.visana.access.message</artifactid> <version>1.1.0</version> DWR (Ajax für Java) 2.0.rc2 <dependency> <groupid>org.directwebremoting</groupid> <artifactid>drw</artifactid> <version>2.0.rc2</version> Tomcat 6 6.0.16 http://tomcat.apache.org/download-60.cgi

Anhang C: Konfiguration und Ressource Dateien XML Konfigurationsdateien 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 1. 2. web.xml - Die Web-Anwendung Deskriptor liefert die Applikations-Server mit Informationen über die Web-Ressourcen in der Anwendung. applicationcontext.xml - Diese Spring Konfiguration importiert die Access Module Spring Konfiguration Dateien und definiert Themes und Ressourcen managercontext.xml - Diese Spring Konfiguration definiert alle Basis-Controller und alle Manager, die von Controller gebraucht sind spring-security.xml - Diese Spring Konfiguration definiert die Management Console Sicherheit Regeln und LDAP Zugriff dwr-servlet.xml - Diese Spring Konfiguration definiert die DWR (Ajax javascript) Objekte home-servlet.xml - Diese Spring Konfiguration definiert die home servlet (Home Menu) Spring Web MVC Komponenten configuration-servlet.xml - Diese Spring Konfiguration definiert die configuration servlet (Configuration Menu) Spring Web MVC Komponenten servicelayer-servlet.xml - Diese Spring Konfiguration definiert die servicelayer servlet (Servicelayer Menu) Spring Web MVC Komponenten messagequeue-servlet.xml - Diese Spring Konfiguration definiert die messagequeue servlet (Messagequeue Menu) Spring Web MVC Komponenten help-servlet.xml - Diese Spring Konfiguration definiert die help servlet (Help Menu) Spring Web MVC Komponenten views.xml - Diese Spring Konfiguration definiert die Mapping zwischen Controller Name und JSP Datei XML Ressource Dateien controllers.xml - Diese Konfiguration definiert einen Titel, einen StyleClass (managementconsole.css) und einen Text-Pfad für jeden MVC Controller menu.xml - Diese Konfiguration definiert die Menu-Struktur mit der Hierarchie und alle nötige Attribute