Modul Software Komponenten 01 Komponenten

Ähnliche Dokumente
Modul Software Komponenten 10 Komponentenarchitektur

Komponentenbasierte Softwareentwicklung

11. Komponenten Grundlagen der Programmierung 1 (Java)

Zwischenbericht Diplomarbeit

17 Komponentenbasiertes Software-Engineering

V-Modell mit UML. Max Kleiner

Enterprise JavaBeans Überblick

Softwarearchitektur mit dem Quasar- Architekturstil

Das JWAM-Framework und Komponenten

Experts in agile software engineering. Software Architektur andrena objects ag

Übungen zu Softwaretechnik

Konzept / Architektur Diagramme

Aufbau eines modernen Betriebssystems (Windows NT 5.0)

UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert

Ziele und Tätigkeiten von Architekten

Software-Engineering. SWE III SW-Design. Software-Engineering im NDS-I besteht aus drei Modulen: SWE I Basismodul. SWE II Modellieren mit UML

Software Design basierend auf dem Plug-In Konzept

Komponentenbasierter

Mathematik Seminar WS 2003: Simulation und Bildanalyse mit Java. Software-Architektur basierend auf dem Plug-in-Konzept

Der agile Software Architekt

Vorlesung Software-Reengineering

Enterprise JavaBeans Überblick

System-Modellierung. statisches & dynamisches Modell. System Model. System Model

Kommunikation in verteilten Anwendungen

NotesSession.GetPropertyBroker( )

Zustandsdiagramm - Begriffe

Buchvorstellung Domain-Driven Design

JavaFX im UI-Technologiedschungel

Masterkurs Verteilte betriebliche Informationssysteme

UML (Unified Modelling Language) von Christian Bartl

CORBA. Eine kurze Einführung. Common Object Request Broker Architecture. Ying Lu

Unternehmensweite IT Architekturen

Komponenten- und Service-orientierte Softwarekonstruktion

Erläuterungen zu Darstellung des DLQ-Datenportals

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

39 Object Request Brokers. 40 Components of an ORB Stubs and Skeletons Stub

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

Jürgen Schwab, debis Systemhaus

Alternative Architekturkonzepte

Architektur Verteilter Systeme Teil 1: Einführung

Software- /Systemarchitektur

3-Tier-Architecture und J2EE

Software Engineering

on Software Development Design

Empirische Strategien

Technische Universität Kaiserslautern Lehrstuhl für Virtuelle Produktentwicklung

Super. Sub1. Sub2 State2. Sub3. Sub4. Super. State2. Sub4

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

Programmiermethodik Vorlesung und Praktikum SS 2001

Von UML 1.x nach UML 2.0

Gemeinsam mehr erreichen.

Was ist Software-Architektur?

46 Softwarearchitektur mit dem Quasar-Architekturstil

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

Architecture Blueprints

Einführung: Verteilte Systeme - Remote Method Invocation -

Enterprise JavaBeans Überblick: 12. Session Facade Einleitung 12.2 Problem 12.3 Lösung. Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 460

Komponentenbasierter Taschenrechner mit CORBA

Spring & OSGi: Plattform der Zukunft. Bernd Kolb (Kolbware) Martin Lippert (akquinet agile GmbH) Gerd Wütherich (comdirect bank AG)

Complex Event Processing

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

Multi-Tool Testlandschaft mit DDS

Softwareentwicklung mit Enterprise JAVA Beans

Oracle Data Warehouse Integrator Builder Ein Selbstversuch

+++ Bitte nutzen Sie die integrierte Audio-Funktion von WebEx (Menü Audio -> Integrated Voice Conference -> Start auswählen), um uns zu hören!!!.

DATA ANALYSIS AND REPRESENTATION FOR SOFTWARE SYSTEMS

Transkript:

Modul Software Komponenten 01 Komponenten Martin Jud Inhalt 1. Begriff 2. Bedeutung 3. Nutzen 4. Entwurf mit Komponenten HSLU T&A, 14.09.2008 Modul SWK - 01-Komponenten - Martin Jud 2

