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

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

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

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

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

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

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

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

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

- 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Agilo [1] ist ein auf Trac [2] basierendes Scrum [3] Tool. Im Folgenden soll eine kurze Überischt gegeben werden, wie Agilo benutzt wird.

Agilo [1] ist ein auf Trac [2] basierendes Scrum [3] Tool. Im Folgenden soll eine kurze Überischt gegeben werden, wie Agilo benutzt wird. AGILO HOWTO Agilo [1] ist ein auf Trac [2] basierendes Scrum [3] Tool. Im Folgenden soll eine kurze Überischt gegeben werden, wie Agilo benutzt wird. ROLLEN IM TEAM In Scrum hat jedes Teammitglied eine

Mehr

Verteilte Systeme SS 2014 Verteilte Systeme (1/13) Verteilte Systeme SS 2014 Middleware Verteilte Systeme (2/13)

Verteilte Systeme SS 2014 Verteilte Systeme (1/13) Verteilte Systeme SS 2014 Middleware Verteilte Systeme (2/13) Verteilte Systeme SS 2014 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 20. März 2015 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/13) i

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

Kap. 7 IS-Infrastruktur: Zusammenfassung

Kap. 7 IS-Infrastruktur: Zusammenfassung Kapitel 7: Zusammenfassung Teil I. 1 Kap. 7 IS-Infrastruktur: Zusammenfassung In Teil I haben wir verschiedene Middleware-Lösungen zur Entwicklung (komplexer), verteilter Informationssysteme kennengelernt

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

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

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

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

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

Das Who s Who der agilen Methoden Golo Roden

Das Who s Who der agilen Methoden Golo Roden Das Who s Who der agilen Methoden Golo Roden www.goloroden.de www.des-eisbaeren-blog.de Über mich > Wissensvermittler und Technologieberater >.NET, Codequalität und agile Methoden > MVP für C#, zweifacher

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

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

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

Agiles Anforderungsmanagement mit SCRUM im regulierten Umfeld

Agiles Anforderungsmanagement mit SCRUM im regulierten Umfeld Agiles Anforderungsmanagement mit SCRUM im regulierten Umfeld Bernhard Fischer Fischer Consulting GmbH MedConf 2011 Luzern Folie 1 Wozu brauchen wir Requirements? MedConf 2011 Luzern Folie 2 Der Anforderungszoo

Mehr

SOFTWARETECHNIK. Kapitel 7 Vorgehensmodelle. Vorlesung im Wintersemester 2012/13 FG System- und Software-Engineering Prof. Dr.-Ing.

SOFTWARETECHNIK. Kapitel 7 Vorgehensmodelle. Vorlesung im Wintersemester 2012/13 FG System- und Software-Engineering Prof. Dr.-Ing. SOFTWARETECHNIK Kapitel 7 Vorgehensmodelle Vorlesung im Wintersemester 2012/13 FG System- und Software-Engineering Prof. Dr.-Ing. Armin Zimmermann Inhalt Vorgehensmodelle Sequenzielle Modelle Iterative

Mehr

Einführung in SCRUM. Helge Baier 21.01.2010

Einführung in SCRUM. Helge Baier 21.01.2010 Einführung in SCRUM Helge Baier 21.01.2010 Helge Baier Master of Computer Science (Software Engineering) über 10 Jahre Erfahrung in der Software Entwicklung Zertifizierung zum Scrum Master (2009) praktische

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

Einführung. Übersicht

Einführung. Übersicht Einführung Erik Wilde TIK ETH Zürich Sommersemester 2001 Übersicht Durchführung der Veranstaltung Termine (Vorlesung und Übung) Bereitstellung von Informationen Einführung Internet Internet als Transportinfrastruktur

Mehr

den sicherheitskritischen Bereich Christoph Schmiedinger Frankfurter Entwicklertag 2015 24.02.2015

den sicherheitskritischen Bereich Christoph Schmiedinger Frankfurter Entwicklertag 2015 24.02.2015 Agile Methoden als Diagnose-Tool für den sicherheitskritischen Bereich Christoph Schmiedinger Frankfurter Entwicklertag 2015 24.02.2015 Über mich Berufliche Erfahrung 3 Jahre Projektabwicklung 2 Jahre

Mehr

Herkömmliche Softwareentwicklungsmodelle vs. Agile Methoden

Herkömmliche Softwareentwicklungsmodelle vs. Agile Methoden vs. Agile Methoden Christoph.Kluck@Student.Reutlingen University.de Medien und Kommunikationsinformatik Agenda Einführung Vorgehensmodelle Herkömmlich agil Resümee Klassische Probleme Nachgereichte Anforderungen

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

