Entwicklung webbasierter Systeme

Größe: px
Ab Seite anzeigen:

Download "Entwicklung webbasierter Systeme"

Transkript

1 Wörter: 9178 Zeilen: 2644 Matthias Günther So eine Webanwendung ist wie ein Garten: Man legt Bereiche an und lässt es wachsen. Entwicklung webbasierter Systeme Geschrieben am 9. Juni 2010 gehalten von Dr.-Ing. Christian Erfurth im Wintersemester 2009/2010 (Die Autoren übernehmen keine Garantie und Haftung für die Korrektheit des Skriptes. Das Skript ist unter den Namen von Matthias Günther veröffentlich.) Kommentare/Korrekturen an: Homepage: Copyright Skript-Covers: Der Helex-Matze Verlag n i=1 wikimatze.de GAMES WORKSHOP LTD (www.games-workshop.com) i

2 Inhaltsverzeichnis 1 Grundlagen des World Wide Webs 3 Webtechnologien Verteilte Systeme und Anw 7 Middleware Kommunikationsorientierte M RMI als Beispiel für kommunikationsorientierte M Anwendungsorientierte M Technologien Laufzeitumgebung der M Nebenläufigkeit der M Verbindungsverwaltung der M Cluster Sicherheit der M Namensdienst Sitzungsverwaltung Transaktion ACID Verteilte Transaktionen X/Open Modell zur Verwaltung verteilter Transaktionen Persistenzdienst Informationssysteme Interprozesskommunikation Asynchrone Kommunikation Synchrone Kommunikation Architekturmodelle Client-Server-Architektur Client-Server Varianten Peer-to-Peer Modell Tier Thin- und Fat-Client-Architekturen Web Engineering 19 WebAnw Eigenschaften Kategorien WebEng Schichten Methoden Prozess WebEng Prozess Best Practices Agile Entwicklung 23 Agile Prinzipien und agiles Vorgehen Agile Charakteristiken Agile Prozess-Modelle XP

3 Adaptive Software Entwicklung Dynamic Systems Development Method Scrum Crystal Feature Driven Development Pair Programming Testgetriebene Entwicklung Agile Modellierung Formulierung und Planung webbasierter Systeme 29 Formulierung Planung Design von WebAnw 33 Qualitäten für webbasierte Anw Qualitätsdimensionen für Endnutzer Design-Ziele für WebAnw Design-Pyramide Interface-Design Ästhetik-Design Inhalts-Design Navigations-Design Architektur-Design Komponenten-Design MVC Architektur Hypermedia Design Patterns Designmetriken Analyse von webbasierten Anw 40 Inhaltsmodell Interaktionsmodell Funktionales Modell Konfigurationsmodell Relationship-Navigation Analyse Testen von WebAnw 43 Test-Strategie Bewertung Semantik des Inhalts Interface-Mechanismen testen Benutzbarkeit testen Kompatibilitätstests Component-Level Navigation Konfiguration Sicherheit Performance-Test Lasttests Stresstest

4 9 Prüfungsvorbereitung 49 Grundlagen des 49 VS und Anw Web Engineering Agile Entwicklung Formulierung und Planung webbasierter Systeme Design von WebAnw Analyse von webbasierten Anw Testen von WebAnw Literatur 67

5 1 Grundlagen des World Wide Webs Web-Anwendungsformen viele Mgls. der Vernetzung Kooperation bei Standortverteilung 1 Netzwerk-Kollaboration Dokumente, Foren Historisches 1970 ARPANET 1989 Ursprung des WWW Projektvorschlag zur Dokumenten-Verlinkung durch Berner- Lee 1993 Mosaic-Browser, 1994 Gründung W3C Netscape Navigator 3, 1997 XML-Spezifikation 4 Wachstum des Webs # Webseiten ebenso wie Zugriffe exorbitant in [1994,2001] neu Nutzungsformen: Unterhaltung, E-Commerce, Sex 5, Gesundheit u. Bildung Definition 1.1: Web Engineering Eine Basis des Web Engineering (WebEng) ist SW-Engineering, welche ausgestattet mit multimedialen Inhalten auf verteilten u. offenen Systemen laufen. Eine zweite Basis ist WWW, da dies der Grundstein für die Ausführung von Webanwendungen (WebAnw) ist. Bem. für Entwicklung von Websystemen stehen allgemeine Methoden u. Verfahren der SWT bzw. SW-Engineering zur Verfügung hierfür wird der Begriff des WebEng verwendet Webtechnologien Definition 1.2: Webtechnologien Sind implementierte Verfahren, welche aufs Internet aufbauen u. für die Entwicklung u. Anwendung von Systemen im WWW genutzt werden. Bem. 1 z.b. Skype, Konferenzsysteme, Telearbeit 2 World Wide Web Consortium 3 unterstützt neben einer vereinfachten -Version vorallem Java-Anwendungen 4 Extensible Markup Language 5 fucking awesome, yeah 5

6 es werden ständig neue Lösungswege 6 entwickelt, da die vorhandenen Technologien teilweise miteinander verwendet werden können Transportsystem für Webtechnologien ist das Internet: Internet PDA lokales Netzwerk FunkLan Firmennetzwerk PC PC PC Transportsystem globale Rechnernetze, wie das Internet selbst mobile Netze (UMTS, GPS) spezielle Rechnernetze mit Mobilitätsfkt. (WLAN, Bluetooth) ISO/OSI Referenzmodell: Anwendungssystem Schicht Anwendungs Darstellungs Sitzungs Transport scheinbarer Kommunikationsweg Schicht Anwendungs Darstellungs Sitzungs Transport Transportsystem ordnet sich ISO/OSI-Referenzmodell 7 unter Transportsystem Netzwerk Sicherungs Schichtenprotokolle Netzwerk Sicherungs Netzarchitektur des Internets in der Praxis Bitübertragungs Netzwerk Bitübertragungs 1. Anwendungssicht: FTP, TELNET, DNS, , RPC, NIS 8 u. http 2. Transportschicht: TCP 9 u. UDP Vermittlungsschicht: Internet, IP Netzwerk: Ethernet, FDDI 12 Inter-, Intra- u. Extranet 6 denke nur an die rasante Entwicklung von Frameworks 7 dieses Modell beschreibt den Datenaustausch zwischen Systemen 8 Network Information System, d.h. ist Verzeichnisdienst zur Verteilung von Konfigurationsdaten wie Benutzernamen oder Rechnernamen in einem Computernetzwerk 9 Transport Control Protocol 10 User Datagram Protocol 11 Internet Protocol ist eine Form des Routings, welche auf Grundlage einer eindeutigen Identifzierung der Netzkomponenten basiert 12 Fiber Distributed Data Interface = erste Glasfaser basierte Netztechnologie 6

7 Internet : ist eine IP-basierte Rechnernetztechnologie, bei der die Rechner eindeutig adressiert sind 13 ; wird implizit in Einrichtungen od. Firmen bzw. explizit von einem ISP 14 bereitgestellt Intranet : ist internetbasierte Rechnernetzform, die entweder vollständig vom Internet getrennt od. mittels spezieller Schutzmechanismen 15 über Kontaktstellen 16 zum äußeren Internet verfügt Extranet : Teil des Internets herauspicken als Nutzungsform für bestimmten Nutzerkreis durch spezielle Technologie 17 geschützt ist Definition 1.3: Ubiquitous Computing Permanente orts-, zeit- u. geräteunabhängige Verfügbarkeit spezieller Computerdienste in einem technologischen Gesamtkontext. Ubiquitous Computing: Internet Tele-Gateway eigenes Intranet Host-Intranet Handy Funk-Lan Drucker Kamera Laptop Client Server vs. P2P Client Server : 18 Server nimmt Anfragen des Clienten entgegen u. sendet Antwort zurück P2P : 19 Geräte kommunizieren direkt miteinander, d.h. ein Laptop kann sowohl Anbieter als auch Konsument sein Definition 1.4: Webserver (Webs) Aktive Prozesse eines Rechnerknotens, die Webdienste in einfacher od. integrierter Form zur Verfügung stellen. Bem. Webs sind dabei aufs WWW eingeschränkt, andere Internetdienste werden durch andere Serverarten 20 bereitgestellt 13 IPV 6 ist der neue Standard mit 128 Bit Adresslänge 14 Internet Service Provider 15 Firewall 16 meist Router 17 Tunnelung, Kryptographie 18 webbasierte SW-System, bei dem Client (Dienstnutzer) u. Server (Diensterbringer) eindeutig getrennt sind 19 via Filesharing Held der Sauger geworden 20 z.b. FTP, Mail-Server, File-Server 7