1. Begriff Definition des Komponentenbegriffs Aus dem lateinischen componere (zusammensetzen) "A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subject to composition by third parties." European Conference on Object-Oriented Programming (ECOOP), 1996 "Eine Software-Komponente ist ein Software-Element, das zu einem bestimmten Komponentenmodell passt und entsprechend einem Composition Standard ohne Änderungen mit anderen Komponenten verknüpft und ausgeführt werden kann." Councill, Heineman: Component-Based Software Engineering, Addison-Wesley, 2001 HSLU T&A, 14.09.2008 Modul SWK - 01-Komponenten - Martin Jud 4

Aus Wikipedia, http://de.wikipedia.org/w/index.php?title=komponentenmodell&oldid=13781875 Komponentenmodelle Komponentenmodelle sind konkrete Ausprägungen des Paradigmas der Komponentenbasierten Entwicklung. Neben der genauen Form und den Eigenschaften einer Komponente muss es einen Interaction-Standard und einen Composition-Standard festlegen. Ein Komponentenmodell kann ausserdem Implementierungen verschiedener Hersteller besitzen. Folgende Komponentenmodelle sind weit verbreitet: MS.NET Enterprise Java Beans DCOM (Distributed Component Object Model) CORBA Component Model HSLU T&A, 14.09.2008 Modul SWK - 01-Komponenten - Martin Jud 5 Software Komponenten in UML Bestell- Material Bestellung Bestell- Eingang Alternative Darstellung: Bestell- Material «component» Bestellung Bestell- Eingang HSLU T&A, 14.09.2008 Modul SWK - 01-Komponenten Aus der - Vorlesung Martin UML Jud2.0 von Jörg Hofstetter HTA Luzern 6

Subsysteme Der Komponentenbegriff ist hierarchisch System «subsystem» A «subsystem» B «subsystem» A1 «subsystem» A2 «subsystem» B1 HSLU T&A, 14.09.2008 Modul SWK - 01-Komponenten - Martin Jud 7 Adapted from Systems Design by David L. March, DeSales University Webpage Modules Layers Components A module is an implementation unit A component is a runtime unit. In this figure modules are grouped into layers. Each layer will be developed by a different team. The bold boundary illustrates the modules that participate when the corresponding component is running. HSLU T&A, 14.09.2008 Modul SWK - 01-Komponenten - Martin Jud 8

Adapted from Systems Design by David L. March, DeSales University Webpage Wichtige Eigenschaften von Komponenten eigenständige, ausführbare SW-Einheiten (Laufzeit-Sicht), d.h. Subsysteme, Prozesse, Objekte über ihre Schnittstellen austauschbar definiert lassen sich unabhängig voneinander entwickeln kunden- / anwendungsspezifische, bzw. wiederverwendbare Software sowie COTS können installiert / deployed werden HSLU T&A, 14.09.2008 Modul SWK - 01-Komponenten - Martin Jud 9 2. Bedeutung

aus Seminar Komponenten: Christopher Oezbek, Freie Universität Berlin Komponentenbasierte Entwicklung I Die Konstruktion von Software aus vorgegebenen Komponenten und Bibliotheken spielt eine immer grössere Rolle, da die Komplexität von Systemen, Protokollen und Anwendungsszenarien anwächst und damit eine Eigenentwicklung aus Gründen der Wirtschaftlichkeit und Sicherheit nicht ratsam erscheint. Christopher Oezbek, Freie Universität Berlin HSLU T&A, 14.09.2008 Modul SWK - 01-Komponenten - Martin Jud 11 aus Seminar Komponenten: Christopher Oezbek, Freie Universität Berlin Komponentenbasierte Entwicklung II Die Schwierigkeit der Softwareentwicklung liegt heute nicht in der Beherrschung der gewählten Programmiersprache, sondern vielmehr in der der zugehörigen Bibliothek (vgl. die Komplexität der Sprache Java und die des JDK). Christopher Oezbek, Freie Universität Berlin HSLU T&A, 14.09.2008 Modul SWK - 01-Komponenten - Martin Jud 12

