Komponentenbasierte Softwareentwicklung

Ähnliche Dokumente
Modul Software Komponenten 01 Komponenten

17 Komponentenbasiertes Software-Engineering

Jürgen Schwab, debis Systemhaus

11. Komponenten Grundlagen der Programmierung 1 (Java)

Spring Dynamic Modules for OSGi Service Platforms

Cloud Architektur Workshop

Rapide An Event-Based Architecture Definition Language

Mufid Sulaiman

SE2-10-Entwurfsmuster-2 15

Kontinuierliche Architekturanalyse. in 3D

Das Interceptor Muster

Softwareentwicklung mit Enterprise JAVA Beans

Gemeinsam mehr erreichen.

Es gibt zwei Wege die elektronischen Daten aus Navision zu exportieren.

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

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

Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

Vorlesung Programmieren

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

ORACLE Business Components for Java (BC4J) Marco Grawunder

Spring Dynamic Modules for OSGi Service Platforms

Anforderungsgetriebene Webentwicklung mit Grails:

Specifying Patterns for Dynamic Pattern Instance Recognition with UML 2.0 Sequence Diagrams. Lothar Wendehals. Universität Paderborn

Security Patterns. Benny Clauss. Sicherheit in der Softwareentwicklung WS 07/08

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

Andreas Mösching Senior IT Architekt Hewlett-Packard (Schweiz) GmbH HP Banking Service Center Bern

ZENITY - Die Software für Ihre Unternehmens-Releaseplanung

Unified Modeling Language (UML)

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick

Komponenten- und ereignisorientierte Softwareentwicklung am Beispiel von Borland-Delphi

ArcObjects-Programmierung mit Delphi. Marko Apfel, Team Entwicklung

Komponentenbasierte Softwareentwicklung mit PHP. Oliver Schlicht - bitexpert

Windows Server 2012 R2 Essentials & Hyper-V

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, Java Forum Stuttgart 2007

Application Frameworks

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Grundkonstrukte der Objektorientierung in Java, C# und C++

IHK Die Weiterbildung. Zertifikatslehrgang. IT Service Management (ITIL)

Title. Power-to-Design circuits. HyDraw CAD 600 What s New 1 of 29

Übungen zur Softwaretechnik

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Xpert.IVY das GUI ist entscheidend!

Service. Was ist eine Enterprise Service Architecture und wie reagiert SAP. Warum Monitoring in ZENOS, was monitort die XI?

Metadata Service Respository (MDS) - Sehen, lernen, verstehen!

Innovator 11 classix. Erweiterter XMI-Export aus Innovator Business und Object classix. HowTo.

ObjectBridge Java Edition

Autonomic Computing. Veronica Garcia, Lukas Knauer, Christopher Suter. 18. Mai 2006 Seminar Communication Systems IFI, UniZH

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit

Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool

Continuous Delivery. für Java Anwendungen. Axel Fontaine Software Development Expert

Jini-Beispiel. für Übung zu Verteilter System. Yiyu Ma, Liying Wang, Rui Dong, Fang Shen

Persistenzschicht in Collaborative Workspace

Vortrag von: Ilias Agorakis & Robert Roginer

Daniel Warneke Ein Vortrag im Rahmen des Proseminars Software Pioneers

DSL Entwicklung und Modellierung

DBUS Interprozess-Kommunikation für Embedded-Plattformen

Java Enterprise Architekturen Willkommen in der Realität

Kompetenz. rund um. Ihren. Entwicklungsprozess. Über uns. Technische Software. Modellbasierter Test. Prüfplätze. Automatisierung.

Systemvoraussetzungen SDL Clients

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

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services

Kurzanleitung Installation der Zend Studio Sprachpakete

OSGi. The Next Generation Java Service Platform. SOA - The Java Way or My classpath is killing me. Michael Greifeneder

Transparente SOA Governance mit Modellierung. OOP 2010 München, 28. Januar 2010, 12:30 Uhr Modeling Day

Christian Kurze BI-Praktikum IBM WS 2008/09

Programmentwicklung ohne BlueJ

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

Powershell DSC Oliver Ryf

Eclipse User Interface Guidelines