8 Bsp.: Apache-Server Definition 1.5: Applications-Server (App-Serv) Ist Webs mit konkreten Anwendungsbereich, bei dem mehrere Komponenten einer WebAnw fachlich strukturiert werden. Referenzierung erfolgt via URL 21 Verlauf eines Webseitenzugriffs 1. Nutzer fordert an 2. DNS 22 ordnet dieser HTTP-Adresse eine Zahl zu 3. HTTP erzeugt die Anforderung GET/HTTP u. sendet sie 4. Server überprüft Anforderung Ist Anforderung ok, dann sendet der Server ein HTML-Dokument od. das Resultat einer Applikation via HTTP zurück bzw. spuckt Fehlercode aus 6. Browser stellt das Ergebnis im Browser dar u. sagt, ob weitere Objekte benötigt werden Architektur und Arbeitsweise eines Webseitenzugriffs: statische Web-Seiten Proxyserver Nicht-Web- System Browser Webs WebAnw Proxycache Datenbasis Proxycache : lokales Abbild der Webseite spart Ladezeit bei wiederholten Seitenaufruf Proxyserver : vor Seitendarstellung ein ganzer Server stellen, welches Speicherbereiche sind, die bereits gelesene Webseiten eine Zeit lang speichern 24 Entwicklung des Webs 1993 : Mosaic-Browser ruft HTML-Dokumente ab, CGI + GIF 1995 : Netscape-Browser, Cookies + JPEG 1997 : Javascript, Applets, Plugins für Browser (ActiveX) 1999 : dynamische Webseiten, CMS, JSPs, ASPs, eigene Einstellungen im Browser möglich 2001 : Ontologien, semantisches Web durch RDF Uniform Resources Locator 22 Domain Name Service bildet Domänennamen auf IP-Adressen ab 23 eventuell redirect auf anderen Server, auf dem die DNS aufgelöst werden kann 24 spart traffic 25 Resource Description Framework 8

9 2 Verteilte Systeme und Anw Bsp eines VS: Computer Computer Computer Laptop Backbone Backbone Server ISP Server Computer Server Laptop Server Mainframe Server Intranet U X Computer Computer Printer Intranet U Y Laptop-Computer Laptop-Computer Satellitenverbindung Intranet Org A Intranet Org B Definition 2.1: Verteiltes System (VS) Ist ein System, in dem sich HW- u. SW-Komponenten auf vernetzten Computern befinden u. miteinander über Nachrichtenaustausch kommunizieren. Bem. größtes bekannte VS ists Internet Kommunikation durch einheitliche Sprache - TCP/IP-Protokollstack VS nutzt VA als Kommunikationsinfrastruktur Definition 2.2: Verteilte Anwendung (VA) Nutzt VS zur Lösung eines Probs. u. besteht aus verschiedenen Komponenten, die sowohl mit Komponenten des VS also auch mit anderen Anw kommuniziert. Bem. Kennzeichen VA: Vert. der Anw.-logik auf mehrere, voneinander weitgehen unabhängige Anw.-komponenten jede Anwendungskomponente kann auf einem separaten Knoten (Rechner) eines VS liegen Bsp. für VA: einfache Internet-Anw : FTP, Telnet vert. Informationssysteme (IS) : Flugbuchung, Internetshops vert. ES : Steuerungssoftware für Autos vert. mobile Anw : Kalender im ipod-touch VA: VA-Komponente VS-Knoten VS Netz VA-Komponente VS-Knoten 9

10 Middleware VS bietet nur rudimentäte Kommunikationsdienste, d.h. komplexere Aufgaben auf höherer Ebene verarbeiten Middleware Definition 2.3: Middleware (M) Wird als VA als Zugriffsschnittstelle zum VS genutzt, um Verteilungsaspekte zu verbergen u. um von der Netzwerkprogrammierung zu abstrahieren. Bem. Dienste M: Namensdienst, Sitzungsverwaltung Transaktionsverwaltung, Persistenz M: VA VA-Komponente M VS-Knoten Netz VA-Komponente M VS-Knoten Kommunikationsorientierte M kommunikationsorientierte M konzentriert sich im Gegensatz zur anwendungsorientierten M vor allem auf die Bereitstellung einer Kommunikationsinfrastruktur für VA setzt direkt aufs Protokoll des VSs auf Aufgaben: Schnittstelle zur Kommunikationsinfrastruktur bereitstellen, Datentransformation u. Fehlerbehandlung Bsp.: Sun RPC, Java RMI VS kommunikationsorientierte M: BS Anw. kommunikationsor. M RMI als Beispiel für kommunikationsorientierte M Remote Method Invocation (RMI) 26 = D f ermöglicht es einem Objekt Methoden auf einem entfernten Objekten aufzurufen Stumpf/Skeleton 27 sind einfache abstrakte Beschreibungen des Proxy-Objekts, welche das Interface implementieren Modell setzt auf dem Proxy Pattern auf Proxy Pattern 28 Stellvertreterobjekt des Serverobjekt (Proxy) auf Clientseite RMI: Clientprozess Clientobjekt Proxy-Objekt Client-Stub VS Serverprozess Serverobjekt Server-Stub/ Skeleton Proxy-Objekt verhält sich dem Client gegenüber so, als wäre es das Serverobjekt - intern leitet es Aufrufe an das eigentliche Serverobjekt weiter Stub bietet zusätzliche Funktionalität zum Marshalling 29 u. Unmarshalling einfache Implementierung u. Infrastruktur; - für größere Anw Progaufwand hoch 27 Stub 28 Vorteil: Abstraktion von der Schnittstelle 29 Daten in ein übertragungsfähiges Format transformieren 30 Wiederherstellung der Daten nach Empfang 10

11 Client kennt lediglich Schnittstelle, nutzt diese für Aufrufe u. dadurch kann ich Objekte an Schnittstellen ansprechen Proxy-Pattern: Schnittstelle Ziel des Patterns: Zugriffstransparenz Client Proxy Client Middlewaretechnologie Java RMI 31 Java-basierte Implementierung des RMI Kommunikationsmodells Datentransformation erfolgt über Objektserialisierung integrierter Namensdienst: RMI Registry 32 verwendet das Sicherheitsmodell der Java Plattform Java RMI Architektur: Realisierungsschritte zur Java RMI Anw: Server-main Methode Client-main Methode Serverobjekt Client (Java) Schnittstelle (Java) Server (Java) Stub/Skeleton Schicht Stub/Skeleton Schicht Remote Reference Schicht / JVM Remote Reference Schicht / JVM javac Kommunikationsprotokoll (IIOP) Protokollstack Client (Bytecode) Schnittstelle (Bytecode) Server (Bytecode) Anwendungsorientierte M Anwendungsorientierte M erweitert kommunikationsorientierte M um Laufzeitumgebung, Dienste u. optional die Unterstützung eines Komponentenmodells. Einsatz: SW-intensive, datenzentrierte u. interaktive VSs setzt auf der kommunikationsorientierten M auf erweitert diese um: Laufzeitumgebung 33, Dienste 34 u. Komponentenmodell 35 Anwendungsorientierte M: Dienste Komponentenmodell Laufzeitumgebung Dienste Technologien ORB : 36 RMI, Dienste, Laufzeitumgebung BS Anwendungskomponente Anwendungskomponente Anwendungskomponente Kommunikationsinfrastruktur VS Application Server : RMI, Dienste, Komponentenmodell, Verwalten die Anwendungslogik auf Middle-Tier M Plattformen : enthalten im Kerne einen Application Server, unterstützen Anwendungskomponenten auf allen Tiers, z.b. J2EE,.Net 31 Sicherheitsmodell der Java RMI: Sandbox-Modell u. Untrusted Code 32 löst Namen auf 33 ergänzt Funktionalitäten des BSs um verbesserte Ressourcenverwaltung, Nebenläufigkeit u. Sicherheitsmodell 34 Namensdienst (IP-Adressen), Sitzungsdienst (für bestimmten Zeitrahmen einer Sitzung alle hierfür relevanten Daten zwischenspeichern), Transaktionsverwaltung (ACID) 35 unterstützt Entwicklung u. Laufzeit komponentenbasierter Anw. Kern des Modells ist die Def. eines Komponentenbegriffs (Komponentenstruktur festlegen, Art u. Anzahl der Komponentenschnittstellen) sowie die Festlegung einer geeigneten Komponentenlaufzeitumgebung (Lebenszyklus u. Lebenszyklusverwaltung der Komponenten festgelegt) 36 Object Request Broker, z.b. CORBA 11

