Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge.

Ähnliche Präsentationen


Präsentation zum Thema: "© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge."—  Präsentation transkript:

1 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 19Serviceorientierte Architektur 19.0Einführung Lernziele Grundbegriffe 19.1Services als wiederverwendbare Komponenten Spezifikation mit WSDL 19.2Service-Engineering Ermittlung von Servicekandidaten Entwerfen von Serviceschnittstellen Implementierung und Bereitstellung der Services Services für Altsysteme 19.3Software-Entwicklung mit Services Entwurf und Implementierung des Workflows Testen von Services

2 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie 19.2 Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 19.0Lernziele die Grundbegriffe von Webservices, Webservice-standards und serverorientierter Architektur verstehen den serviceorientierten Engineering-Prozess für wiederverwendbare Webservices kennen Servicekomposition als Mittel der serviceorientierten Anwendungsentwicklung kennen wissen, wie Geschäftsprozessmodelle als Grundlage für den Entwurf serviceorientierter Systeme eingesetzt werden

3 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie 19.3 Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 19.0Service Definition an act or performance offered by one party to another. Although the process may be tied to a physical product, the performance is essentially intangible and does not normally result in ownership of any of the factors of production Wesentliche Merkmale Bereitstellung unabhängig von der Anwendung Serviceanbieter entwickeln spezifische Services Vielzahl von Benutzern von verschiedenen Anwendern

4 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie 19.4 Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 19.0Serviceorientierte Architekturen Methode zur Entwicklung verteilter Systeme Services als eigenständige Komponenten Ausführung auf geografisch verteilten Rechnern verschiedener Anbieter Standards für Kommunikation und Datenaustausch SOAP: Nachrichtenaustausch WSDL: Definition von Serviceschnittstellen WS-BPEL: Standard für Workflow-Sprachen zur Definition der Komposition von Services Vorteile der SOA Services lokal oder extern (Outsourcing) Services sprachunabhängig Einbindung von Altsystemen möglich Anwender übergreifende Systeme möglich

5 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie 19.5 Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 19.0Serviceorientierte Architektur Service- Anforderer Service- Anbieter Service (WSDL) suchen Service- Registrierung veröffentlichen binden (SOAP)

6 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie 19.6 Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 19.0Standards für Webservices XML-Technologien (XML, XSD, XSLT,...) Transport (HTTP, HTTPS, SMTP,...) Unterstützung (WS-Security, WS-Adressing,...) Prozess (WS-BPEL) Servicedefinition (WSDL, UDDI) Nachrichtenaustausch (SOAP)

7 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie 19.7 Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 19.0REST-konforme (RESTful) Webservices Webservicestandards schwergewichtig zu allgemein, zu ineffizient REST (REpresentational State Transfer) Übertragung von Ressourcenrepräsentationen von Server zu Client RESTful Webservices geringerer Verwaltungsaufwand Identifikation durch URI nur HTML-Methoden GET, PUT, POST, DELETE Ersatz für SOAP/WSDL wenn keine externen Services nötig keine Unterstützung für WS-Reliability, WS-Transactions etc.

8 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie 19.8 Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 19.0Serviceorientiertes Software-Engineering neues Paradigma Cloud-Computing Dienstanbieter (Hosting) vorhandene Infrastruktur (Internet) zwei Ansätze des Software-Engineering Service-Engineering Entwicklung verlässlicher wiederverwendbarer Dienste Entwicklung für Wiederverwendbarkeit Softwareentwicklung mit Services Entwicklung verlässlicher Software mit Services als Basiskomponenten Entwicklung mit Wiederverwendung

9 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie 19.9 Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 19.1Services als wiederverwendbare Komponenten Definition A loosely-coupled, reusable software component that encapsulates discrete functionality which may be distributed and programmatically accessed. A web service is a service that is accessed using standard Internet and XML-based protocols Weiterentwicklung der kombinierbaren Komponenten unabhängig keine Benötigt-Schnittstelle Kommunikation über Nachrichten Nutzung von Internetprotokollen

