Software Engineering Architektur, Architekturstile (update: 11.6.)
|
|
- Christel Jutta Wolf
- vor 8 Jahren
- Abrufe
Transkript
1 Software Engineering Architektur, Architekturstile (update: 11.6.) Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik Prof. A. Müller, FH KL Software Engineering Sommer '15 1
2 Einsatzbedingungen von Software Sequenzielles / nicht-sequenzielles Produkt Nicht-sequenziell: nebenläufig verteilt in Echtzeit parallel Single User / Multi User Bei der Benutzeroberfläche zu berücksichtigen Multi User erfordert Benutzer- und Zugriffsrechteverwaltung Mandantenfähigkeit ja / nein Bei kaufmännischen Anwendung Für unterschiedliche Firmen können logisch vollständig getrennte Datenbereiche eingerichtet werden. Prof. A. Müller, FH KL Software Engineering Sommer '15 2
3 Umgebungs- und Randbedingungen für eine SW Entwicklung Zu berücksichtigende Zielplattform(en) ergeben sich aus Einsatzbedingungen Häufig vom Auftraggeber bereits vorgeschrieben Nutzung der im Unternehmen vorhandenen Plattformen Bei Standardprodukten: Typische Plattformen der Zielgruppe Genaue Ausgestaltung (z. B. zu verwendende Versionen) überprüfen Vorhandenen Entscheidungsspielraum ausloten Plattform-Architektur des Zielsystems Grundlage für die zu entwickelnde Software-Architektur (muss passen) Plattform-Architektur beschreibt Schnittstellen, Dienste, Produkte Prof. A. Müller, FH KL Software Engineering Sommer '15 3
4 Beispiele für verschiedene Architekturstile Objektorientiert Client Server Pipes and Filters Repository (Shared Data) Layered Ajax Web-Architekturen, Mehr-Schichten Architekturen Prof. A. Müller, FH KL Software Engineering Sommer '15 4
5 Objekt-orientiert Kapselung von Funktionen und Daten Verteilte Verarbeitung, Objektgraph Prof. A. Müller, FH KL Software Engineering Sommer '15 5
6 Pipes and Filters Rohre und Filter : Lineare, Sequenzielle Verarbeitung Daten wandern durchs System Pipe Weiterleitung, ggf. Pufferung Filter Verarbeitet Eingabe- zu Ausgabedaten Beispiele Programmierung: Präprozessor Compiler Linker Digitalkamera: Bilderfassung Farbkorrektur Bildeffekte Bildkompression Streamverarbeitung, z. B. Java Streams Prof. A. Müller, FH KL Software Engineering Sommer '15 6
7 Pipes and filters: UNIX Prof. A. Müller, FH KL Software Engineering Sommer '15 7
8 Shared Data (Repository) Gemeinsam genutzte, zentrale Daten Funktionen lesen und ändern die zentralen Daten Beispiele: Datenbanken Shared Data (Repository ) Software-Entwicklung: Zentrales Versionsmanagement-System Prof. A. Müller, FH KL Software Engineering Sommer '15 8
9 Steuerung Wie werden die einzelnen Filter oder Funktionen aufgerufen? Unterschiedliche Möglichkeiten Zentrale Steuerung Die einzelnen Filter oder Funktionen rufen sich gegenseitig auf Jede Funktion ruft die nachfolgende auf (Push-Prinzip) Jede Funktion fordert die Ergebnisse der vorangehenden an (Pull- Prinzip, bei Pipes and Filters) Ereignisgesteuert (implicit invocation) Jede Funktion abonniert bestimmte Ereignisse, auf die sie reagiert Der Abschluss einer Funktion kann selbst wieder ein Ereignis auslösen, auf das wiederum andere Funktionen reagieren, usw. Prof. A. Müller, FH KL Software Engineering Sommer '15 9
10 Implicit Invocation / Event Handling Kennzeichen: Hollywood-Prinzip Don t call us, we call you Prof. A. Müller, FH KL Software Engineering Sommer '15 10
11 Realisierung der Benutzungsoberfläche (engl.: widget toolkits ) Je nach Programmiersprache, Verteilung, Plattform, gibt es: GUI-System UI-Toolkit Z. B. Windows, AWT, SWT (s. nächste Folie) I.d.R. stellen Programmierumgebungen Grafikeditoren für E/A-Gestaltung zur Verfügung Vereinfachen die Ansteuerung der Benutzungsoberfläche (auch GUI-System-übergreifend vgl. Motif, MFC, ) Z. B. Objektorientierte GUI-Klassenbibliotheken UI-Builder oder Maskengenerator Generierung der Oberfläche aus grafischem Modell oder ER-Modell oder andere Information (vgl. nächste Folie: Microsoft Expression Blend 4 Web Application Frameworks Scaffolding (CRUD pages) Template Engines (vgl. Smarty) Diskussion: und was ist mit MVC? Prof. A. Müller, FH KL Software Engineering Sommer '15 11
12 Prof. A. Müller, FH KL Software Engineering Sommer '15 12
13 Software-Architektur GUI-System API (Application Programming Interface) Anwendung 1 GUI- System Anwendung n Anwendung i Anwendung 1 Anwendung i OK Grundfunktionalität für grafische Benutzungsoberfläche Verwaltung Fenster und Icons Kommunikation mit Anwendungen AWT: Button b = new Button ( OK ); Swing: Jbutton b = new Jbutton( OK ); Benutzer steuert die Anwendung Anwendung reagiert auf Ereignisse (events) Prof. A. Müller, FH KL Software Engineering Sommer '15 13
14 Drei Schichten-Architektur Die drei Schichten-Architektur ist typische für moderne GUIs Vorausgesetzt, es entstehen keine Abhängigkeiten von unten nach oben Vgl. die Drei-Schichten-Architektur im Client-Server Kontext Prof. A. Müller, FH KL Software Engineering Sommer '15 14
15 Architekturmuster Layered (Schichten) Schichten bilden Abstraktionsebenen Jede Schicht bietet Funktionalitäten an, die von der nächsthöheren Schicht genutzt wird (umgekehrt nicht) Beispiele: ISO/OSI-Schichtenmodell für Kommunikation Hardware Betriebssystem Anwendungssystem Prof. A. Müller, FH KL Software Engineering Sommer '15 15
16 Layered: Android System Architektur Prof. A. Müller, FH KL Software Engineering Sommer '15 16
17 Einsatz von Architekturstilen Die Architekturstile können auf unterschiedlichen Detaillierungsgraden eingesetzt werden Eine Funktion oder ein Filter kann z. B. eine einzelne Methode oder aber eine komplette Komponente oder ein ganzes System sein Die Stile können kombiniert werden Z. B. können die Filter einer Pipes and Filters- Architektur oder die einzelnen Ebenen einer Schichtenarchitektur selbst wieder gemäß dem objektorientierten Stil aufgebaut sein. Prof. A. Müller, FH KL Software Engineering Sommer '15 17
18 Verteilung im Netz Wichtige Konzepte: Client/Server-Architektur Zweistufig / dreistufig Web-Architektur Web-Browser als Client Anwendung und Datenhaltung auf ein oder mehreren Servern Prof. A. Müller, FH KL Software Engineering Sommer '15 18
19 Client/Server Kennzeichen: Verteilung (Daten und Prozesse) Prof. A. Müller, FH KL Software Engineering Sommer '15 19
20 Client/Server-Architektur Eigenschaften Client ist nach der Anmeldung i.d.r. bis zur Abmeldung permanent mit dem Server verbunden Maximale Anzahl der nebenläufigen Benutzer liegt als Anforderung zur Entwurfszeit fest Client/Server-Umgebung ist i.d.r. bekannt und kann beeinflusst werden (z. B. Betriebssysteme, Datenbanken) Entwickler sind sowohl für Client- als auch für Server-Teil verantwortlich Vorteile Nachteile Einfache Verwaltung von Benutzer-Sitzungen Reduzierung der Systemkomplexität durch geeignete Wahl der Laufzeitumgebung Bekannte Zahl nebenläufiger Benutzer erleichtert den Entwurf Skalierung ist aufwendig (d. h. Änderung der maximalen Benutzerzahlen) Client-Software muss auf jedem Client-Rechner installiert werden Plattformänderungen führen zu Änderungsbedarf der Anwendung Prof. A. Müller, FH KL Software Engineering Sommer '15 20
21 Client/Server: Beispiel HTTP Tim Barners-Lee Roy Fielding Prof. A. Müller, FH KL Software Engineering Sommer '15 21
22 REST s. Prof. A. Müller, FH KL Software Engineering Sommer '15 22
23 Zweistufige Client/Server-Architektur Variante 1 Variante 2 Client Benutzungsoberfläche Client Benutzungsoberfläche Anwendung Server Anwendung Server Datenhaltung Datenhaltung Prof. A. Müller, FH KL Software Engineering Sommer '15 23
24 Zweistufige Client/Server-Architektur In der Regel greifen mehrere Clients auf einen zentralen Server zu Clients (PCs am Arbeitsplatz) Server Prof. A. Müller, FH KL Software Engineering Sommer '15 24
25 Web-Architekturen Vorteile Nachteile Erlaubt hohe Benutzerzahl Gute Skalierbarkeit und Wartbarkeit Keine anwendungsspezifische Software auf dem Client zu installieren Sitzungen sind schwierig zu verwalten Es müssen in der Regel unterschiedliche Web-Browser unterstützt werden Probleme bei Anwendungen mit hohen Datentransfer-Raten Es ist nur in begrenztem Umfang möglich, Funktionalitäten auf dem Client auszuführen Prof. A. Müller, FH KL Software Engineering Sommer '15 25
26 Ajax Quelle: Wikimedia Prof. A. Müller, FH KL Software Engineering Sommer '15 26
27 Web-Architekturen: unterschiedliche Schichtenbildung Client enthält Web-Browser Web-Server stellt zusätzliche Schicht dar Verteilung von HTML-Dokumenten, Multimediaobjekten, Java- Applets, die vom Web-Client über HTTP angefragt werden Kommunikation mit Anwendungs-Server Eigenschaften Keine permanente Verbindung zwischen Client und Server Aufbau TCP-Verbindung, Senden einer Anfrage, Rücksendung der Antwort, Beenden der TCP-Verbindung Potenziell unbegrenzte Userzahl Auf die Laufzeitumgebung des Web-Clients haben die Entwickler i.d.r. keinen Einfluss Prof. A. Müller, FH KL Software Engineering Sommer '15 27
28 Wichtige Aussagen Software Architektur ist grundlegendes Rahmenwerk für die Strukturierung Entwurfsentscheidungen basieren auf Einsatzbedingungen Plattform-Architektur des Zielsystems Verteilung der Datenhaltung nicht-funktionalen Produktanforderungen und Qualitätsanforderungen Architekturstile Objektorientiert Pipe & Filter Shared Memory / Repository Implicit Invocation / Event Handling Layered Interpreter Process Control Client/Server Hinweis: Manche Stile können kombiniert werden Prof. A. Müller, FH KL Software Engineering Sommer '15 28
29 Anhang Prof. A. Müller, FH KL Software Engineering Sommer '15 29
30 Dreistufige Client/Server-Architektur Client Benutzungsoberfläche Anwendungs- Server Anwendung Datenbank- Server Datenhaltung Prof. A. Müller, FH KL Software Engineering Sommer '15 30
31 Dreistufige Client/Server-Architektur Clients (PCs am Arbeitsplatz) Kann auch dynamisch zugeordnet werden, je nach Lastverteilung. Anwendungsserver Datenbank-Server Prof. A. Müller, FH KL Software Engineering Sommer '15 31
32 Oracle 10g 3-tier architecture Prof. A. Müller, FH KL Software Engineering Sommer '15 32
33 Prof. A. Müller, FH KL Software Engineering Sommer '15 33
34 Web-Architekturen Client Web-Client Web-Client Web-Client Web-Client Web-Server Web-Server Web-Server Web-Server Anwendungs-Server Anwendungs-Server Daten-Server Server Daten-Server 2-Schichten 3-Schichten 4-Schichten Daten-Server 4-Schichten partitioniert Prof. A. Müller, FH KL Software Engineering Sommer '15 34
35 Service-orientierte Architektur (SOA) Quelle: Liebhardt, SOA goes real Prof. A. Müller, FH KL Software Engineering Sommer '15 35
36 Aufgabe Gegeben ist der folgende Java-Code zur Berechnung der Kosten einer Reise public class Reisekostenrechner { Dies ist der wichtige Teil } public static void main(string[] args) { Reisegenerator generator = new Reisegenerator(); Uebernachtungsrechner uebernachtungsrechner = new Uebernachtungsrechner(); Fahrtkostenrechner fahrtkostenrechner = new Fahrtkostenrechner(); Gesamtkostenrechner gesamtkostenrechner = new Gesamtkostenrechner(); Reisedrucker reisedrucker = new Reisedrucker(); Reise reise1, reise2, reise3, reise4; } reise1 = reise2 = reise3 = reise4 = generator.generierereise(); uebernachtungsrechner.berechneuebernachtung(reise1); fahrtkostenrechner.berechnefahrtkosten(reise2); gesamtkostenrechner.berechnegesamtkosten(reise3); reisedrucker.drucke(reise4); public class Reise implements Cloneable { public int dauerintagen; public float uebernachtungspreis; public int km; public float kmpreis; public float uebernachtungskosten; public float fahrtkosten; public float gesamtkosten; } public Object clone(){ try{ return super.clone(); } catch( CloneNotSupportedException e ){ return null; } } public class Reisegenerator { Prof. A. Müller, FH KL Software Engineering Sommer '15 } public Reise generierereise(){ Reise r = new Reise(); r.dauerintagen = 5; r.uebernachtungspreis = 100.0f; r.km = 200; r.kmpreis = 0.3f; return r; } Fortsetzung nächste Folie 36
37 Aufgabe (Fortsetzung) public class Uebernachtungsrechner { } public Reise berechneuebernachtung(reise reise){ Reise ergebnis = (Reise)reise.clone(); ergebnis.uebernachtungskosten = ergebnis.dauerintagen * ergebnis.uebernachtungspreis; return ergebnis; } public class Fahrtkostenrechner { Aufgabe Um welchen Architektur-Stil handelt es sich? Welches Steuerungskonzept wird verwendet? } public Reise berechnefahrtkosten(reise reise){ Reise ergebnis = (Reise)reise.clone(); ergebnis.fahrtkosten = ergebnis.km*ergebnis.kmpreis; return ergebnis; } public class Gesamtkostenrechner { } public Reise berechnegesamtkosten(reise reise){ Reise ergebnis = (Reise)reise.clone(); ergebnis.gesamtkosten = ergebnis.fahrtkosten + ergebnis.uebernachtungskosten; return ergebnis; } public class Reisedrucker { public void drucke(reise reise){ System.out.println(); System.out.println("Uebernachtungskosten " + reise.uebernachtungskosten); System.out.println("Fahrtkosten " + reise.fahrtkosten); System.out.println("Gesamtkosten " + reise.gesamtkosten); } } Prof. A. Müller, FH KL Software Engineering Sommer '15 37
Alternative Architekturkonzepte
Alternative Architekturkonzepte Motivation: Suche nach einer Gesamtstruktur meistens: dominante nichtfunktionale Eigenschaften legen Architektur fest Antrieb: Architekturziel Ziel: globale Betrachtung
MehrSoftware Engineering. 5. Architektur
Software Engineering 5. Architektur Gliederung Vorlesung Einführung V-Modell XT Analyse und Anforderungsmanagement Benutzungsoberflächen Architektur Entwurf Entwurfsmuster Persistenz Implementierung Konfigurationsmanagement
MehrDatenbanksysteme. Donald Kossmann TU München
Datenbanksysteme Donald Kossmann TU München Übersicht Wie benutze ich ein Datenbanksystem? Datenmodellierung (ER, UML, Theorie) Datenbankprogrammierung (SQL) Wie baue ich ein Datenbanksystem? Anfrageoptimierung
MehrWebentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo
Webentwicklung mit Vaadin 7 Theoretische und praktische Einführung in Vaadin 7 Christian Dresen, Michael Gerdes, Sergej Schumilo Agenda Allgemeines Architektur Client-Side Server-Side Vaadin UI Components
MehrProgrammieren II. Java im Vergleich zu anderen Sprachen. Einführung: GUI. Einführung: Grafische Benutzeroberflächen. Dr.
Programmieren II Dr. Klaus Höppner Hochschule Darmstadt SS 2008 1 / 22 2 / 22 Einführung: GUI Fast alle Programme besitzen mittlerweile eine grafische Benutzeroberfläche (engl: Graphical User Interface,
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 7. Grafische Benutzeroberflächen 1
Kapitel 7 Grafische Benutzeroberflächen Grafische Benutzeroberflächen 1 Ziele Grafische Benutzeroberflächen (Graphical User Interfaces) als Anwendungsbeispiel für die objektorientierte Programmierung kennenlernen.
MehrKompendium der Web-Programmierung
. Thomas Walter Kompendium der Web-Programmierung Dynamische Web-Sites Mit 510 Abbildungen und 22 Tabellen 4ü Springer OOM- Hinweise zum Gebrauch des Buches XIII Teil I Grundlagen der Web-Programmierung
Mehr3-Tier-Architecture und J2EE
3-Tier-Architecture und J2EE Oliver Müller Seminar Software-Entwurf WS 2004/05 3-Tier, was war das noch gleich? NEIN, das nicht!!! 2 Die Lage - Applikationen laufen
MehrEinführung: Grafische Benutzeroberflächen. Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 22
Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 22 Einführung: Grafische Benutzeroberflächen 2 / 22 Einführung: GUI Fast alle Programme besitzen mittlerweile eine grafische
MehrEinführung in die Programmierung für NF. Grafische Benutzeroberflächen
Einführung in die Programmierung für NF Grafische Benutzeroberflächen Ziele Grafische Benutzeroberflächen (Graphical User Interfaces) als Anwendungsbeispiel für die objektorienferte Programmierung kennenlernen.
MehrÜberblick über die Roblet -Technik
Überblick über die Roblet -Technik Hagen Stanek gefördert durch Agenda Teil 1: Motivation, Einführung Teil 2: Beispiel-Vorführung Teil 3: Anwendungen, Zusammenfassung 2 Teil 1 Motivation, Einführung 3
MehrKomponentenbasierte Client-Architektur. Bernd Olleck, IT Beratung Olleck Dr. Martin Haft, sd&m AG München,
Komponentenbasierte Client-Architektur Bernd Olleck, IT Beratung Olleck Dr. Martin Haft, sd&m AG München, 5.5.2008 Agenda Clients aus drei verschiedenen Perspektiven: Technische Infrastruktur Fachliche
MehrKapitel 5: Das Design
Nach der Analyse kommt... Kapitel 5: Das Design SoPra 2008 Kap. 5: Das Design (1/20) Kapitel 5.1: Überblick Was ist Design? Ergebnis der Analyse: abstrakte Definitionen Objektmodell: Klassen, Assoziationen,
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik GUI-Programmierung mit Swing
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik GUI-Programmierung mit Swing AWT und Swing Java enthält zwei Pakete zur Programmierung graphischer Oberflächen. java.awt: Das Abstract
MehrI SWT - Die Entwurfsphase - Einführung
1 Software-Technik 2 Einführung und Überblick LE 1 V Unternehm ensmodellierung 3 Die Entwurfsphase Einführung [ohne 3.3 und gekürzt] 1 Grundlagen II SW-Management 1 Grundlagen LE 1 2 Objektorientierte
MehrGraphical User Interfaces
Graphical User Interfaces SEP 184 Toolkits es gibt verschiedene Toolkits (= Sammlungen von Klassen, Anbindungen an Betriebssystem, etc.) für grafische Oberflächen Abstract Windows Toolkit (AWT) Swing Standard
MehrAufbau eines modernen Betriebssystems (Windows NT 5.0)
Aufbau eines modernen Betriebssystems (Windows NT 5.0) Moritz Mühlenthaler 14.6.2004 Proseminar KVBK Gliederung 1.Das Designproblem a) Überblick b) Design Goals c) Möglichkeiten der Strukturierung 2. Umsetzung
MehrJava: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder
Java: Kapitel 1 Überblick Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Was ist Java? Die Java-Technologie umfasst die Programmiersprache Java sowie die Java-Plattform
MehrProjekt im Praktikum zur OOS im Sommersemeter 2016
Projekt im Praktikum zur OOS im Sommersemeter 2016 Projektbeschreibung & Programmierrichtlinien Ergänzung (javadoc) auf Homepage Download-Bereich OOS im Sommersemester 16 Standard-Projekt-1 Funktionale
MehrSommersemester Implementierung III: GUI und Verhalten (Teil 2)
Sommersemester 2003 Implementierung III: GUI und Verhalten (Teil 2) 26 Aufgabe 5 Implementierung III: GUI und Verhalten (Teil 2) Umfang: 1 Woche Punkte: 50 P. Als Nächstes soll die Implementierung des
MehrEine Untersuchung der Funktionen des Apache Wicket Webframeworks
Eine Untersuchung der Funktionen des Apache Wicket Webframeworks Seminararbeit von Olaf Matticzk 1 15.01.2016 (c) by synaix 2016 synaix...your business as a service. Agenda 1. Einleitung 2. Webanwendungen
MehrGRAFISCHE BENUTZERSCHNITTSTELLEN
Vorlesung 4.4 GRAFISCHE BENUTZERSCHNITTSTELLEN Dr. Philip Mayer # 1 GUIs Grafische Benutzerschnittstellen (GUIs, Graphical User Interfaces) bieten dem Benutzer Zugriff auf ein Anwendungssystem GUIs sind
MehrGrid-Systeme. Betrachtung verschiedener Softwareplattformen zur Realisierung von Grids und Vorstellung des Globus Toolkit. 07.06.2002 Grid Systeme 1
Grid-Systeme Betrachtung verschiedener Softwareplattformen zur Realisierung von Grids und Vorstellung des Globus Toolkit 07.06.2002 Grid Systeme 1 Gliederung Vorstellung verschiedener Plattformen Globus
MehrKapitel 8: Grafische Benutzerschnittstellen
Einführung in die Informatik: Programmierung und Softwareentwicklung Wintersemester 2018/19 Kapitel 8: Grafische Benutzerschnittstellen Prof. Dr. David Sabel Lehr- und Forschungseinheit für Theoretische
MehrCARL HANSER VERLAG. Erika Horn, Thomas Reinke. Softwarearchitektur und Softwarebauelemente Eine Einführung für Softwarearchitekten 3-446-21300-7
CARL HANSER VERLAG Erika Horn, Thomas Reinke Softwarearchitektur und Softwarebauelemente Eine Einführung für Softwarearchitekten 3-446-21300-7 www.hanser.de Inhalt Vorwort...IX 1 Einleitung... 1 1.1 Software
MehrBenutzeroberflächen. Java Teil 4
Benutzeroberflächen Java Teil 4 Einleitung Eine grafische Benutzeroberfläche (Graphical User Interface) ermöglicht dem Benutzer die Interaktion mit dem Computer über grafische Symbole. Die GUI haben in
MehrSwing. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java
Swing Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 27.06.07 G. Bohlender (IANM UNI Karlsruhe) Swing 27.06.07 1 / 10 Übersicht 1 Einführendes
MehrAusnahmen. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung
Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung https://www.sosy-lab.org/teaching/2017-ws-infoeinf/ WS17/18 Fehlerarten Bei der Programmierung
MehrEinführung in GUI-Programmierung. javax.swing
Einführung in GUI-Programmierung javax.swing GUI Graphical User Interface ( Grafische Benutzerschnittstelle ) Anschaulichere und leichtere Möglichkeit zur Dateneingabe und Kontrolle von Programmen Stellt
MehrProgrammierpraktikum WS 16/17 Entwicklungsprozess
Programmierpraktikum WS 16/17 Entwicklungsprozess AR Dr.-Ing. Andreas Hoffmann Universität Siegen Lehrstuhl Betriebssysteme / verteilte Systeme ProPra WS 16/17 1 Softwareentwicklung Software ist ---komplex,
MehrThemen. Web Service - Clients. Kommunikation zw. Web Services
Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur
MehrEreignisbehandlung 21
Ereignisbehandlung 21 3 Ereignisbehandlung Dieses Kapitel beschäftigt sich mit der Ereignisbehandlung, d.h. der Reaktion eines Programms auf Eingaben durch benutzende Personen. Nach einigen ersten Beispielen
MehrZiele. Kapitel 8: Grafische Benutzerschnittstellen. AWT und Swing. Ziele (2)
Einführung in die Informatik: Programmierung und Softwareentwicklung Wintersemester 2018/19 Ziele Kapitel 8: Grafische Benutzerschnittstellen Prof. Dr. David Sabel Lehr- und Forschungseinheit für Theoretische
MehrEinführung: Verteilte Systeme - Remote Method Invocation -
Einführung: Verteilte Systeme - - Prof. Dr. Michael Cebulla 11. Dezember 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 43 M. Cebulla Verteilte Systeme Gliederung 1 2 Architektur RMI Kommunikation
MehrSystemvoraussetzungen für ConSol*CM Version 6.10.2 Architektur Überblick
Systemvoraussetzungen für ConSol*CM Version 6.10.2 Architektur Überblick ConSol*CM basiert auf einer Java EE Web-Architektur, bestehend aus den folgenden Kern-Komponenten: JEE Application Server für die
MehrMVC Ein wichtiges Konzept der Software-Architektur
MVC Ein wichtiges Konzept der Software-Architektur Dr. Arthur Zimek Ludwig-Maximilians-Universität München, Institut für Informatik, LFE Datenbanksysteme Softwareentwicklungspraktikum Wintersemester 2011/12
MehrBjörn Heinemann Leiter Entwicklung Energiewirtschaft
Björn Heinemann Leiter Entwicklung Energiewirtschaft Basis eclipse RCP eclipse platform project als Basis mit frameworks und services RCP Rich Client Platform zur Umsetzung einer Anwendung mit Benutzeroberfläche
MehrSystema rch itektu ren für Verteilte Anwendungen
Jürgen Dunkel Andreas Eberhart Stefan Fischer Carsten Kleiner Arne Koschel Systema rch itektu ren für Verteilte Anwendungen Client-Serwer Multi-Tier SÖÄ Ewent-Driwen Architectures P2P HANSER Inhaltsverzeichnis
MehrSystemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007
Systemprogrammierung Projekt: Java RMI Wintersemester 2006 / 2007 Systemprogrammierung 1. Einleitung 2. Einführung in RPC 3. RMI 4. Code Beispiele 5. Live Vorstellung 6. Ausblick 7. Fazit 2 1. Einleitung
MehrGemeinsam mehr erreichen.
Gemeinsam mehr erreichen. Microservices, ein Vorgehensmodell zur Softwareentwicklung - Nürnberg - 17. November 2016 "Mit unserer Begeisterung für führende Technologien vernetzen wir Systeme, Prozesse und
MehrGrafische Benutzeroberflächen
Dr. Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung WS18/19 https://www.sosy-lab.org/teaching/2018-ws-infoeinf/ Aufgabe Ein Benutzer soll
MehrFunktionale und Objekt-Orientierte Programmierkonzepte
Funktionale und Objekt-Orientierte Programmierkonzepte Prof. Marc Fischlin, Wintersemester 15/16 Kapitel 17: GUI, Threads und verschachtelte Klassen 13. Oktober 2010 Dr.Marc Fischlin Kryptosicherheit 1
MehrKommunikation. Björn und Georg
Kommunikation Björn und Georg CORBA CORBA (Common Object Request Broker Architecture) Entwicklung der OMG ( Object Management Group) Zusammenschluss von 800 Firmen Hardware- und Progammiersprachen-unabhängiges
MehrIntegration von UIS-Webdiensten
Integration von UIS-Webdiensten neue Möglichkeiten durch Web 2.0 basierte Technologien Clemens Düpmeier, Werner Geiger, Claudia Greceanu (duepmeier, geiger, greceanu@iai.fzk.de) Institut für Angewandte
MehrVeränderungen durch das Upgrade von NetMan 1.5 auf NetMan 3.1 und den Umzug der CD-Datenbanken auf neue Server
Veränderungen durch das Upgrade von NetMan 1.5 auf NetMan 3.1 und den Umzug der CD-Datenbanken auf neue Server Die bisherige Lösung wurde im Oktober 2001 installiert. Für die Serverhardware bestand seit
MehrEinführung in GUI-Programmierung. javax.swing
Einführung in GUI-Programmierung javax.swing GUI Graphical User Interface ( Grafische Benutzerschnittstelle ) Anschaulichere und leichtere Möglichkeit zur Dateneingabe und Kontrolle von Programmen Stellt
MehrObjektorientierte und Funktionale Programmierung SS 2014
Objektorientierte und Funktionale Programmierung SS 2014 6 Objektorientierte Entwurfsmuster 1 6 Objektorientierte Entwurfsmuster Lernziele Einige wichtige Entwurfsmuster kennen und verstehen Einsatzmöglichkeiten
MehrSingle Sourcing in Java: Desktop-Anwendung & Web-Applikation aus einer Quelle
Single Sourcing in Java: Desktop-Anwendung & Web-Applikation aus einer Quelle Björn Christoph Fischer & Oliver Zandner Triestram & Partner GmbH (t&p) Bochum Schlüsselworte: Single Sourcing, Java, Web 2.0,
MehrHeute. Grafische Benutzeroberflächen (Anonyme) innere Klassen Einfache Simulationen main / ausführbare jar-files IT I - VO 11 1
Heute Grafische Benutzeroberflächen (Anonyme) innere Klassen Einfache Simulationen main / ausführbare jar-files 17.01.2017 IT I - VO 11 1 Organisatorisches Noch zwei UE und eine Wissensüberprüfung Heute
MehrAusnahmen. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung
Dr. Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung WS18/19 https://www.sosy-lab.org/teaching/2018-ws-infoeinf/ Fehlerarten Bei der Programmierung
MehrProf. Dr. Heinrich Müller. Informatik VII Universität Dortmund. http://ls7-www.cs.uni-dortmund.de. Organisatorisches zum Vorkurs Informatik
(UJlQ]HQGH)ROLHQ]XP 9RUNXUV,QIRUPDWLN Prof. Dr. Heinrich Müller Informatik VII Universität Dortmund http://ls7www.cs.unidortmund.de Informatik VII, Universität Dortmund Organisatorisches zum Vorkurs Informatik
MehrGui & Widgets. GUI & Widgets, Events GUI? Als GUI (= Graphical User Interface ) bezeichnet man die
GUI & Widgets, Events Einführung in C# GUI 3 Übersicht Gui & Widgets Events Kurze Einführung in C# GUI? Als GUI (= Graphical User Interface ) bezeichnet man die grafische Benutzungsschnittstelle oder auch
MehrAusnahmen. Dr. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Dr. Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-16-17/infoeinf WS16/17 Action required now 1. Smartphone: installiere die App "socrative
MehrDatenfernzugriff auf Schienenfahrzeuge mit dem Ferndiagnosesystem RDS. OSGi-Technologie Forum / EuroCargo 2004 Thomas Burri / PPC
Datenfernzugriff auf Schienenfahrzeuge mit dem Ferndiagnosesystem RDS OSGi-Technologie Forum / EuroCargo 2004 Thomas Burri / PPC Inhalt! Bombardier Transportation! Datenfernzugriff mit RDS (Remote Diagnostic
MehrClient/Server-Programmierung
Client/Server-Programmierung WS 2017/2018 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 12. Januar 2018 Betriebssysteme / verteilte
MehrRAP vs. GWT vs. GAE/J + jquery. Web Technologien im Verlgeich
RAP vs. GWT vs. GAE/J + jquery Web Technologien im Verlgeich RAP vs GWT vs jquery Dominik Wißkirchen 30. Oktober 2010 Abkürzungen RAP AJAX RWT Rich AJAX Platform Asynchronous JavaScript and XML RAP Widget
MehrEinstieg in die Informatik mit Java
1 / 18 Einstieg in die Informatik mit Java Applets Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 18 1 Einführung 2 Sicherheits-Maßnahmen 3 Ereignisgesteuerte Programmierung
MehrEvaluierung verteilter Middleware-Technologien zur Steigerung der Integrationsfähigkeit von Enterprise-Software
Evaluierung verteilter Middleware-Technologien zur Steigerung der Integrationsfähigkeit von Enterprise-Software Alexander Matuschinski Institut für Informatik FU Berlin 07.05.2009 Gliederung Motivation
MehrProjektarbeit Java. 4-Gewinnt. Berner Fachhochschule. 2004, Labor für Technische Informatik
Berner Fachhochschule Hochschule für Technik und Informatik, HTI Fachbereich Elektro- und Informatik Labor für technische Informatik Projektarbeit Java 4-Gewinnt 2004, Labor für Technische Informatik Dateiname:
MehrProgrammieren II. Dr. Klaus Höppner. Hochschule Darmstadt WS 2006/2007
Programmieren II Dr. Klaus Höppner Hochschule Darmstadt WS 2006/2007 1 / 15 Einführung: Grafische Benutzeroberflächen 2 / 15 Einführung: GUI Fast alle Programme besitzen mittlerweile eine grafische Benutzeroberfläche
MehrProgrammiertechnik GUI Programmierung mit Java Swing
Programmiertechnik GUI Programmierung mit Java Swing Prof. Dr. Oliver Haase Software Engineering und Verteilte Systeme Raum F012 haase@htwg-konstanz.de Tel: 07531/206-720 Oliver Haase Hochschule Konstanz
MehrOOSE 13 Objektorientierter Entwurf (OOD) (Hörsaalübung)
OOSE 13 Objektorientierter Entwurf (OOD) (Hörsaalübung) SS 2015 Birgit Demuth Analyse Anforderungs- Ermittlung Von der Analyse zum Entwurf System- Modelierung Anforderungs- Spezifikation (Pflichtenheft)
MehrRapid Java wie mit Forms
DOAG Konferenz 2011 Rapid Java wie mit Forms Java aktuell: XDEV 3 ist die erste professionelle Java IDE für Rapid Application Development. Viele RAD-Funktionen und die Arbeitsweise damit erinnern sehr
MehrEinführung Verteilte Systeme - Java Threads I -
Einführung Verteilte Systeme - Java Threads I - Prof. Dr. Michael Cebulla 20. November 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 38 M. Cebulla Verteilte Systeme Gliederung Wiederholung:
MehrJavakurs für Fortgeschrittene
Javakurs für Fortgeschrittene Einheit 03: Swing Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda Einführung in GUI-Programmierung Motivation Grundlagen von Swing Praxis: UI für
Mehr7.1.5 Java RMI Remote Method Invocation (http://java.sun.com/products/jdk/rmi) (http://java.sun.com/j2se/1.3/docs/guide/rmi/spec/rmitoc.
7.1.5 Java RMI Remote Method Invocation (http://java.sun.com/products/jdk/rmi) (http://java.sun.com/j2se/1.3/docs/guide/rmi/spec/rmitoc.html) bietet leider nur begrenzte Verteilungsabstraktion Unterstützung
Mehr<Insert Picture Here> Generierung von ADF-Applikationen aus Metadaten des Oracle Designer
Generierung von ADF-Applikationen aus Metadaten des Oracle Designer Jürgen Menge Oracle Deutschland Oracle Designer - Metadaten Investment vieler Anwender liegt in den Metadaten des
MehrGUI Programmierung mit JAVA Swing
GUI Programmierung mit JAVA Swing Komponenten Layout Event Handling Imaging 2001 Thomas Weiler 1 JAVA Swing Bibliothek zur Erstellung grafischer Benutzerschnittstellen in JAVA Bietet Klassen für grafische
MehrStruktur und Architektur
Struktur und Architektur Grundlagen der Software-Architektur: Vorarbeit für die Komponentenentwicklung (c)schmiedecke 07 SE1-10 - Struktur und Architektur 1 Vom Analysemodell zur Anwendungssoftware Analysemodell
MehrIUG DRESDEN ERSTELLUNG VON ROBUSTEN NATURAL SERVICES Software AG. All rights reserved. For internal use only
IUG DRESDEN ERSTELLUNG VON ROBUSTEN NATURAL SERVICES 2016 Software AG. All rights reserved. For internal use only DIGITAL BUSINESS APPLICATIONS DRIVE THE DIGITAL BUSINESS Partner Lieferanten Kunden SaaS
MehrGrundlagen der Programmierung (GP) Prof. Dr. H. Schlingloff Joachim Hänsel
Grundlagen der Programmierung (GP) Prof. Dr. H. Schlingloff Joachim Hänsel 17. 6. 2010 Kapitel 8: Java-Programmierung 8.1 Ereignisbehandlung, Benutzungsschnittstellen 8.2 Graphikprogrammierung 8.1 Ereignisbehandlung
MehrAusnahmen. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Fehlerarten Bei der Programmierung können viele Arten von Fehlern auftreten:
MehrSystemvoraussetzungen für ConSol CM Version Architektur Überblick
Systemvoraussetzungen für ConSol CM Version 6.10.8 Architektur Überblick ConSol CM basiert auf einer Java EE Web-Architektur, bestehend aus den folgenden Kern-Komponenten: JEE Application Server für die
MehrVererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 14.1.
Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 14.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung 14.1.08 1 / 11 Übersicht 1
MehrSchwerpunkte. 10. Felder (Arrays) Grundprinzip von Arrays. Klassifikation von Typen in Programmiersprachen
Schwerpunkte 10. Felder (Arrays) Teil 1 Java-Beispiele: Echo.java Primzahlen.java Monate.java Klassifikation von Typen in Programmiersprachen Array: einziger strukturierter Typ in Java Deklaration, Erzeugung
MehrVON MVC ZU MODEL-VIEW-VIEWMODEL
VON MVC ZU MODEL-VIEW-VIEWMODEL Wissenschaftliche Vertiefung von Lukas Jaeckle Studiengang Softwaretechnik und Medieninformatik Folie 1 von 18 Agenda 1. Architekturmuster 2. Architekturmuster für interaktive
Mehr6. Architekturmuster und -metaphern
6. Architekturmuster und -metaphern 6.1 Motivation für Architekturmuster Bereitstellung bewährter, vorgefertigter Grundstrukturen für wiederkehrende Architekturprobleme Abgrenzung zum Entwurfsmuster: Entwurfsmuster
MehrGraphische Benutzungsoberflächen mit Java. Einführung in NetBeans
Graphische Benutzungsoberflächen mit Java Einführung in NetBeans Graphische Benutzungsoberflächen! Interaktion mit dem Programm! Datenein- und ausgabe! Rückmeldungen über Verarbeitung der Daten! Visualisierung
MehrKlassenvariablen, Klassenmethoden
Einstieg in die Informatik mit Java, Vorlesung vom 11.12.07 Übersicht 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden 3 Aufruf einer Klassenmethode 4 Hauptprogrammparameter 5 Rekursion Klassenmethoden
MehrRemote Method Invocation
Remote Method Invocation spezielle Technik aus dem Java-Umfeld Ausführung der Methoden auf einem entfernten Rechner Analogon zum RPC (Remote Procedure Call) Zweck: Objekte in verschiedenen Java-VM s Aufruf
MehrWorkplace Portal G8. Dipl.-Wirt. Ing. Thomas Bruse
Workplace Portal G8 Dipl.-Wirt. Ing. Thomas Bruse Prof. Dr. Ludwig Nastansky Universität Paderborn Wirtschaftsinformatik 2 Fachbereich 5 Prof. Dr. Ludwig Nastansky Warburgerstr. 100, 33098 Paderborn Tel.:
MehrVorlesung am Systemkonstruktion. Dr. F. Sarre Wintersemester 2008 / Folie 57
Vorlesung am 28.10.2008 Systemkonstruktion Folie 57 Übergang vom Fachkonzept zum DV-Konzept Aufgabenstellung Entwickler Geschäftsvorfall Java-Klassen Fachliches Objekt Nicht funktionale Anforderungen...?
MehrGoogle Gears Offline Web?
Google Gears ist eine Browsererweiterung, die es in sich hat. Dem Webanwendungsentwickler werden Dienste bereitgestellt, die es ermöglichen, Webanwendungen so zu schreiben, dass eine Offline-Arbeit möglich
MehrGrafische Benutzeroberflächen
Gilbert Beyer und Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Aufgabe Ein Benutzer soll zwei Zahlen in ein Programm
MehrDeklaration einer Klasse Innere innerhalb Klassen einer in Ja anderen v a Klasse
Innere Klassen in Java Java 1.0: nur top-level Klassen Seit Java Version 1.1: Innere Klassen Deklaration einer Klasse innerhalb einer anderen Klasse Illustration Eigenschaften Vorteile Anwendungsmöglichkeiten
MehrAnnotation based presentation models for view rendering and data binding with Linkki and Vaadin
Annotation based presentation models for view rendering and data binding with Linkki and Vaadin jan.ortmann@faktorzehn.de 20.02.2017 Faktor-IPM - Architektur 1 Annotation based presentation models for
MehrKapitel WT:VI (Fortsetzung)
Kapitel WT:VI (Fortsetzung) VI. Architekturen und Middleware-Technologien Client--Architekturen Ajax REST RPC, XML-RPC, Java RMI, DCOM Web-Services CORBA Message-oriented-Middleware MOM Enterprise Application
MehrInternetanwendungstechnik (Übung)
Internetanwendungstechnik (Übung) JacORB S. Bissell, G. Mühl Technische Universität Berlin Fakultät IV Elektrotechnik und Informatik Kommunikations- und Betriebssysteme (KBS) Einsteinufer 17, Sekr. EN6,
MehrGrafische Benutzeroberflächen
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
MehrGeschäftsprozessmodellierung und implementierung am Beispiel SAP ERP
Geschäftsprozessmodellierung und implementierung am Beispiel SAP ERP Sommersemester 2008 V09 montags, 16-18 Uhr Dipl.-Ök. Prieß / Schubert / Schömburg Sommersemester 2008 Veranstaltung 9 Folie 1 Aktueller
MehrObjektorientierte Software-Entwicklung
Objektorientierte Software-Entwicklung Priv.-Doz. Dr. Rolf Hennicker 08.01.2003 AWT und Swing AWT (Abstract Window Toolkit) und Swing 2 AWT (Abstract Window Toolkit) und Swing AWT und Swing bieten eine
MehrInstitut für Programmierung und Reaktive Systeme. GUIs mit Swing. Markus Reschke
GUIs mit Swing Markus Reschke 28.08.2014 Beispiel: Ein einfaches GUI-Programm Siehe Painter.java Markus Reschke GUIs mit Swing 2 GUI Frameworks in Java AWT war das erste GUI-Framework, welches mit Java
Mehr