12 Laufzeitumgebung der M BS verwaltet: HS, IO, Filehandles, Zuordnung von Prozessorzeit BS liefert Basisfunktionalität: starten u. beenden von Threads/Prozessen Interaktion von Threads/Prozessen Pipes, Sockets Synchronisation von Threads Semaphore Nebenläufigkeit der M ist isolierte parallele Bearbeitung von Aufrufen durch Prozesse u. Threads Prozesse: Ablaufraum für Anw im HS erhalten vom BS Ressourcen Speicherbereiche Threads: leben innerhalb eines Prozesses u. sind leichtgewichtig teilen sich Ressourcen Nebenläufigkeit durch Prozesse u. Threads: Prozess-basiert : nicht gut skalierbar u. geeignet bei geringer Nebenläufigkeitsrate Thread-basiert : gut skalierbar u. geeignet bei hoher Nebenläufigkeitsrate Verbindungsverwaltung der M Verbindungen sind Endpunkte von Kommunikationskanälen treten an Tier-Grenzen, also zwischen Prozessräumen auf 37 benötigen ebenfalls Ressourcen wie Speicher u. Prozessorzeit zwecks Ressourcenschonung werden Verbindungen gepoolt, d.h. Verbindungen werden Vorrat initialisiert u. in einem Pool gestellt Ausfallzeiten u. Verfügbarkeit Ausfallzeiten sind Zeiten, in denen Anw nicht verfügbar ist (geplant 38 od. ungeplant 39 ) Verfügbarkeit 40 sind Zeiten, in der eine Anw fehlerfrei dem Anwender zur Verfügung steht 37 z.b. Client-Server Schnittstelle, DB-Zugriff 38 Wartung 39 echter Error 40 muss bei Entwicklung einer Anw berücksichtigt werden 12

13 Cluster Frage: Wozu Cluster? Mgl. zur Gewährleistung von Verfügbarkeitsanforderungen Cluster arbeiten mit Replikaten von SW- u. HW-Komponenten fällt eine Komponente aus, übernimmt ein Replikat die Aufgaben für den Client tritt ein Cluster als eine Instanz auf Cluster-Arten Fail-over : Load-balancing : Haupt- u. Replikatserver sind vollständig identisch, liegen jedoch auf unterschiedlichen Knoten im VS bei Fehler werden alle Aufrufe an Replikatserver geleitet Hot-Stand-by: Replikatserver steht immer bereit u. kann bei einem Wechsel sofort Aufrufe bearbeiten Cold-Stand-by: Replikatenserver muss bei einem Wechsel explizit hochgefahren werden Einsatz: Ausfallsicherheit alle Instanzen arbeiten parallel Aufrufe werden nach einem vorgegebenen Algo 41 an alle Instanzen im Cluster verteilt Einsatz: Lastverteilung bei hoher Nebenläufigkeit Frage: Welche Clusterart nehmen? Es kommt drauf an M unterstützt je nach Komplexitätsgrad unterschiedliche Sicherheitsmo- Sicherheit der M delle: Authentifizierung : Identitätsicherstellung des Anwenders Technik: Abfrage von Kennung u. Passwort Autorisierung : Zuteilung der Zugriffsrechte auf konkrete Dienste Technik: Recht(s)verwaltung in DB Vertraulichkeit : übertragende Daten können nicht abgehört werden Technik Verschlüsselung Integrität : übertragende Daten wurden nicht u. Authentizität bestätigt Technik: Zertifikate u. Signaturen Verschlüsselung und Signaturen 41 z.b. Round Robin = es ordnet mehreren konkurrierenden Prozessen begrenzte Ressourcen zu. Das Round-Robin- Verfahren gewährt allen Prozessen nacheinander für jeweils einen kurzen Zeitraum Zugang zu den benötigten Ressourcen Arbitrierung 42 ist Aufgabe des Systemarchitekten ausgehend von den Anforderungen zu entscheiden, ob ein Cluster überhaupt notwendig ist u. danach welche Art von Cluster für die gegebenen Anforderungen sinnvoll ist 13

14 Verschlüsselung: symmetrisch : ein Schlüssel zum Ver- u. Entschlüsseln von Daten Prob. Schlüsselverteilung asymmetrisch : Verwendung eines Schlüsselpaars; öffentlicher Schlüssel zum Verteilen; privater Schlüssel verbleibt immer beim Schlüsselbesitzer kein Schlüssel-Prob. Signaturen: elektronische Unterschriften; Technik: asymmetrische Verschlüsselungsverfahren Verfahren RSA 43, DSA 44 Zertifikate Authentifizierung des Senders bei Signierung nur sinnvoll zur Sicherung der Signatur, nicht bei Vertraulichkeit Zertifikat: beglaubigt Zusammengehörigkeit von öffentlichem Schlüssel u. Person; wird von der Zertifikatsauthorität 45 ausgestellt Namensdienst Veröffentlichung von Diensten u. Ressourcen über Referenzen Name als eindeutiger u. un- Identifikator Ziel: Entkopplung von Client u. Server Bsp.: UDDI-, LDAP-Registry, JNDI, Interoperable Naming Service von CORBA Sitzungsverwaltung in Sitzung werden transiente Daten im HS verwaltet, welche nur für die Dauer der Sitzung gültig ist Teile der transienten Daten können nach der Sitzung persistent gemacht werden Prob.: Wo werden die Sitzungsdaten zur Laufzeit verwaltet? 1. WenAnw: im Browser, Webs 2. allen anderen Anw: Client, Anwendungsserver technisch gelöst werden diese transienten Daten durch Cookies, Session Key, HTTPSession u. Session Beans Rivest, Shamir, Adleman 44 Digital Signature Algorithm 45 sind hierarchisch organisiert 46 is created by a client and usually exists only for the duration of a single client-server session 14

15 Transaktion ACID Atomarität : alles oder nichts Prinzip Konsistenz : konsistenter Zustand wird in einen neuen konsistenten Zustand gebracht Isolation : Transaktionen dürfen sich nicht gegenseitig beeinflussen Dauerhaftigkeit : am Ende einer Transaktion speichern Wozu Transaktionen? Anw, die was mit Speicherung u. Auslieferung von Daten zu tun haben auch OnLine Transactional Processing (OLTP) genannt z.b. fallen IS unter den OLTP-Begriff Transaktionsverwaltung erfolgt durch: Ressourcenmanager: verwalten nur einfache Transaktionen Transaktionsdienste: verwalten verteilte veschachtelte Transaktionen auf Anwendungsebene Verteilte Transaktionen vertikal : horizontal : verschachtelt : bei datenzentrierten Anw werden die Daten aus der DB im Cache auf Middle-Tier zwischengespeichert ein Transaktionsdienst hat die Aufgaben, die Daten im Cache mit den Daten in der DB konsistent zu halten Erweiterung der vertikal verteilten Transaktion mehrere Ressourcen 47 müssen in Transaktion integriert werden innerhalb einer Transaktion finden Subtransaktionen statt wenn eine Subtransaktion nicht erfolgreich ist, kann die übergeordnete Transaktion trotzdem erfolgreich zu Ende gebracht werden müssen normalerweise programmatisch umgesetzt werden X/Open Modell zur Verwaltung verteilter Transaktionen ist anerkanntes Modell zur Verwaltung von vert. Transaktionen beschreibt Rollen der beteiligten Komponenten: Anw : initiiert den Start u. bestimmt durch den Aufruf eines commit od. rollback das Ende einer Transaktion Transaktionsverwalter : verwaltet die vert. Transaktionen über Ressourcen- u. Tier-Grenzen hinweg Ressourcenverwalter : stellen lokale Transaktionsverwaltung innerhalb einer Ressource, z.b. einer DB, sicher 47 z.b. mehrere DBs 15

16 der Commit an der Schnittstelle, also das Festschreiben der Transaktion, wird auch 2- Phase-Commit genannt Ablauf: 1. Anw fordert über begin am Transaktionsverwalter eine neue Transaktion an. 2. Transaktion ist nun aktiv. Die Anw kann im Folgenden beliebige Zugriffe auf verschiedene Ressourcen machen. 3. Jeder Ressourcenverwalter, der von der Anwendung innerhalb der Transaktion genutzt wird, teilt dem Transaktionsverwalter über den Aufruf join mit, dass er an der Transaktion beteiligt sein möchte. 4. Zu einem beliebigen Zeitpunkt fordert die Anw über den Aufruf commit das Ende der Transaktion an. 5. Der Transaktionsverwalter fordert die Ressourcenverwalter auf, die festzuschreiben 2-Phasen-Commit 48 Persistenzdienst neben Transaktionsverwaltung zweiter Säule für datenzentrierter Anw Persistenz = D f Gesamtheit aller Mechanismen zur Dauerhaften Speicherung von Daten Persistenzdienst ist intelligente Schnittstelle für die Anwendung zur DB u. unterstützt transaktionsgesicherte Persistierung der Daten ORM ist die häufigste Art des Persistenzdienstes u. er bildet Objekte im HS auf relationale DB-Tabellen ab Informationssysteme auch Enterprise Information Systems genannt u. helfen U/Orgs bei wirtschaftlichen u. org. Prozessen Eigenschaften eines IS: software-intensiv : kann aus tausenden bis Million LOCs bestehen datenzentriert : Kernaufgabe eines ISs ist Verwaltung/Bereitstellung von Daten nebenläufig : viele Anwender arbeiten parallel mit der Anw interaktiv : interaktive Benutzerschnittstelle vor allem bei anwendungsorientierte M Verwendung Interprozesskommunikation Mechanismus zum Nachrichtenaustausch zwischen Prozessen: verschiedene technische Umsetzungen: Datein, Pipes (nur lokal) u. über Sockets Phase: alle beteiligten Ressourcenmanager prüfen, ob die Transaktion bei ihnen erfolgreich ablaufen würde; 2. Phase: falls alle Ressourcenmanager die lokale Transaktion durchführen können, gibt der Transaktionsverwalter den Befehl zum Endgültigen Festschreiben 49 Port 80 für HTTP 16