10 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 19.1Web Service Description Language WSDL Service-Beschreibung durch WSDL What:Welche Operationen unterstützt der Service? How:Wie wird der Service aufgerufen? Where:Wo ist der Service zu finden? Struktur einer Beschreibung Einleitung XML-Namensraumdeklarationen Abstrakte Schnittstelle Deklarationen der in den Nachrichten verwendeten Typen Beschreibung der bereitgestellten Operationen Beschreibung der Ein- und Ausgabenachrichten Konkrete Implementierung Angabe des Protokolls (Bindung), in der Regel SOAP Speicherort (Endpunkt), angegeben durch URI

11 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 19.1Auszug einer WSDL-Beschreibung (1) Define some of the types used. Assume that the namespace prefixes ws refers to the namespace URI for XML schemas and the namespace prefix associated with this definition is weathns.

12 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 19.1Auszug einer WSDL-Beschreibung (2) Now define the interface and its operations. In this case, there is only a single operation to return maximum and minimum temperatures. Nachteile der WSDL-Beschreibung keine Beschreibung der Semantik keine Beschreibung der nichtfunktionalen Eigenschaften

13 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 19.2Service-Engineering Entwicklung von Services zur Wiederverwendung in serviceorientierten Anwendungen Service als wiederverwendbare Abstraktion, die in verschiedenen Systemkontexten genutzt werden kann Service stabil und zuverlässig mit allgemein nützlicher Funktionalität Service so dokumentiert, dass Nutzer ihn finden und verstehen können

14 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 19.2Vorgehen beim Service-Engineering Ermittlung von Servicekandidaten Identifizierung zu implementierender Dienste Ergebnis: Anforderungsdefinitionen für den Service Serviceentwurf Entwurf der Schnittstelle Ergebnis: Spezifikation der Schnittstelle in WSDL Serviceimplementierung Implementation und Test Ergebnis: validierter Service Bereitstellung Ergebnis: bereitgestellter validierter Service

15 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Ermittlung von Servicekandidaten Services sollen Geschäftsprozesse unterstützen Ermittlung von Servicekandidaten erfordert Analyse und Verständnis der Geschäftsprozesse wiederverwendbare Services zur Unterstützung der Prozesse Arten von Services Hilfsservices allgemeine Funktionalität für verschiedene Geschäftsprozesse Geschäftsservices verknüpft mit einer bestimmten Geschäftsfunktion Koordinations- / Prozessservices unterstützen zusammengesetzte Prozesse mit verschiedenen Handelnden und Tätigkeiten

16 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Ermittlung von Servicekandidaten Typen von Services aufgabenorientiert (auftragsorientiert) verknüpft mit einer Tätigkeit Hilfsservices, Geschäftsservices, Koordinationsservices objektorientiert (entitätsorientiert) verknüpft mit einem Geschäftsobjekt Hilfsservices, Geschäftsservices HilfsservicesGeschäftsservicesKoordinationsservices Aufgabe (Auftrag) Währungsumrechner Arbeitskräftevermittlung Validieren von Antragsformularen Überprüfen des Kreditrahmens Verarbeiten von Spesenabrechnungen Bezahlung externer Zulieferer Objekt (Entität) Dokumentformatprüfung Webformular/ XML-Konverter Spesenformular Immatrikulationsantrag

17 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Leitfragen zur Ermittlung von Kandidaten Ist der Service mit einem einzigen logischen Objekt verknüpft, das in unterschiedlichen Geschäftsprozessen verwendet wird? Ist der Service mit einer Aufgabe verknüpft, die von verschiedenen Personen in der Organisation ausgeführt wird? Wird dann die nötige Standardisierung akzeptiert? Ist der Service unabhängig? Benötigt er andere Services? Muss der Service für seinen Betrieb einen Zustand verwalten? Ist eine Datenbank nötig? Könnte der Service von Clients außerhalb der Organisation benutzt werden? Gibt es interne und externe Benutzer? Stellen unterschiedliche Benutzer unterschiedliche nicht-funktionale Anforderungen? Sind dazu verschiedene Versionen erforderlich?

18 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Szenario: Katalogservice Anbieter von Computerausrüstung stellt Katalog zur Verfügung, der die angebotenen kundenspezifischen Systemzusammenstellungen mit den kundenspezifischen Preisen enthält Bestellungen laufen davon getrennt über Beschaffungssysteme Funktionale Anforderungen Kundenspezifische Version Herunterladbar zum Offline-Blättern Vergleich von Spezifikation und Preis von bis zu vier Artikeln Blätter- und Suchfunktionen Reservierungen für 48 Stunden, in denen bestellt werden muss Nichtfunktionale Anforderungen Zugriff nur für Mitarbeiter berechtigter Kunden kundenspezifische Zusammenstellungen und Preise vertraulich von 7 bis 23 Uhr verfügbar Verarbeitung von bis zu zehn Anforderungen pro Sekunde