Kurzübersicht Unified Process und Agile Prozesse

Kurzübersicht Unified Process und Agile Prozesse Kurzübersicht Unified Process und Agile Prozes Rainer Schmidberger schmidrr@informatik.uni-stuttgart.de Copyright 2004, Rainer Schmidberger, Universität Stuttgart, Institut für Softwaretechnologie, Abt.

Mehr

Klausur Verteilte Systeme

Klausur Verteilte Systeme Klausur Verteilte Systeme SS 2005 by Prof. Walter Kriha Klausur Verteilte Systeme: SS 2005 by Prof. Walter Kriha Note Bitte ausfüllen (Fill in please): Vorname: Nachname: Matrikelnummer: Studiengang: Table

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

Lightweight Java in der Automatisierungstechnik

Lightweight Java in der Automatisierungstechnik Lightweight Java in der Automatisierungstechnik Erfahrungen aus dem Anlagenbau Dr. Markus Eiglsperger eig@zuehlke.com Business Driver im Anlagenbau Kosten Modularisierung Vernetzung Agilität Paradigmenwechsel

Mehr

-Testen verteilter Anwendungen

-Testen verteilter Anwendungen -Testen verteilter Anwendungen Seminar Simulation und Bildanalyse mit Java im SS04 Konstantin Tjo, Urs Pricking Testen verteilter Anwendungen 1 Übersicht Einführung in verteilte Anwendungen RMI (Remote

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

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 Software Testing Automatisiert Manuell 100% 70% 1 Überwiegender Teil der Testing Tools fokusiert auf automatisiertes Testen Microsoft

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

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

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com Web Services Java Praktikum SS 2010 Gerald.Ehmayer@borland.com 1 Web Services Einführung Definition, Eigenschaften, Anwendungen... JAX-RPC Überblick, Architektur... JAX Übersicht, Architektur Java Praktikum

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

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

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 17. Kapitel 2 Architekturen 51. Kapitel 3 Prozesse 91

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 17. Kapitel 2 Architekturen 51. Kapitel 3 Prozesse 91 Inhaltsverzeichnis Vorwort 13 Kapitel 1 Einleitung 17 1.1 Definition eines verteilten Systems................................ 19 1.2 Ziele........................................................ 20 1.2.1

Mehr

Was fehlt Scrum? 31. März 2014 Erich Oswald CTO Ergon Informatik AG

Was fehlt Scrum? 31. März 2014 Erich Oswald CTO Ergon Informatik AG Was fehlt Scrum? 31. März 2014 Erich Oswald CTO Ergon Informatik AG Scrum ist eine Erfolgsstory Aus der Praxis entstanden Nachweislich erfolgreich Gut geeignet für komplexe Probleme Produktentwicklung

Mehr

Was funktioniert und was nicht? Agile Softwareentwicklung in der Praxis Martin Lippert, martin.lippert@akquinet.de

Was funktioniert und was nicht? Agile Softwareentwicklung in der Praxis Martin Lippert, martin.lippert@akquinet.de Was funktioniert und was nicht? Agile Softwareentwicklung in der Praxis Martin Lippert, martin.lippert@akquinet.de Über mich Martin Lippert Senior IT-Berater bei akquinet it-agile GmbH martin.lippert@akquinet.de

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

17 Komponentenbasiertes Software-Engineering

17 Komponentenbasiertes Software-Engineering 17 Komponentenbasiertes Software-Engineering 17.0 Einführung Lernziele Grundlagen, Prinzipien und Probleme des CBSE 17.1 Komponenten und Komponentenmodelle Komponenten und ihre Eigenschaften Komponentenmodelle

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

Integrating Architecture Apps for the Enterprise

Integrating Architecture Apps for the Enterprise Integrating Architecture Apps for the Enterprise Ein einheitliches Modulsystem für verteilte Unternehmensanwendungen Motivation und Grundkonzept Inhalt Problem Ursache Herausforderung Grundgedanke Architektur

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

Die Erkenntnis von gestern muss heute mit einem neuen. 19.06.2009 TEAM - Ihr Partner für IT 2

Die Erkenntnis von gestern muss heute mit einem neuen. 19.06.2009 TEAM - Ihr Partner für IT 2 Beratung Software Lösungen Integration von Reporting Tools in Oracle ADF 11g Applikation Der Inhalt dieses Vortrages beruht auf den Erfahrungen und Erkenntnissen zu einem bestimmten Zeitpunkt und unter

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 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

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

VS12 Slide 1. Verteilte Systeme. Vorlesung 12 Sebastian Iwanowski FH Wedel

VS12 Slide 1. Verteilte Systeme. Vorlesung 12 Sebastian Iwanowski FH Wedel VS12 Slide 1 Verteilte Systeme Vorlesung 12 Sebastian Iwanowski FH Wedel Mögliche Plattformen für Web Services VS12 Slide 2 VS12 Slide 3 Java-Software für verteilte Systeme J2EE: Java 2 Enterprise Edition

Mehr

Werte 2.0 - Weil ich es mir wert bin. Dipl.-Inf. Bernd Schiffer akquinet it-agile GmbH bernd.schiffer@akquinet.de

Werte 2.0 - Weil ich es mir wert bin. Dipl.-Inf. Bernd Schiffer akquinet it-agile GmbH bernd.schiffer@akquinet.de Werte 2.0 - Weil ich es mir wert bin Dipl.-Inf. Bernd Schiffer akquinet it-agile GmbH bernd.schiffer@akquinet.de Danke, Johannes... 2 Ich sah sie überall... 3 Werte des Extreme Programmings Kommunikation

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

J2EEKurs. J2EE eine Plattform für betriebliche Anwendungen. Peter Thiemann. Sommercampus J2EEKurs, Freiburg, Germany, 10.-14.10.

J2EEKurs. J2EE eine Plattform für betriebliche Anwendungen. Peter Thiemann. Sommercampus J2EEKurs, Freiburg, Germany, 10.-14.10. J2EE eine Plattform für betriebliche Anwendungen Universität Freiburg, Germany Sommercampus, Freiburg, Germany, 10.-14.10.2005 Plattform Betriebliche Anwendung J2EE Kontrahenten J2EE im Überblick Was ist

Mehr

Architektur einer GDI: Service-oriented Architecture (SOA)

Architektur einer GDI: Service-oriented Architecture (SOA) Modul 6: Voraussetzungen einer GDI Vertiefende Dokumente I Stand: 24.01.2012 Architektur einer GDI: Service-oriented Architecture (SOA) Zu den Hauptargumenten für eine Geodateninfrastruktur zählen unter

Mehr

Die Macht, die uns umgibt. Design Prinzipien. Schneller und besser Software entwickeln. 2012 Jörg Bächtiger

Die Macht, die uns umgibt. Design Prinzipien. Schneller und besser Software entwickeln. 2012 Jörg Bächtiger Die Macht, die uns umgibt Design Prinzipien Schneller und besser Software entwickeln 2012 Jörg Bächtiger Joerg.Baechtiger@Abraxas.ch http://www.xing.com/profile/joerg_baechtiger Übersicht geben Zusammenhänge

Mehr

Internet Briefing Agile SW-Entwicklung

Internet Briefing Agile SW-Entwicklung 1 www.namics.com Internet Briefing Agile SW-Entwicklung 6. Februar 2007 Peter Stevens, Principal Consultant Bern, Frankfurt, Hamburg, München, St. Gallen, Zug, Zürich Agenda 2 www.namics.com 3 www.namics.com

Mehr

Session Storage im Zend Server Cluster Manager

Session Storage im Zend Server Cluster Manager Session Storage im Zend Server Cluster Manager Jan Burkl System Engineer, Zend Technologies Agenda Einführung in Zend Server und ZSCM Überblick über PHP Sessions Zend Session Clustering Session Hochverfügbarkeit

Mehr

Scrum Team Diagnose. Gibt es sonst noch etwas, was du zur Rolle des Product Owners sagen möchtest?

Scrum Team Diagnose. Gibt es sonst noch etwas, was du zur Rolle des Product Owners sagen möchtest? Scrum Rollen Product Owner (PO) Der PO ist klar definiert Der PO übersetzt Anforderungen in klare Backlog Items Der PO ist ermächtigt, Backlog Items zu priorisieren Der PO verfügt über das Fachwissen,

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

Tier-Konzepte. Vertiefungsarbeit von Karin Schäuble

Tier-Konzepte. Vertiefungsarbeit von Karin Schäuble Vertiefungsarbeit von Karin Schäuble Gliederung 1. Einführung 3. Rahmenbedingungen in der heutigen Marktwirtschaft 3.1 Situation für Unternehmen 3.2 Situation für Applikationsentwickler 4. Lösungskonzepte

Mehr

Iterativ. Inkrementell

Iterativ. Inkrementell Iterativ Inkrementell Build Release Test Qualität Architektur & Documentation Distributed Version Control Continuous Integration TDD Design Agile Architektur Dependency Feature Branches Mocks

Mehr

Agile Softwareentwicklung. Yelve Yakut

Agile Softwareentwicklung. Yelve Yakut Agile Softwareentwicklung Yelve Yakut Index Projekte Vorgehensmodelle Agilität Scrum Feature Driven Development 20.05.08 Agile Softwareentwicklung #2 Projektplanung Von 210 Projekten im Zeitraum von 1997

Mehr

XP, Scrum, Crystal, FDD:

XP, Scrum, Crystal, FDD: XP, Scrum, Crystal, FDD: Welche agile Methode passt zu uns? Henning Wolf Christoph Kemp Was ist Agilität? Teil 1: Das agile Manifest We are uncovering better ways of developing software by doing it and

Mehr

Wie agil kann Business Analyse sein?

Wie agil kann Business Analyse sein? Wie agil kann Business Analyse sein? Chapter Meeting Michael Leber 2012-01-24 ANECON Software Design und Beratung G.m.b.H. Alser Str. 4/Hof 1 A-1090 Wien Tel.: +43 1 409 58 90 www.anecon.com office@anecon.com

Mehr

Verteilte Systeme - 1. Übung

Verteilte Systeme - 1. Übung Verteilte Systeme - 1. Übung Dr. Jens Brandt Sommersemester 2011 1. Rechnerverbünde Kommunikationsverbund: Beispiele: E-Mail (SMTP, POP/IMAP), Instant Messaging (XMPP, IRC, ICQ,...), Newsgroups (NNTP)

Mehr

SCRUM bei SIX Card Solutions

SCRUM bei SIX Card Solutions SCRUM bei SIX Card Solutions Bestandsaufnahme, Rückblick und Zukunft eines Scrum Projekts Christoph Loher (Christoph.Loher@six-group.com) Stefan Kinigadner (Stefan.Kinigadner@bsgroup.ch) 7. April 2010

Mehr

Group and Session Management for Collaborative Applications

Group and Session Management for Collaborative Applications Diss. ETH No. 12075 Group and Session Management for Collaborative Applications A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZÜRICH for the degree of Doctor of Technical Seiences

Mehr

Agile Methoden vs. Testen

Agile Methoden vs. Testen Agile Methoden vs. Testen cc gmbh Bernhard Moritz CC GmbH TAV 27, AK Testmanagement, 6.6.2008 Bernhard Moritz Flachstraße 13 65197 Wiesbaden Telefon 0611 94204-0 Telefax 0611 94204-44 Bernhard.Moritz@cc-gmbh.de

Mehr

Extreme Programming. Frank Gerberding LINEAS Informationstechnik GmbH Theodor-Heuss-Straße 2 D-38122 Braunschweig

Extreme Programming. Frank Gerberding LINEAS Informationstechnik GmbH Theodor-Heuss-Straße 2 D-38122 Braunschweig Extreme Programming Frank Gerberding LINEAS Informationstechnik GmbH Theodor-Heuss-Straße 2 D-38122 Braunschweig Stand: 11.06.2007 LINEAS Gruppe - Zahlen und Fakten LINEAS Gruppe Branche Software- und

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

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

UML Diagramme. Aktivitätsdiagramm

UML Diagramme. Aktivitätsdiagramm Di, 15. April 2008 Thema: Requirements Techniken (Teil 3) Vorlesung von David Kurmann Autor: Oliver Röösli oliver.roeoesli@stud.fhz.ch UML Diagramme Aktivitätsdiagramm Das Aktivitätsdiagramm (engl. activity

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

Business Process Management. Cloud und Mobile Computing. BPMday 2013 Köln, 13. November 2013. Enzo Favuzzi - Sales Manager WebCenter & BPM

Business Process Management. Cloud und Mobile Computing. BPMday 2013 Köln, 13. November 2013. Enzo Favuzzi - Sales Manager WebCenter & BPM Business Process Management von Cloud und Mobile Computing BPMday 2013 Köln, 13. November 2013 Enzo Favuzzi - Sales Manager WebCenter & BPM Safe Harbor Statement The

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

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

End-to-End Agility Sind Sie schon agil genug? Mag. Christoph Leithner c.leithner@celix.at

End-to-End Agility Sind Sie schon agil genug? Mag. Christoph Leithner c.leithner@celix.at End-to-End Agility Sind Sie schon agil genug? Mag. Christoph Leithner c.leithner@celix.at www.celix.at September 2015 celix Solutions GmbH Spezialist für Team Collaboration und IT Prozess Management Agile

Mehr

Mobile Application Development

Mobile Application Development Mobile Application Development Android: Einführung Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Lernziele Der/die Kursbesucher/in kann

Mehr