17 Komponenten einer VA auf verschiedenen Knoten laufen in unterschiedlichen Threads/Prozessen Kommunikationsmodelle legen das Protokoll für den Ablauf der IPC fest asynchrone u. synchrone Kommunikation Asynchrone Kommunikation Sender ist nicht blockiert u. Prozess kann nach dem Senden der Nachricht sofort weiterarbeiten Nachrichten können in Queue gespeichert werden Fazit: + loose coupling keine Abhängigkeit Asynchrone Kommunikation: Sender Empfänger invoke() aktiv aktiv return Synchrone Kommunikation Sender wird für Zeit des Aufrufs direkt blockiert, bis Antwort vom Empfänger erhalten Voraussetzung: sichere u. schnelle Netzverbindungen sind verfügbar empfangender Prozess ist verfügbar Fazit: + wenn Empfänger fertig ist, wird dies sofort mitgeteilt, - enge Kopplung hohe Abhängigkeit im Fehlerfall Architekturmodelle Definition 2.4: Architekturmodell (AM) Beschreibt die Rollen einer Anwendungskomponente innerhalb der VA. Bem. Synchrone Kommunikation: Rolle der Komponenten wird durch Eigenschaften des Prozesses festgelegt: Client : kurzlebiger P als Initiator einer IPC Server : langlebiger P als Diensterbringer einer IPC Peer : kurzlebiger P als Initator u. als Diensterbringer Client-Server-Architektur Sender blockiert invoke() return Empfänger aktiv Client-Server-Architektur: start Client-Prozess end Server-Prozess Andeutung d. Zeitlinir 17

18 Client-Server Varianten Mobiler Code : Servercode wandert auf Anfrage in binärer Form zum Client Ausführung des Codes erfolgt am Client, Bsp.: Java Applets kooperierende Server : Verbund von Servern bearbeitet transparent einen Aufruf, Bsp.: DNS replizierte Server : Proxy Modell : Replikate von Serverprozessen zur Verfügung gestellt Bsp.: transparente Replikate (in Clustern zur Verbesserung der Performance u. Ausfallsicherheit), öffentliche Replikate (zur Lastverteiltung, z.b. Mirror Server) Proxy als Zwischenspeicher für Aufrufeergebnisse vom Server Ziel: Performance-Verbesserung Bsp.: Proxy zum Zwischenspeichern von Webseiten, Mirrors 50 Peer-to-Peer Modell benötigt keinen zentralen Prozess Modell u. verhindert single point of failure P2P Modell: Peer jeder Prozess kann sowohl als Client- als auch Serverprozess sein Peer VS (Internet) Peer Einsatz: Filesharing Peer Peer Peer Tier engl. Schicht/Stufe Definition 2.5: Tier Kennzeichnet einen unabhängigen Prozessraum innerhalb einer VA. Bem. Tier dient als Grundlage der n-tier 51 Architekturen n-tier Architekturen macht bei IS Sinn: Vert. der SW; Reduktion der Komplexität u. datenzentriertes Vorgehen Tier-Modell typische Aufgabenstellungen im IS: Präsentation - Schnittstelle zum Anwender Anwendungslogik - Anfragenbearbeitung Datenhaltung - Daten in DB speichern jede dieser Aufgaben der Anwendungskomponente wird einzelnen Tiers zugeordnet Art der Zuordnung ist Unterschied der verschiedenen n-tier Architekturen 50 Herunterladen von SW nicht nur auf einem Server, sondern auf dem ganzen Kontinent verteilt. 51 n gibt an, wie viele Prozessräume belegt sind 18

