Softwareentwicklung mit Komponenten

Ähnliche Dokumente
Andreas Kosch. Software & Support $ > Verlag GmbH

Modul Software Komponenten 01 Komponenten

Komponentenbasierte Software-Entwicklung

Client/Server-Programmierung

Microsoft.NET Framework & Component Object Model. ein Vortrag von Florian Steuber

Janeva:.NET meets J2EE

Einführung: Verteilte Systeme - Remote Method Invocation -

Inhalt. 1. Motivation. 2. COM Architektur. 3. COM Implementierung. 4. Zusammenhang zu ATL. 5. Beispiel COM Client/ Server. 6..

9.3 COM und DCOM (Microsoft )

Software Engineering

Enterprise JavaBeans Überblick

8.3 COM und DCOM (Microsoft)

Liste MI / Liste I Programmieren in C++

Kommunikation in verteilten Anwendungen

Objektorientierte und Funktionale Programmierung SS 2014

Middleware für Verteilte Informationssysteme

Programmieren 2 - Java

Creational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05.

DCOM und.net. B. Sc. Tobias Buchloh. Seminar Software-Entwurf Fachgebiet Software Engineering, Institut für Angewandte Informatik Universität Hannover

Verteidigung Großer Beleg

Office in Java. 2. Info-Point Urs Frei

Jürgen Schwab, debis Systemhaus

OOP. Tagesprogramm. Software-Entwurfsmuster. Factory-Method. Prototype

Software Design basierend auf dem Plug-In Konzept

IUG DRESDEN ERSTELLUNG VON ROBUSTEN NATURAL SERVICES Software AG. All rights reserved. For internal use only

Web Services. Web Services in the News. Vision: Web of Services. Learning for Results. DECUS Symposium 2002, Vortrag 1K07,

Vorlesung Software aus Komponenten

Vorlesung Donnerstags, bis Uhr, HS12 Übung Dienstags, bis Uhr 4-5 ÜbungsbläMer (Programmieraufgaben)

4.4 COM+ mit Transaction Services als Beispiel eines OTM

Design Patterns. 3. Juni 2015

Kap. 3 Verteilte Objektverwaltung

11. Komponenten Grundlagen der Programmierung 1 (Java)

Objektorientierteund FunktionaleProgrammierung

ArcObjects-Programmierung mit Delphi. Marko Apfel, Team Entwicklung

Komponentenbasierter

Seminar Ausgewählte Komponenten von Betriebssystemen. IDL4 Compiler

Liste V Enterprise JavaBeans

Zwischenbericht Diplomarbeit

Model-View-Controller

Einführung in die Informatik II

Objektorientierte und Funktionale Programmierung

4.4 COM+ mit Transaction Services als Beispiel eines OTM

Projektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi

Universität Karlsruhe (TH) Moderne Programmiersysteme am Beispiel von.net

Schnittstellen und. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda

Komponentenbasierter Taschenrechner mit CORBA

Entwurfsmuster. Marc Monecke

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010

Design Patterns. (Software-Architektur) Prof. Dr. Oliver Braun. Letzte Änderung: :12. Design Patterns 1/26

Systemintegration mit Service Orientierten Architekturen. Frank Zenker

185.A Software-Entwurfsmuster 1 OOP. Software-Entwurfsmuster

OOP. Tagesprogramm. Aspekte und Annotationen. Software-Entwurfsmuster. Factory-Method. Prototype

Überblick FBC SNW Zusammenfassung. Entwurfsmuster. Eine Einführung. Botond Draskoczy. Marcus Vitruvius Pollio

Ein Ansatz zum modellgetriebenen Integrationstest von EJB-basierten Informationssystemen

ActiveX/DCOM-Programmierung mit Visual C++ 6

<Insert Picture Here> Einführung in SOA

Komponentenbasierte Softwareentwicklung

Grundlagen der Web-Entwicklung INF3172

ADDISON-WESLEY PUBLISHING COMPANY

Integration von UIS-Webdiensten

Microsoft.NET. InfoPoint 8. Juni 2005 Stefan Bühler

windream SDK Einfache System-Erweiterungen und Software-Integrationen mit windream