19 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Entwerfen von Serviceschnittstellen Logischer Schnittstellenentwurf Festlegung der Anforderungen Definition der Operationen, ihrer Parameter und Ausnahmen Nachrichtenentwurf Festlegung der Struktur der empfangenen und gesendeten Nachrichten (z.B. in UML) Minimierung der Anzahl der Nachrichten zur kompletten Ausführung des Service bei servicespezifischen Anwendungszuständen Zustandsinformationen in die Nachrichten aufnehmen Beschreibung mit WSDL

20 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Szenario: Operationen des Katalogservice OperationBeschreibung ErstelleKatalogerstellt spezifische Version des Katalogs für bestimmten Kunden optionaler Parameter für Generierung eines PDF zum Download Vergleichestellt Vergleich von bis zu sechs Merkmalen für bis zu vier Artikel dar Zeigezeigt alle Daten zu einem Artikel an Suchedurchsucht den Katalog anhand eines logischen Ausdrucks gibt eine Liste aller passenden Artikel aus GibDatumgibt das voraussichtliche Lieferdatum für einen Artikel Reservierereserviert die Artikel, die der Kunde bestellen will liefert Artikelinformation für das Bestellsystem des Kunden

21 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Szenario: Entwurf der Katalogschnittstelle OperationEingabenAusgabenAusnahmen ErstelleKatalogekEin: UnternehmensID PDFFlag ekAus: URL des Katalogs ekFehl: ungültige UnternehmensID VergleichevgEin: UnternehmensID Artikelattribut (bis zu 6) Artikelnummer (bis zu 4) vgAus: URL der Tabelle vgFehl: ungültige UnternehmensID ungültige Artikelnummer unbekanntes Attribut ZeigezgEin: UnternehmensID Artikelnummer zgAus: URL der Seite zgFehl: ungültige UnternehmensID ungültige Artikelnummer SuchesuEin: UnternehmensID Suchstring suAus: URL der Liste suFehl: ungültige UnternehmensID fehlerhafter Suchstring

22 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Szenario: Entwurf der Katalogschnittstelle OperationEingabenAusgabenAusnahmen GibDatumgdEin: UnternehmensID Artikelnummer Anzahl gdAus: Artikelnummer Lieferdatum gdFehl: ungültige UnternehmensID ungültige Artikelnummer Artikel nicht verfügbar Anzahl = 0 ReservierervEin: UnternehmensID Artikelnummer Anzahl rvAus: Artikelnummer Anzahl Lieferdatum Stückpreis Gesamtpreis rvFehl: ungültige UnternehmensID ungültige Artikelnummer Anzahl = 0

23 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Szenario: UML Definition der Nachrichten gdEin uID:String artNum: integer anz:integer gdAus artNum: integer liefDat:Date gdFehl fehlNum: integer fehlNum = 1:uID ungültig 2:artNum ungültig 3:anz<=0 4:Artikel nicht verfügbar size (artNum) = 10 liefDat > Today() size (uID) = 8 size (artNum) = 10 anz > 0

24 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Implementierung und Bereitstellung Programmierung Nutzung üblicher Programmiersprachen und Bibliotheken gesamter Service oder Schnittstelle für vorhandene Komponente oder Altsystem Testen formal mit Testwerkzeugen für WSDL-Spezifikation funktional durch gültige Eingabenachrichten Ausnahmebehandlung durch ungültige Eingabenachrichten Bereitstellen Installation auf Webserver Veröffentlichung der Servicebeschreibung für potentielle Nutzer

25 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Servicebeschreibung Information über den Serviceanbieter Angaben über das Unternehmen Kontaktdaten wichtig für Vertrauen in den Service Informelle Beschreibung der Funktionalität wichtig zur Beurteilung des Nutzens in natürlicher Sprache Detaillierte Beschreibung der Schnittstelle Syntax und Semantik formale Beschreibung z.B. WSDL Registrierungsmöglichkeit Benachrichtigung bei Aktualisierungen