19 2-Tier 52 2-Tier: Client-Tier Präsentation Server-Tier Anwendungslogik Datenhaltung Zuordnung von Aufgaben zu Tiers: Präsentation - Client-Tier Anwendungslogik - Client-Tier u. /od. Server-Tier Datenhaltung - Server-Tier wird häufig in 4GL 53 eingesetzt u. dadurch Stored Procedures-Technologie 54 entwickelt Vorteile + einfach u. schnell umzusetzen + performant Nachteile - schwer wartbar u. skalierbar - SW-Update-Prob 3-Tier 55 Client-Tier = Browser zur Anzeige Middle-Tier = Webserver mit Servlets/ASP Server-Tier = DB-Server 4- u. mehr -Tier Motivation: Komplexität durch Divide & Conqueror besserer Schutz einzelner Anwendungsteile 3-Tier: Client-Tier Middle-Tier Server-Tier im Unterschied zu 3-Tier wird Anwendungslogik auf mehrere Tiers verteilt Präsentation Anwendungslogik Datenhaltung Typische 4-Tier WebAnw: Webclient DZM Webclient Internet Firewall Firewall Webs Webs Anwendungsserver DB-Server Webclient Tier 1 Tier 2 Tier 3 Tier 4 Internet Unternehmen 52 Bsp.: HTTP 53 Fourth Generation Languages 54 SQL-Anfragen werden in einer Stored-Procedur vordefiniert u. in der DB abgelegt. Dadurch ist es mgl. mit einen einzigen Wort einen komplexen Befehl auszuführen (denke an aliase aus Unix 55 sind Ausweg aus Nachteilen der 2-Tiers u. Standardverteilungsmodell für einfache WebAnw 19

20 Erklärungen zum Bild: DZM steht für Demilitarisierte Zone u. ist Pufferzone zwischen Internet u. Intranet u. soll das Eindringen von Hackern erschweren Tier-2 ist zuständig für das Entgegennehmen der Aufrufe u. Aufbereitung der Ergebnisse als HTML-Seiten Tier-3 beherbergt u. verwaltet die Anwendungslogik Tier-4 ist zuständig für die gesamte Datenhaltung Thin- und Fat-Client-Architekturen sind Verfeinerungsmodelle für die Zuordnung der Anwendungslogik Thin-Client : Präsentation auf Client-Tier beschränkt sich auf Anzeige von Dialogen u. aufbereitete Daten-Anzeige (bei allen n-tier) Ultra-Thin : Präsentation auf Client-Tier beschränkt sich auf Anzeige von Dialogen (bei = 3- Tier Architekturen) mgl. Fat-Client : Teile der Anwendungslogik liegen zusammen mit der Präsentation auf Client-Tier (2-Tier Architekturen) 20

Client/Server-Systeme

Client/Server-Systeme Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen

Mehr

Agiles Projektmanagement. erklärt in 30 Minuten! IT-Forum Agiles Projektmanagement, NIK 29. Juni 2011. Thomas Hemmer

Agiles Projektmanagement. erklärt in 30 Minuten! IT-Forum Agiles Projektmanagement, NIK 29. Juni 2011. Thomas Hemmer Agiles Projektmanagement erklärt in 30 Minuten! IT-Forum Agiles Projektmanagement, NIK 29. Juni 2011 Thomas Hemmer Chief Technology Officer thomas.hemmer@conplement.de conplement AG, Nürnberg 2 conplement

Mehr

Quality Point München

Quality Point München Quality Point München Test webbasierter Applikationen - Vorgehen, Instrumente, Probleme Gestern habe ich mich wieder über eine fehlerhafte Webanwendung geärgert. Muss das sein? Test ist halt auch hier

Mehr

Projektmanagement. Dokument V 1.2. Oliver Lietz - Projektmanagement. Probleme bei Projekten

Projektmanagement. Dokument V 1.2. Oliver Lietz - Projektmanagement. Probleme bei Projekten Projektmanagement Agile Methoden: Extreme Programming / Scrum Dokument V 1.2 Probleme bei Projekten Viel Arbeit, die an den Zielen vorbeigeht Viel Dokumentation für f r unbenutzte Bestandteile Fehlende

Mehr

Message Oriented Middleware am Beispiel von XMLBlaster

Message Oriented Middleware am Beispiel von XMLBlaster Message Oriented Middleware am Beispiel von XMLBlaster Vortrag im Seminar XML und intelligente Systeme an der Universität Bielefeld WS 2005/2006 Vortragender: Frederic Siepmann fsiepman@techfak.uni bielefeld.de

Mehr

Client/Server-Systeme

Client/Server-Systeme Frühjahrsemester 2011 CS104 Programmieren II / CS108 Programmier-Projekt Java-Projekt Kapitel 3: /Server-Architekturen H. Schuldt /Server-Systeme Ein zweischichtiges /Server-System ist die einfachste Variante

Mehr

Multiuser Client/Server Systeme

Multiuser Client/Server Systeme Multiuser /Server Systeme Christoph Nießner Seminar: 3D im Web Universität Paderborn Wintersemester 02/03 Übersicht Was sind /Server Systeme Wie sehen Architekturen aus Verteilung der Anwendung Protokolle

Mehr

Java 2, Enterprise Edition Einführung und Überblick

Java 2, Enterprise Edition Einführung und Überblick Universität aiserslautern AG Datenbanken und Informationssysteme Seminar Datenbank-Aspekte des E-Commerce Java 2, Enterprise Edition Einführung und Überblick m_husema@informatik.uni-kl.de Vortragsinhalte

Mehr

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching 1.1 Caching von Webanwendungen In den vergangenen Jahren hat sich das Webumfeld sehr verändert. Nicht nur eine zunehmend größere Zahl an Benutzern sondern auch die Anforderungen in Bezug auf dynamischere

Mehr

Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme

Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme Agenda Mobile Agenten allgemein JADE - Java Agent DEvelopment Framework Anwendungsfall

Mehr

Agile Softwareprozess-Modelle

Agile Softwareprozess-Modelle Agile Softwareprozess-Modelle Steffen Pingel Regionale Fachgruppe IT-Projektmanagement 2003-07-03 Beweglich, Lebhaft, Wendig Was bedeutet Agil? Andere Bezeichnung: Leichtgewichtiger Prozess Manifesto for

Mehr

Client/Server-Systeme

Client/Server-Systeme Frühjahrsemester 2013 CS108 Programmier-Projekt Kapitel 3: /Server-Architekturen H. Schuldt /Server-Systeme Ein zweischichtiges /Server-System ist die einfachste Variante eines verteilten Systems (also

Mehr

Architekturen. DB-Anwendungen: Aufgaben. Aufteilung der Funktionen. ƒ Datenbankanwendungen

Architekturen. DB-Anwendungen: Aufgaben. Aufteilung der Funktionen. ƒ Datenbankanwendungen Architekturen ƒ Datenbankanwendungen Aufgaben und Komponenten Aufteilung ƒ Architektur Web-basierter Anwendungen HTTP-basierte Architekturen Applet-basierte Architekturen Vorlesung Internet-Datenbanken

Mehr

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Ziele Common Object Request Broker Architecture CORBA Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Object Management Group Spezifiziert den CORBA-Standard

Mehr

Technologische Entwicklung von GIS und Internet der letzten Jahre

Technologische Entwicklung von GIS und Internet der letzten Jahre Technologische Entwicklung von GIS und Internet der letzten Jahre 10. Seminar GIS & Internet 10. bis 12. September 2007 UniBwMünchen Dr. Christine Giger Übersicht GIS vor 30 Jahren GIS vor 20 Jahren GIS

Mehr

Hauptseminar Management von Softwaresystemen. Techniken der System-Integration EAI, Middleware, SOA, CORBA

Hauptseminar Management von Softwaresystemen. Techniken der System-Integration EAI, Middleware, SOA, CORBA Hauptseminar Management von Softwaresystemen Techniken der System-Integration EAI, Middleware, SOA, CORBA Betreuerin: Referent: Ulrike Hammerschall Alexey Krivoborodov Agenda Motivation Arten der Verteilung

Mehr

Bekannte Tools in einem agilen Ansatz. Frank Schwichtenberg SourceTalkTage 2013 Göttingen, 2.10.2013

Bekannte Tools in einem agilen Ansatz. Frank Schwichtenberg SourceTalkTage 2013 Göttingen, 2.10.2013 Bekannte Tools in einem agilen Ansatz Frank Schwichtenberg SourceTalkTage 2013 Göttingen, 2.10.2013 Vorher Lange Planungszeiten und Releasezyklen Manche Features brauchten lange und wurden nicht gebraucht

Mehr

The Rational Unified Process. Eine Einführung von T. Langer und A. Nitert

The Rational Unified Process. Eine Einführung von T. Langer und A. Nitert The Rational Unified Process Eine Einführung von T. Langer und A. Nitert Übersicht Einleitung Probleme der SW-Entwicklung, Best Practices, Aufgaben Was ist der Rational Unified Process? Struktur des Prozesses

Mehr

DevOps in der Praxis. Alexander Pacnik 24.11.2015

DevOps in der Praxis. Alexander Pacnik 24.11.2015 DevOps in der Praxis Alexander Pacnik 24.11.2015 Einführung... DevOps Versuch einer Definition Alexander Pacnik IT Engineering & Operations Project Management inovex GmbH 2 Einführung... DevOps Versuch

Mehr

Web 2.0 Software-Architekturen

Web 2.0 Software-Architekturen Web 2.0 Software-Architekturen Servlets als Controller einer MVC Web Architektur Prof. Dr. Nikolaus Wulff HTTP und HTML Das HyperText TransferProtokoll (HTTP) beschreibt eine einfache verbindungslose Kommunikation,

Mehr

Datenbank-basierte Webserver

Datenbank-basierte Webserver Datenbank-basierte Webserver Datenbank-Funktion steht im Vordergrund Web-Schnittstelle für Eingabe, Wartung oder Ausgabe von Daten Datenbank läuft im Hintergrund und liefert Daten für bestimmte Seiten

Mehr

Virtuelle Präsenz. Peer to Peer Netze. Bertolt Schmidt

Virtuelle Präsenz. Peer to Peer Netze. Bertolt Schmidt Virtuelle Präsenz Peer to Peer Netze Bertolt Schmidt Übersicht Einleitung Begriffserklärung; Unterschied zu Client/Server Benötigte Infrastruktur Unterscheidung Pure Hybrid P-2-P Klassifizierung Probleme

Mehr

Entwicklungswerkzeuge

Entwicklungswerkzeuge Entwicklungswerkzeuge Werner Struckmann & Tim Winkelmann 10. Oktober 2012 Gliederung Anforderungen Projekte Debugging Versionsverwaltung Frameworks Pattern Integrated development environment (IDE) Werner

Mehr

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges Komponentenbasierte Client-Architektur Hamburg, 16.11.2007 Bernd Olleck IT-Beratung Olleck Agenda Clients aus drei verschiedenen Perspektiven: Technische Infrastruktur Fachliche Sicht Aufgaben eines Clients

Mehr

Agile Software Entwicklung. Agile Software Entwicklung, DHBW Karlsruhe, SS-2009 Collin Rogowski

Agile Software Entwicklung. Agile Software Entwicklung, DHBW Karlsruhe, SS-2009 Collin Rogowski Agile Software Entwicklung Agile Software Entwicklung, DHBW Karlsruhe, SS-2009 Collin Rogowski Agenda zum Kurs Software Engineering Wasserfallmodell Agile Entwicklung Wer bin ich Studium der Computerlinguistik

Mehr

Einführung. Internet vs. WWW

Einführung. Internet vs. WWW Einführung Bernhard Plattner 1-1 Internet vs. WWW "the Internet is the entirety of all computers which are interconnected (using various physical networking technologies) and employ the Internet protocol

Mehr

Softwareentwicklung aus Sicht des Gehirns

Softwareentwicklung aus Sicht des Gehirns Softwareentwicklung aus Sicht Business Unit Manager Folie 1 Ziel Das Ziel ist die Beantwortung der folgenden Fragen: 1. Wie lösen Softwareentwickler Probleme kognitiv? 2. Was sind die Schlüsselfaktoren

Mehr

VS3 Slide 1. Verteilte Systeme. Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel

VS3 Slide 1. Verteilte Systeme. Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel VS3 Slide 1 Verteilte Systeme Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel Inhaltsverzeichnis für die Vorlesung Zur Motivation: 4 Beispiele aus der Praxis Allgemeine Anforderungen an Verteilte

Mehr

Verteilte Systeme. Einführung. Prof. Dr. Oliver Haase

Verteilte Systeme. Einführung. Prof. Dr. Oliver Haase Verteilte Systeme Einführung Prof. Dr. Oliver Haase 1 Definition A distributed system is a collection of independent computers that appears to its users as a single coherent system. - Andrew Tanenbaum

Mehr

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 WebSphere Application Server Teil 4 Leistungsverhalten el0100 copyright W. G. Spruth,

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 5 26.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: Erläutern

Mehr

RE bei agilen Methoden

RE bei agilen Methoden 1 RE bei agilen Methoden Dipl. Inform. stefan.roock@itelligence.de it Workplace Solutions GmbH Vogt-Kölln-Strasse 30 22527 Hamburg Germany Agiles Manifest We are uncovering better ways of developing software

Mehr

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit IBM Software Group IBM Rational mit RequisitePro Hubert Biskup hubert.biskup@de.ibm.com Agenda Rational in der IBM Software Group Der Rational Unified Process als Basis für die Projektarbeit mit Rational

Mehr

Arbeiten im Datennetz der Universität Regensburg

Arbeiten im Datennetz der Universität Regensburg Wiwi-Workshop Uni Regensburg April 2002 Arbeiten im Datennetz der Universität Regensburg - Einführung in HTML, Teil II Arbeiten mit AOLPress - Dr. Wirtschaftswissenschaftliche Fakultät Universität Regensburg

Mehr

Verteilte Systeme - 5. Übung

Verteilte Systeme - 5. Übung Verteilte Systeme - 5. Übung Dr. Jens Brandt Sommersemester 2011 Transaktionen a) Erläutere was Transaktionen sind und wofür diese benötigt werden. Folge von Operationen mit bestimmten Eigenschaften: Atomicity

Mehr

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

Mehr

Sicherheit in Netzwerken. Leonard Claus, WS 2012 / 2013

Sicherheit in Netzwerken. Leonard Claus, WS 2012 / 2013 Sicherheit in Netzwerken Leonard Claus, WS 2012 / 2013 Inhalt 1 Definition eines Sicherheitsbegriffs 2 Einführung in die Kryptografie 3 Netzwerksicherheit 3.1 E-Mail-Sicherheit 3.2 Sicherheit im Web 4

Mehr

CORBA. Systemprogrammierung WS 2006-2007

CORBA. Systemprogrammierung WS 2006-2007 CORBA Systemprogrammierung WS 2006-2007 Teilnehmer: Bahareh Akherattalab Babak Akherattalab Inhaltsverzeichnis: Verteilte Systeme Vergleich zwischen lokale und verteilte Systeme Verteilte Anwendungen CORBA

Mehr

Jens Zwer. End-to-End Monitoring für Web-, SOA- und Oracle Applikationen

Jens Zwer. End-to-End Monitoring für Web-, SOA- und Oracle Applikationen Jens Zwer Applications & Systems Management Solutions End-to-End Monitoring für Web-, SOA- und Oracle Applikationen Mai 2010 Kosten Online-Applikation vs. Nutzen & Kundenzufriedenheit? Entwicklung Test

Mehr

Agile Management Einführung in agiles Management

Agile Management Einführung in agiles Management Agile Management Einführung in agiles Management Agile Management Agile Management-Methoden Einführung Agile Management PQRST e.u. - Ing. Erich Freitag Version 25.06.2013 Lernziele Den Unterschied zwischen

Mehr

DIGICOMP OPEN TUESDAY AKTUELLE STANDARDS UND TRENDS IN DER AGILEN SOFTWARE ENTWICKLUNG. Michael Palotas 7. April 2015 1 GRIDFUSION

DIGICOMP OPEN TUESDAY AKTUELLE STANDARDS UND TRENDS IN DER AGILEN SOFTWARE ENTWICKLUNG. Michael Palotas 7. April 2015 1 GRIDFUSION DIGICOMP OPEN TUESDAY AKTUELLE STANDARDS UND TRENDS IN DER AGILEN SOFTWARE ENTWICKLUNG Michael Palotas 7. April 2015 1 GRIDFUSION IHR REFERENT Gridfusion Software Solutions Kontakt: Michael Palotas Gerbiweg

Mehr

RE-Metriken in SCRUM. Michael Mainik

RE-Metriken in SCRUM. Michael Mainik RE-Metriken in SCRUM Michael Mainik Inhalt Agile Methoden Was ist SCRUM? Eine kurze Wiederholung Metriken Burn Down Graph Richtig schätzen Running Tested Features WBS/ Earned Business Value Business Value

Mehr

- Agile Programmierung -

- Agile Programmierung - Fachhochschule Dortmund Fachbereich Informatik SS 2004 Seminar: Komponentenbasierte Softwareentwicklung und Hypermedia Thema: - - Vortrag von Michael Pols Betreut durch: Prof. Dr. Frank Thiesing Übersicht

Mehr

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16 Probeklausur Lenz Belzner January 26, 2015 Lenz Belzner Probeklausur January 26, 2015 1 / 16 Definieren Sie Software Engineering in Abgrenzung zu Individual Programming. Ingenieursdisziplin professionelle

Mehr

Softwareentwicklung in der industriellen Praxis

Softwareentwicklung in der industriellen Praxis Softwareentwicklung in der industriellen Praxis Cloud-Systeme: Besonderheiten bei Programmierung und Betrieb Steffen Gemkow / Paul Fritsche - ObjectFab GmbH 26.11.2012 Simple is beautiful Don t repeat

Mehr

Proseminar Website-Management-Systeme ZOPE/CMF. Andreas M. Weiner

Proseminar Website-Management-Systeme ZOPE/CMF. Andreas M. Weiner Proseminar Website-Management-Systeme ZOPE/CMF Andreas M. Weiner Technische Universität Kaiserslautern Fachbereich Informatik Arbeitsgruppe Softwaretechnik Betreuer: Dipl. Inf. Christian Stenzel Überblick

Mehr

estos XMPP Proxy 5.1.30.33611

estos XMPP Proxy 5.1.30.33611 estos XMPP Proxy 5.1.30.33611 1 Willkommen zum estos XMPP Proxy... 4 1.1 WAN Einstellungen... 4 1.2 LAN Einstellungen... 5 1.3 Konfiguration des Zertifikats... 6 1.4 Diagnose... 6 1.5 Proxy Dienst... 7

Mehr

Proseminar: Website-Management-Systeme

Proseminar: Website-Management-Systeme Proseminar: Website-Management-Systeme Thema: Web: Apache/Roxen von Oliver Roeschke email: o_roesch@informatik.uni-kl.de Gliederung: 1.) kurze Einleitung 2.) Begriffsklärung 3.) Was ist ein Web? 4.) das