Praktikum Softwareentwicklung 2

Entwurfsmuster (Design Patterns)

Java 2, Enterprise Edition Einführung und Überblick

Templatebasierter CDA-Generator mit ART-DECOR. Vortrag im Rahmen der HL7 Austria Jahrestagung 2017, Wien Dipl.-Inform. Med.

Das JWAM-Framework und Komponenten

Softwareentwicklung mit Enterprise JAVA Beans

Abbildung 3-1: Clients und Server C+S

1. Historie und Ziele der Softwareentwicklung

Einführung in COM Seite 1

CONSULTING // ENGINEERING // ENTWICKLUNG KOMPLEXER SOFTWARE-SYSTEME

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server

Einführung in die Windows - Programmierung mit der MFC

Inhaltsverzeichnis. Teil I Grundlagen der Programmarchitektur Vorwort... XIII XV XVI XVI

Erläuterungen zu Darstellung des DLQ-Datenportals

Architekturen Internet-basierter Informationssysteme

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung Reisebeschreibung Zielpublikum Fallbeispiel...

Inhaltsverzeichnis. Vorwort... Einleitung... Einführung... 1

CARL HANSER VERLAG. Erika Horn, Thomas Reinke. Softwarearchitektur und Softwarebauelemente Eine Einführung für Softwarearchitekten

7. Zusammenfassung (1)

Strategie. (Strategy. / Policy) Ein objektbasiertes Verhaltensmuster. Stephan Munkelt, Stefan Salzmann - 03IN

Java-Programmierung mit Visual J++ 1.1

Model Driven Development im Überblick

Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick. 11. Februar 2015

Integration im Enterprise Umfeld

Application Frameworks and Componentware Wintersemester 2002/03. COM+ Entwicklungsschritte. In-Place Activation OSF DCE RPC 1992 DCOM 1996

Erzeugungsmuster. Kapselung der Objekt-Erzeugung

SOLID für.net und JavaScript

ORACLE Business Components for Java (BC4J) Marco Grawunder

Mustersuche in Quellcode

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

Übungen zu Softwaretechnik

Ein Entwurfsmuster der GoF. vorgestellt von. Sigrid Weil 16. Januar 2008

Indigo vs. Juno. Was ist neu für Eclipse 4.x RCP Entwickler? Hauptseminar 2012

Software Reuse Sommer OLE, DCOM und COM Die frühen. Komponentenmodelle der Firma Microsoft. Object Linking and Embedding (Compound Documents)

H.1 FORMI: An RMI Extension for Adaptive Applications H.1 FORMI: An RMI Extension for Adaptive Applications

Transkript:

Softwareentwicklung mit Komponenten Fachhochschule Gießen 20.10.1999 Dr. Burkhardt Renz

Gliederung was sind unsere Ziele? Was ist eine Beispiele, Charakteristika, Technologien Wie funktioniert Ein konkretes Beispiel mit COM/ActiveX Wiederverwendung Softwaretechnik der Zukunft? 2

Komponententechnologie wir alle verwenden sie Fahrscheinautomat von ASCOM Software-Farm für wiederverwendbare Komponenten Macintosh Extensions, Netscape Plug-ins Funktionalität erweitern oder verändern Sybase/Powersoft s DataWindow Herzstück in PowerBuilder, Java und C++ Verbunddokumente (Compound Documents) Exceltabelle im Word-Dokument Elemente graphischer Oberflächen die Erfolgsstory von Visual Basic und JavaBeans 3

Komponenten wodurch sind sie charakterisiert? Eigenständige Einheit eines Softwaresystems hohe Kohäsion, geringe Kopplung Kann und soll zusammengesetzt werden unterstützt Infrastruktur zur Komposition Klar spezifizierte Schnittstelle Kontrakt zwischen Verwender und Komponente 4 Explizite Kontextabhängigkeit Umfeld der Komponente definiert Verwendung unabhängig von Entwicklung Black Box, Sprach- und Plattformunabhängig Implementierung änderbar, Schnittstelle fix Kapselung ohne den Verwender zu kennen