aus Seminar Komponenten: Christopher Oezbek, Freie Universität Berlin Komponentenbasierte Entwicklung III Komponenten zu entwickeln, stellt hierbei noch höhere Anforderungen an unsere softwaretechnischen Fertigkeiten als reguläre Software, da eine ganze Reihe neuer Einflüsse beachtet werden müssen, die bei einmaliger Anwendung nicht auftreten. Christopher Oezbek, Freie Universität Berlin HSLU T&A, 14.09.2008 Modul SWK - 01-Komponenten - Martin Jud 13 Bedeutung der Komponententechnologie HSLU T&A, 14.09.2008 Modul SWK - 01-Komponenten - Martin Jud 14

3. Nutzen from Sterling Software The Enterprise Component Architects Webpage Nutzen von Komponenten HSLU T&A, 14.09.2008 Modul SWK - 01-Komponenten - Martin Jud 16

Auswirkungen von Änderungen from Sterling Software The Enterprise Component Architects Webpage HSLU T&A, 14.09.2008 Modul SWK - 01-Komponenten - Martin Jud 17 Auswirkungen mit Komponenten from Sterling Software The Enterprise Component Architects Webpage HSLU T&A, 14.09.2008 Modul SWK - 01-Komponenten - Martin Jud 18

4. Entwurf mit Komponenten Aus der Vorlesung Architektur von Jörg Hofstetter HTA Luzern Praktische Eigenschaften von Komponenten Wer eine Komponente einsetzen will, braucht nur deren Schnittstelle zu kennen. Komponenten, die dieselbe Schnittstelle haben, sind gegenseitig austauschbar. Komponententest ist blackbox Test. Komponenten lassen sich unabhängig voneinander entwickeln. Komponenten unterstützen die Wiederverwendbarkeit. HSLU T&A, 14.09.2008 Modul SWK - 01-Komponenten - Martin Jud 20

Aus der Vorlesung Architektur von Jörg Hofstetter HTA Luzern Verhaltenssicht Components & Connector: ausführbare Einheiten und gemeinsame Daten Datenfluss: Data flow between components. Control flow: wird angestossen von Prozess: welche Komponenten laufen parallel? Verteilung: Zuordnung der Komponenten zur HW ToLower «dataflow» Split Merge ToUpper HSLU T&A, 14.09.2008 Modul SWK - 01-Komponenten - Martin Jud 21 Aus der Vorlesung Architektur von Jörg Hofstetter HTA Luzern Komponenten-Spezifikation Export: unterstützte Interfaces, die andere Komponenten nutzen können. Export C Import: benötigte / benutzte Interfaces von anderen Komponenten. A Import B Verhalten: Verhalten der Komponente. Kontext: Rahmenbedingungen im Betrieb der Komponente. HSLU T&A, 14.09.2008 Modul SWK - 01-Komponenten - Martin Jud 22

Aus dem Vortrag UML-2 von Jörg Hofstetter HTA Luzern Verdrahtung von Komponenten Fehler, kann nicht zusammengesteckt werden! HSLU T&A, 14.09.2008 Modul SWK - 01-Komponenten - Martin Jud 23 Adapted from Documenting SW Architectures by Paul Clements et. al. Addison Wesley Architektur-Muster Pipe and Filter Subscriber Client A subscribe events request service Publisher Server B services Shared Data Publish-Subscribe Client-Server Peer-to-Peer concurrency & sychronization C D HSLU T&A, 14.09.2008 Modul SWK - 01-Komponenten - Martin Jud 24

Adapted from Documenting SW Architectures by Paul Clements et. al. Addison Wesley Rollen der Komponenten in den Architekturmustern Pipe-and-Filter Component: Filter Connector: Pipe Data Transformation Client-Server Component: Client und Server Connector: request/reply Decoupling Apps. from Services Shared Data Component: Repositories Connector: Data Reader/Writer Multiple Accessors & Persistence Publish-Subscribe Component: any Connector: publish-subscribe Send events & msgs. to unknown set of recipients Peer-to-Peer Component: Peer Connector: bidirectional RPC Collaboration Communicating Processes Component: any concurrent unit Connector: data exchg., msg. passing, sync., ctrl. Concurrent Systems HSLU T&A, 14.09.2008 Modul SWK - 01-Komponenten - Martin Jud 25