Mehr

Verteilte Systeme. Überblick. Architekturelemente: Kommunikationsparadigmen. Architekturelemente: Kommunikationsteilnehmer

Verteilte Systeme. Überblick. Architekturelemente: Kommunikationsparadigmen. Architekturelemente: Kommunikationsteilnehmer Verteilte Systeme Jürgen Kleinöder Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme) www4.cs.fau.de Sommersemester 2013 http://www4.cs.fau.de/lehre/ss13/v_vs

Mehr

Extreme Programming: Überblick

Extreme Programming: Überblick Extreme Programming: Überblick Stefan Diener / Apr 18, 2007 / Page 1 Prinzipien Rollen Planung Implementierung Praktiken weitere Vorgehensweisen Grenzen Inhalt Stefan Diener / Apr 18, 2007 / Page 2 Prinzipien

Mehr

Von Requirements zutests. gç~åüáãkpåüìäò]èì~äáíóé~êâkçé

Von Requirements zutests. gç~åüáãkpåüìäò]èì~äáíóé~êâkçé Von Requirements zus gç~åüáãkpåüìäò]èì~äáíóé~êâkçé QualityPark Ihr Partner im Lifecycle Management Process Management Requirements Engineering IT & Development Process Expertise Process Implementation

Mehr

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Entwicklung von Web-Anwendungen auf JAVA EE Basis Entwicklung von Web-Anwendungen auf JAVA EE Basis Java Enterprise Edition - Überblick Prof. Dr. Bernhard Schiefer Inhalt der Veranstaltung Überblick Java EE JDBC, JPA, JNDI Servlets, Java Server Pages

Mehr

Einführung in das Scrum Framework & welche 10 Praktiken helfen, Scrum wirklich gut zu machen

Einführung in das Scrum Framework & welche 10 Praktiken helfen, Scrum wirklich gut zu machen Einführung in das Scrum Framework & welche 10 Praktiken helfen, Scrum wirklich gut zu machen Wer bin ich Kurse und Vorträge mit Jeff Sutherland und Ken Schwaber Verschiedene Kurse der Scrum.org Professional

Mehr

Software Engineering. 4. Methodologien. Franz-Josef Elmer, Universität Basel, HS 2014

Software Engineering. 4. Methodologien. Franz-Josef Elmer, Universität Basel, HS 2014 Software Engineering 4. Methodologien Franz-Josef Elmer, Universität Basel, HS 2014 Software Engineering: 4. Methodologien 2 Wie den Entwicklungsprozess organisieren? Dokumentieren Verwalten Instandhalten

Mehr

GeoShop Netzwerkhandbuch