Interfaces was gehört zum Kontrakt? Signatur der Funktion interface IWebBrowser : IDispatch { HRESULT Navigate( [in] char* URL ) } Vor- und Nachbedingungen pre URL!= NULL post URL ist invariant 5 Ersetzbarkeit der Komponente Polymorphismus, Typisierung von Interfaces Ableitung von Interfaces IUnknown IDispatch IWebBrowser

Technologien wie verbindet man Komponenten? CORBA Common Object Request Broker Architecture Standardisierung von Protokoll/Architektur COM/DCOM Distributed Component Object Model Binärstandard JavaBeans, Enterprise JavaBeans Standardisierte Java-Interfaces 6

Alltag der Softwarewerkstatt I die Aufgabenstellung Dokumentenaustausch zwischen Behörden Standesamt meldet Geburt an Einwohnermeldeamt Softwaretechnisches Umfeld Dokument in XML, Programm mit MFC Unsere Aufgabe Anzeige des XML-Dokuments Randbedingung sollte gestern schon fertig sein Konzepte? Lösungen? 7

Alltag der Softwarewerkstatt II Grundzüge der Implementierung Die Komponente: Microsoft WebBrowser Internet Explorer 5 kann XML Verwendung der Komponente I Ableitung von der Fensterklasse CWnd class CWebBrowser : public CWnd {... }; Verwendung der Komponente II WebBrowser erzeugen und auf URL navigieren Create( CLSID_WebBrowser ); Navigate( "giessen.intranet.standesamt" ); Verwendung der Komponente III Reaktion auf Ereignisse einbauen OnDownloadBegin() {... } OnDownloadComplete() {... } 8

Komponenten am Beispiel COM wie wird eine Methode aufgerufen? Prinzip ein Pointer auf eine Tabelle von Funktionspointern Interface IWebBrowser ClientPtr m_pcomponent Ptr vtable Code für Navigate Transparenz In-Process Server (DLL), Local Server (EXE) oder Remote Server durch rpc 9

Komponenten am Beispiel COM wie kommt eine Instanz zustande? Prinzip ClassID, Service Control Manager und Class Factory Client Create( CLSID ) COM Service Control Manager Registry 10 Server Class Factory erzeugt

Formen der Wiederverwendung wo ordnen sich Komponenten ein? Konzepte Codestandards, Algorithmen, Entwurfsmuster, Architektur Quellcode Cut&Paste, Klonen, Codegeneratoren Binärcode in Bibliotheken, Templates Funktionsbibliotheken, Klassenbibliotheken, STL Frameworks Architektur als Klassenbibliothek Komponenten Infrastruktur austauschbarer, komplexer Teile 11

Besonderheit von Komponenten I aus Sicht des Verwenders Neuer Stil des Programmierens Visual Programming, Konzepte adaptieren Wirkungen auf die eigene Anwendung Standards, Muster der Interaktion, Corporate Design Qualitätssicherung keine Lebenszyklus-QS, Black Box, impliziter Massentest Kosten und zeitlicher Aufwand Kompetenz in der Komponente verkörpert Beispiel aus der Praxis Ultimate Grid von Dundas mit Sicherheitsnetz 12

Besonderheit von Komponenten II aus Sicht des Herstellers Allgemeinheit und Anpassbarkeit Komponente muss für die Wiederverwendung konzipiert sein Umfeld für Wiederverwendung Dokumentation, Testumgebung, Tutorien Qualitätssicherung Stabilität der Schnittstelle und des Konzepts Was wiederverwendbar ist, wird spät entdeckt je näher am Bedürfnis des Anwenders und doch in ähnlichem Kontext wiederverwendbar, desto ausgeklügelter muss die Komponente sein 13

Literatur Clemens Szyperski: Component Software, Beyond Object-Oriented Programming, Addison-Wesley 1998 Frank Griffel: Componentware, Konzepte und Techniken eines Softwareparadigmas, dpunkt.verlag 1998 David J. Kruglinski, George Shepherd, Scot Wingo: Programming Microsoft Visual C++, Microsoft Press 1998 Don Box: Essential COM, Addison-Wesley 1998 Links 14 CORBA COM JavaBeans http://www.omg.org http://www.microsoft.com/com http://www.javasoft.com