++ Read Programmieren: Software entwickeln fr Einsteiger: Lernen Sie die Grundlagen von Java, SQL und C++ (Codierung,... download php book free pdf

Java Entwicklung für Embedded Devices Best & Worst Practices!

J2EE ohne EJB?! Leichtgewichtige Komponentenframeworks in der J2EE

Unigraphics Schnittstelle entfernen

Markus BöhmB Account Technology Architect Microsoft Schweiz GmbH

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges

Festpreisprojekte in Time und in Budget

46 Softwarearchitektur mit dem Quasar-Architekturstil

Einführung in die Programmierung für NF

Einführung in Generatives Programmieren. Bastian Molkenthin

E-Business-Kommunikation

UC4 Rapid Automation HP Service Manager Agent Versionshinweise

REST-Services mit Dropwizard ruck-zuck erstellt, dokumentiert und getestet

16 Architekturentwurf Einführung und Überblick

Workflow, Business Process Management, 4.Teil

Ein- und Zweifamilienhäuser Family homes

Die COBIT 5 Produktfamilie. (Kurzvorstellung) (mgaulke@kpmg.com) Markus Gaulke

Erste Erfahrungen mit NSASJ anhand der OmnivoBase Portierung. September 2013

Gerd Wütherich Martin Lippert. OSGi Service Platform by example

OSEK-OS. Oliver Botschkowski. PG AutoLab Seminarwochenende Oktober AutoLab

Entwicklungswerkzeuge

JPC Visualisierung in Java

Trace- und Zeit-Zusicherungen beim Programmieren mit Vertrag

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level

Der Rechner. Grundbegriffe. Aufbau. Funktionsweise. Betriebssystem. Kategorisierung. PC-Komponenten. Prof. Dr. Aris Christidis

Aufbau eines IT-Servicekataloges am Fallbeispiel einer Schweizer Bank

Dokumentenmanagement mit active.pdm

Objektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt

Transkript:

Seminar WS04 Komponentenbasierte Softwareentwicklung Karl Pauls

Software-Komponente 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 (Clemens Szyperski) Peter Löhr und Karl Pauls 1

Software-Komponente Is a unit of independent deployment (Autarkie) Seperated from it s environment and other components Never deployed partially Is a unit of third-party compositon (Kapselung) Sufficiently self-contained Clearly specifies what it requires and provides No (externally) observable state Cannot be disinguished from copies of it s own In any given process there will be at most one copy of a particular component Peter Löhr und Karl Pauls 2

Software-Komponente Autarkie: Eine Komponente ist für die Erbringung ihrer Funktionalität (möglichst) nicht auf die Mitwirkung anderer Komponenten angewiesen Kapselung: Funktionalität einer Komponente ist durch Schnittstelle, Spezifikation und Parameter des Komponententyps erschöpfend beschrieben Peter Löhr und Karl Pauls 3

Software-Komponente Rekursivität: System ist selbst wiederum als gekapselter Komponententyp bei der Komposition eines größeren Systems verwendbar Peter Löhr und Karl Pauls 4

Muster, Rahmenwerke, Architekturen Wiederverwendung von Design: Beständigkeit : Programmiersprachen Abstraktion: Bibliotheken (Abhängigkeiten) Spezifikation: Schnittstellen (Abhängigkeiten) Interaktionsarten: Nachrichten und Protokolle Interaktions-Architekturen: Muster Subsystem-Architekturen: Rahmenwerke System-Architekturen: Hierarchien und Schichten Peter Löhr und Karl Pauls 5

Abhängigkeiten Exemplar (Instance Level) Typ (Deployment Level) Abhängigkeit auf Dienst (Instance Dependency) Abhängigkeit auf Bibliothek (Deployment Dependency) Peter Löhr und Karl Pauls 6

Komposition Peter Löhr und Karl Pauls 7

Komposition von Komponenten Interaktion Ereignisbasiert Aufrufbasiert Pipe and Filter Abhängigkeitsauflösung Exemplar wird erzeugt Komposition z.b. Pipeline in der Unix Shell: > trans grep $1 sort Peter Löhr und Karl Pauls 8

Abstrakte Sicht Kitt: Vereinbarung der Architektur des Systems Angabe der Komponenten und ihrer Typen Interaktion zwischen ihnen Mittels geeigneter formaler Sparche (Programmiersprache, Skriptsprache, Koordinationssprache, graphische Sprache,...) Peter Löhr und Karl Pauls 9

Komposition (Am Beispiel von OSGi) Life-cycle Management: Peter Löhr und Karl Pauls 10

Komposition (Am Beispiel von OSGi) Entfernt steuerbares Rahmenwerk Komponenten können zur Laufzeit geladen werden Life-cycle Management Peter Löhr und Karl Pauls 11

Komposition (Am Beispiel von OSGi) Bekanntmachung (Manifest) enthält Meta-Daten Peter Löhr und Karl Pauls 12

Komposition (Am Beispiel von OSGi) Peter Löhr und Karl Pauls 13

Komposition (Am Beispiel von OSGi) Bundles importieren bzw. exportieren Java Packages Peter Löhr und Karl Pauls 14

Komposition (Am Beispiel von OSGi) Framework kümmert sich um Life-cycle Management Peter Löhr und Karl Pauls 15

Komposition (Am Beispiel von OSGi) Bundles importieren bzw. exportieren Dienste (Java Interfaces mit extern spezifizierter Semantik) Peter Löhr und Karl Pauls 16

Komposition (Am Beispiel von OSGi) Bundles importieren bzw. exportieren Dienste (Java Interfaces mit extern spezifizierter Semantik) Peter Löhr und Karl Pauls 17

Inversion of Control (Am Beispiel von Gravity) Life-Cycle und Abhängigkeits Verwaltung von Diensten Peter Löhr und Karl Pauls 18

Inversion of Control (Am Beispiel von Gravity) Service Component http://gravity.sf.net Peter Löhr und Karl Pauls 19

Inversion of Control (Am Beispiel von Gravity) ServiceBinder für OSGi Meta-Data in extra Datei in Bundle Cardinaltiy, policy, filter http://gravity.sf.net Peter Löhr und Karl Pauls 20

Themenkategorisierung Von einfach bis leichtgewichtig: Java Beans Magic Beans OSGi Angewandt: Eclipse Visualisierung: UML 2.0 Adaption: Gravity and Autonomous Adaption to Dynamic Availability Peter Löhr und Karl Pauls 21

Themenkategorisierung Schwergewichtig: EJB / J2EE Corba Components (CCM) und Corba Trader MS.Net - Assemblies Deployment ModulLoader Jini SmartFrog - Smart Framework for Object Groups AID Peter Löhr und Karl Pauls 22