GeoShop Netzwerkhandbuch Technoparkstrasse 1 8005 Zürich Tel.: 044 / 350 10 10 Fax.: 044 / 350 10 19 GeoShop Netzwerkhandbuch Zusammenfassung Diese Dokumentation beschreibt die Einbindung des GeoShop in bestehende Netzwerkumgebungen.

Mehr

Effiziente Steuerung von BI-Projekten - Agiles Projektmanagement vs. klassische Vorgehensmodelle. Windhoff Software Services GmbH www.wind-soft.

Effiziente Steuerung von BI-Projekten - Agiles Projektmanagement vs. klassische Vorgehensmodelle. Windhoff Software Services GmbH www.wind-soft. Effiziente Steuerung von BI-Projekten - Agiles Projektmanagement vs. klassische Vorgehensmodelle Folie 2 Agenda Projektmanagement: Ziele und Methoden Agile Methoden: Scrum Agile Methoden im BI Umfeld PM

Mehr

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1)

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1) 1 FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1) In dieser Kurseinheit geht es um verteilte Anwendungen, bei denen wir sowohl ein Client- als auch ein

Mehr

Projektorganisation und Vorgehen in agilen Projekten. Noser Technologieimpulse München 2013 - Matthias Neubacher

Projektorganisation und Vorgehen in agilen Projekten. Noser Technologieimpulse München 2013 - Matthias Neubacher Projektorganisation und Vorgehen in agilen Projekten Noser Technologieimpulse München 2013 - Matthias Neubacher Ein wenig Theorie Agile Methoden Warum? hohe Anpassbarkeit schnellere Ergebnisse günstigere

Mehr

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG ALM mit Visual Studio Online Philip Gossweiler Noser Engineering AG Was ist Visual Studio Online? Visual Studio Online hiess bis November 2013 Team Foundation Service Kernstück von Visual Studio Online

Mehr

Vorteile von Java und Konvergenz Service Creation mit JAIN Network Management mit JMX Fazit

Vorteile von Java und Konvergenz Service Creation mit JAIN Network Management mit JMX Fazit Hochschule für Technik und Architektur Chur Dr. Bruno Studer Studienleiter NDS Telecom, FH-Dozent bruno.studer@fh-htachur.ch 1 GSM: 079/610 51 75 Agenda Vorteile von Java und Konvergenz Service Creation

Mehr

Selbstorganisiert ein Ziel erreichen Analyse, Architektur und Design in agilen Software-Projekten

Selbstorganisiert ein Ziel erreichen Analyse, Architektur und Design in agilen Software-Projekten Selbstorganisiert ein Ziel erreichen Analyse, Architektur und Design in agilen Software-Projekten 1 Qualifikation Über den Vortragenden Freiberuflicher SW-Entwickler und Berater seit 2006 Certified Scrum

Mehr

Agile Entwicklung nach Scrum

Agile Entwicklung nach Scrum comsolit AG Hauptstrasse 78 CH-8280 Kreuzlingen Tel. +41 71 222 17 06 Fax +41 71 222 17 80 info@comsolit.com www.comsolit.com Agile Entwicklung nach Scrum Seite 1 / 6 Scrum V 1.0 1. Wieso Scrum Die Entwicklung

Mehr

PMI Munich Chapter 21.04.2008

PMI Munich Chapter 21.04.2008 Projektmanagement im Rahmen einer IT-Infrastruktur- Standardisierung mit internationalen Teams Christoph Felix PMP, Principal Project Manager, Microsoft Deutschland PMI Munich Chapter 21.04.2008 Agenda

Mehr

Szenario 3: Service mit erweiterter Schnittstelle

Szenario 3: Service mit erweiterter Schnittstelle 2. Hintergrundverarbeitung in Android: Services und Notifications Szenarien für lokale Services Szenario 3: Service mit erweiterter Schnittstelle Ein Service bietet zusätzliche Methoden an, über die sich

Mehr

Internet/Intranet nutzbringend angewandt!?!

Internet/Intranet nutzbringend angewandt!?! Internet/Intranet nutzbringend angewandt!?! Maik G. Seewald Agenda 1. Einleitung und Ziel der Präsentation 2. Internet u. Web Based Computing eine Erfolgsgeschichte 3. Architektur web-basierter Anwendungssysteme

Mehr

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum Taking RM Agile CLICK TO EDIT MASTER OPTION 1 Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum Click to edit Master subtitle style Christian Christophoridis Requirements Management

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans Java Enterprise Edition - Überblick Was ist J2EE Java EE? Zunächst mal: Eine Menge von Spezifikationen und Regeln. April 1997: SUN initiiert die Entwicklung

Mehr

Red Hat Cluster Suite

Red Hat Cluster Suite Red Hat Cluster Suite Building high-available Applications Thomas Grazer Linuxtage 2008 Outline 1 Clusterarten 2 3 Architektur Konfiguration 4 Clusterarten Was ist eigentlich ein Cluster? Wozu braucht

Mehr

Empirische Evidenz von agilen Methoden. Seminar in Software Engineering Wintersemester 03/04

Empirische Evidenz von agilen Methoden. Seminar in Software Engineering Wintersemester 03/04 Empirische Evidenz von agilen Methoden Seminar in Software Engineering Wintersemester 03/04 Agenda Einleitung Bedeutung von agil Kurzübesicht agiler Methoden Überprüfung des (agilen) Erfolges Ausgewählte

Mehr

Client-Server mit Socket und API von Berkeley

Client-Server mit Socket und API von Berkeley Client-Server mit Socket und API von Berkeley L A TEX Projektbereich Deutsche Sprache Klasse 3F Schuljahr 2015/2016 Copyleft 3F Inhaltsverzeichnis 1 NETZWERKPROTOKOLLE 3 1.1 TCP/IP..................................................

Mehr

Workflow, Business Process Management, 4.Teil

Workflow, Business Process Management, 4.Teil Workflow, Business Process Management, 4.Teil 24. Januar 2004 Der vorliegende Text darf für Zwecke der Vorlesung Workflow, Business Process Management des Autors vervielfältigt werden. Eine weitere Nutzung

Mehr

Der Business Analyst in der Rolle des agilen Product Owners

Der Business Analyst in der Rolle des agilen Product Owners Der Business Analyst in der Rolle des agilen Owners HOOD GmbH Susanne Mühlbauer Büro München Keltenring 7 82041 Oberhaching Germany Tel: 0049 89 4512 53 0 www.hood-group.com -1- Inhalte Agile Software

Mehr

Scriptbasierte Testautomatisierung. für Web-Anwendungen

Scriptbasierte Testautomatisierung. für Web-Anwendungen Scriptbasierte Testautomatisierung für Web-Anwendungen Scriptbasierte Testautomatisierung + Web-Anwendung: Erstes Einsatzgebiet, Ergebnisse aber allgemein übertragbar + Test aus Benutzersicht - Nicht Unit-Test,

Mehr

Extreme Programming. Universität Karlsruhe (TH) Fakultät für Informatik Lehrstuhl für Programmiersysteme. Forschungsuniversität gegründet 1825

Extreme Programming. Universität Karlsruhe (TH) Fakultät für Informatik Lehrstuhl für Programmiersysteme. Forschungsuniversität gegründet 1825 Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Extreme Programming Agiles Manifest Individuen und Interaktion wichtiger als Prozesse und Werkzeuge Laufende Software wichtiger als vollständige

Mehr

Software-Dokumentation im agilen Umfeld. Marion Bröer, parson communication

Software-Dokumentation im agilen Umfeld. Marion Bröer, parson communication Software-Dokumentation im agilen Umfeld Marion Bröer, parson communication parson communication Software- und Prozessdokumentation Wissensmanagement Wikis und XML-basierte Dokumentation Schulungen und

Mehr

Experten-Review für Ihre Microsoft SharePoint-Architektur. Maximaler Nutzen, hohe Stabilität und Sicherheit für Ihre SharePoint-Farm

Experten-Review für Ihre Microsoft SharePoint-Architektur. Maximaler Nutzen, hohe Stabilität und Sicherheit für Ihre SharePoint-Farm Experten-Review für Ihre Microsoft SharePoint-Architektur Maximaler Nutzen, hohe Stabilität und Sicherheit für Ihre SharePoint-Farm Heben Sie mit Materna die Potenziale Ihrer SharePoint-Umgebung. Microsoft

Mehr

Programmiertechnik II

Programmiertechnik II X.509: Eine Einführung X.509 ITU-T-Standard: Information Technology Open Systems Interconnection The Directory: Public Key and attribute certificate frameworks Teil des OSI Directory Service (X.500) parallel

Mehr

Übungen zu Softwaretechnik

Übungen zu Softwaretechnik Prof. Dr. Dr. h.c. M. Broy Lösungsblatt 11 Dr. H. Ehler, S. Wagner 23. Januar 2004 Übungen zu Softwaretechnik Aufgabe 16 Qualitätseigenschaften Broker-Pattern Beurteilen Sie das in Aufgabe 15 benutzte