26 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Services an Altsystemen Einbindung von Altsystemen in neue Anwendungen Nutzung vorhandener Funktionalität Reduzierung von Entwicklungskosten Services als Hülle für das Altsystem Funktionalität geeignet aufteilen auf verschiedene Services Nutzung der vorhandenen Funktionalität vollständig über Web-Schnittstelle auch durch externe Anwendungen möglich

27 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 19.3Softwareentwicklung mit Services Kombination und Konfigurierung von Services zu neuen zusammengesetzten Services und Anwendungen Softwareentwurf mit Wiederverwendung (Komposition) Verfügbarkeit der Services muss gewährleistet sein Workflow als Basis der Kombination Workflow als Sequenz von Aktivitäten, die zusammen einen Geschäftsprozess darstellen Ergebnisse einer Aktivität können zu Eingaben einer nachfolgenden Aktivität werden Ergebnisse einer Aktivität können zur Rückgängigmachung einer vorangehenden Aktivität führen (Kompensationsaktion) Beispiel: Urlaubspaket mit Flugbuchung, Hotelbuchung, Mietwagenbuchung etc.

28 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 19.3Serviceerstellung durch Komposition (1) Workflow- Skizze formulieren Services suchen Services auswählen Workflow verfeinern Workflow- Programm schreiben Service testen Workflow- Entwurf Serviceliste Service- spezifikation Workflow- Entwurf ausführbarer Workflow bereitzustel- lender Service

29 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 19.3Serviceerstellung durch Komposition (2) Workflow-Skizze formulieren idealer abstrakter Entwurf anhand der Anforderungen an den zusamengesetzten Service Services suchen Registrierungen und Kataloge durchsuchen: angebotene Services Anbieter Details der Bereitstellung Mögliche Services auswählen nach Funktionalität nach Kosten nach Qualität

30 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 19.3Serviceerstellung durch Komposition (3) Workflow verfeinern Präzisierung der bisher abstrakten Beschreibung ggf. Aktivitäten hinzufügen oder streichen ggf. zurück zur Suche gehen Workflow-Programm schreiben Schnittstelle des kombinierten Service definieren (WSDL) Programm schreiben in konventioneller Programmiersprache (z.B. Java oder C#) in spezieller Workflow-Sprache (z.B. WS-BPEL) Fertigen Service / fertige Anwendung testen komplexer als Komponententests

31 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Entwurf und Implementierung von Workflows Analyse der Geschäftsprozesse Aktivitäten Informationsaustausch Spezifikation mit formaler Notation UML-Aktivitätsdiagramme BPMN (Business Process Model and Notation) Implementieren der nicht verfügbaren Services Java und C# unterstützen Zusammenstellung von Webservices Erzeugen der ausführbaren Version des Workflows automatische Übersetzung von BPMN in WS-BPEL-Code

32 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik BPMN Aktivitäten ausgeführt durch Mensch oder Service dargestellt durch abgerundete Rechtecke Ereignisse treten während des Geschäftsprozesses ein dargestellt durch Kreise Gateways Verzweigungen / Entscheidungen oder Zusammenführung dargestellt durch Rauten Abfolge von Aktivitäten dargestellt durch durchgezogene Pfeile Nachrichtenfluss dargestellt durch gestrichelte Pfeile

33 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Beispiel eines Workflows in BPMN Kunde hotels. reserviereZimmer hotels. keineVerfuegbarkeit hotels. holeVorgaben hotels. ueberpruefeVerfuegbarkeit hotels. bestaetigeReservierung erneut versuchen keine Zimmer frei Zimmer OK abbrechen

34 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Interagierende Workflows in BPMN

35 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Testen von Services (1) externe Services kein Zugriff auf den Quellcode Verifikation nicht möglich viele übliche Testverfahren nicht möglich jederzeit Modifikationen durch Anbieter möglich vorhandene Testergebnisse verlieren ihre Gültigkeit dynamisch gebundene Services Tests unter allen möglichen Bindungen erforderlich kostenpflichtige Services Kosten beim Testen möglicherweise Abonnement vor Test erforderlich

36 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Testen von Services (2) nichtfunktionales Verhalten prinzipiell Tests unter verschiedener Last nötig – aber wie? Kompensationsaktionen oft bei Ausfall eines Service schwer zu testen / zu simulieren


Herunterladen ppt "© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge."

Ähnliche Präsentationen


Google-Anzeigen