Mehr

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

Windows Azure für Java Architekten. Holger Sirtl Microsoft Deutschland GmbH Windows Azure für Java Architekten Holger Sirtl Microsoft Deutschland GmbH Agenda Schichten des Cloud Computings Überblick über die Windows Azure Platform Einsatzmöglichkeiten für Java-Architekten Ausführung

Mehr

Sicherheitsdienste für große Firmen => Teil 2: Firewalls

Sicherheitsdienste für große Firmen => Teil 2: Firewalls Seite 21 Sicherheitsdienste für große Firmen => Teil 2: Firewalls Sicherer Zugang zum World Wide Web (HTTP, FTP etc.) Sicherer Übergang zum Internet: Firewalls und Intrusion Detection Verzeichnisdienste

Mehr

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) Oliver Steinhauer.mobile PROFI Mobile Business Agenda MOBILE ENTERPRISE APPLICATION PLATFORM AGENDA 01 Mobile Enterprise Application Platform 02 PROFI News

Mehr

Präsentation einer agilen Methode

Präsentation einer agilen Methode Präsentation einer agilen Methode Adaptive Software Development Rainer Ulrich Überblick 1. Entstehung 2. Einordnung 3. Manifesto for Agile Software Development 4. Ansatz 5. Adaptive Conceptual Model 5.1.

Mehr

FALLSTRICKE IM AGILEN ANFORDERUNGSMANAGEMENT ODER WIE BEKOMME ICH MIT USER STORIES VON DEN GEEKS WAS ICH WILL?

FALLSTRICKE IM AGILEN ANFORDERUNGSMANAGEMENT ODER WIE BEKOMME ICH MIT USER STORIES VON DEN GEEKS WAS ICH WILL? FALLSTRICKE IM AGILEN ANFORDERUNGSMANAGEMENT ODER WIE BEKOMME ICH MIT USER STORIES VON DEN GEEKS WAS ICH WILL? Steffen Thols - REConf 2012 07.03.2012 2 ÜBER MICH Name : Steffen Thols Berufserfahrung: Einige

Mehr

Collaborative Virtual Environments

Collaborative Virtual Environments Collaborative Virtual Environments Stefan Lücking Projektgruppe Kreativität und Technik AG Domik WS 02/03 09.01.2003 1/35 Was sind CVE? Versuch einer Definition : Ein CVE ist ein Programm, das eine virtuelle

Mehr

Distributed Space Partitioning Trees

Distributed Space Partitioning Trees Distributed Space Partitioning Trees Management von ortsbezogenen Diensten Fachbereich Informatik FernUniversität Hagen Ortsbezogene Dienste Ein ortsbezogener Dienst ist eine Anwendung, die: - auf geographischen

Mehr

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

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste Hauptseminar Internet Dienste Sommersemester 2004 Boto Bako Webservices 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung Was sind Web Services? Web Services sind angebotene

Mehr

Musterlösung Übungsblatt 1 Netzprogrammierung WS 05/06

Musterlösung Übungsblatt 1 Netzprogrammierung WS 05/06 Musterlösung Übungsblatt 1 Netzprogrammierung WS 05/06 Block Verteilte Systeme und Middleware 1. Beschreiben Sie die Entwicklung verteilter Systeme von einer Zentralisierung bis zu Peer-to-Peer. Nicht

Mehr

MS SharePoint stellt Ihnen ein Intranet Portal zur Verfügung. Sie können Ihre Inhalte weltweit verfügbar machen auch für mobile Endgeräte.

MS SharePoint stellt Ihnen ein Intranet Portal zur Verfügung. Sie können Ihre Inhalte weltweit verfügbar machen auch für mobile Endgeräte. Microsoft SharePoint Microsoft SharePoint ist die Business Plattform für Zusammenarbeit im Unternehmen und im Web. Der MS SharePoint vereinfacht die Zusammenarbeit Ihrer Mitarbeiter. Durch die Verbindung

Mehr

TCP/UDP. Transport Layer

TCP/UDP. Transport Layer TCP/UDP Transport Layer Lernziele 1. Wozu dient die Transportschicht? 2. Was passiert in der Transportschicht? 3. Was sind die wichtigsten Protkolle der Transportschicht? 4. Wofür wird TCP eingesetzt?

Mehr

Software Engineering

Software Engineering Software Engineering Prof. Adrian A. Müller, PMP Fachbereich Informatik und Mikrosystemtechnik Fachhochschule Kaiserslautern, Standort Zweibrücken Prof. A. Müller, FH KL Software Engineering WS '11/'12

Mehr

Oliver Zeigermann, Stefan Toth embarc GmbH. Flux Facebooks Beitrag zur UI- Architektur der Zukunft

Oliver Zeigermann, Stefan Toth embarc GmbH. Flux Facebooks Beitrag zur UI- Architektur der Zukunft Oliver Zeigermann, Stefan Toth embarc GmbH Flux Facebooks Beitrag zur UI- Architektur der Zukunft UI-Architektur Warum? User Experience wird wichtiger Rich Client Optionen werden rar Es gibt mehrere Philosophien

Mehr

Design im Softwareentwicklungsprozess. Stand der Dinge & Designziel. fachliche & technische Architektur. generelles Vorgehen bei Grob-Design

Design im Softwareentwicklungsprozess. Stand der Dinge & Designziel. fachliche & technische Architektur. generelles Vorgehen bei Grob-Design Design im Softwareentwicklungsprozess traditionell Geschäftsprozessmodellierung Requirements Engineering Analyse Design Implementierung Tests Design 1 test-getrieben: nur 1. Design top-down hier testgetrieben

Mehr

SCRUM. Scrum in der Software Entwicklung. von Ernst Fastl

SCRUM. Scrum in der Software Entwicklung. von Ernst Fastl SCRUM Scrum in der Software Entwicklung von Ernst Fastl Agenda 1. Die Entstehung von Scrum 2. Überblick über den Prozess 3. Rollen 4. Meetings 5. Artefakte 6. Fragen & Antworten Agenda 1. Die Entstehung

Mehr

RWE Cloud Services. RWE Cloud Services Global Access Erste Schritte

RWE Cloud Services. RWE Cloud Services Global Access Erste Schritte Global Access Erste Schritte Copyright RWE IT. Any use or form of reproduction, in whole or part, of any material whether by photocopying or storing in any medium by electronic means or otherwise requires

Mehr

Agile Methoden bei der Entwicklung medizinischer Software

Agile Methoden bei der Entwicklung medizinischer Software Agile Methoden bei der Entwicklung medizinischer Software Bernhard Fischer Fischer Consulting GmbH Fischer Consulting GmbH Technologie-Forum 2008 Folie 1 Wie soll Software entwickelt werden? Fischer Consulting

Mehr

Inhalt und Ziele. Homepage von Anfang an. Herzlich Willkommen! HTML Syntax; grundlegende Grafik- und Bildbearbeitung für das Internet;

Inhalt und Ziele. Homepage von Anfang an. Herzlich Willkommen! HTML Syntax; grundlegende Grafik- und Bildbearbeitung für das Internet; Homepage von Anfang an Herzlich Willkommen! Caroline Morhart-Putz caroline.morhart@wellcomm.at Inhalt und Ziele!! HTML Grundlagen - die Sprache im Netz; HTML Syntax;!! Photoshop - Optimieren von Bildern,

Mehr

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

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

Mehr

Sind wir nicht alle ein bisschen agil? Dipl.-Inform. Tammo Freese xpdays, Karlsruhe, 22. November 2004

Sind wir nicht alle ein bisschen agil? Dipl.-Inform. Tammo Freese xpdays, Karlsruhe, 22. November 2004 Sind wir nicht alle ein bisschen agil? Dipl.-Inform. Tammo Freese xpdays, Karlsruhe, 22. November 2004 Das Manifest der agilen Softwareentwicklung Ähnliche Werte bei XP, ASD, Crystal, DSDM, FDD, Scrum,...

Mehr

IT- und Medientechnik

IT- und Medientechnik IT- und Medientechnik Vorlesung 11: 19.12.2014 Wintersemester 2014/2015 h_da, Lehrbeauftragter Themenübersicht der Vorlesung Hard- und Software Hardware: CPU, Speicher, Bus, I/O,... Software: System-,

Mehr

CONTINUOUS DELIVERY. Entmystifiziert. codecentric AG

CONTINUOUS DELIVERY. Entmystifiziert. codecentric AG CONTINUOUS DELIVERY Entmystifiziert WIE SOFTWARE LIEFERN? 01.07.2014 2 WAS IST CONTINUOUS DELIVERY? Robust Wiederholbar Effektiv 01.07.2014 3 LANDSCHAFTEN Continuous Integration Public / Private Hybrid

Mehr