Komponentenbasierte Architektur zur Adaption web-basierter Anwendungen

Größe: px
Ab Seite anzeigen:

Download "Komponentenbasierte Architektur zur Adaption web-basierter Anwendungen"

Transkript

1 Großer Beleg Komponentenbasierte Architektur zur Adaption web-basierter Anwendungen bearbeitet von Sebastian Klamar geboren am 17. März 1980 Technische Universität Dresden Fakultät Informatik Institut für Systemarchitektur Lehrstuhl Rechnernetze Hochschullehrer: Prof. Dr. Alexander Schill Betreuer: Dipl.-Inform. Thomas Springer Eingereicht am: 26. Januar 2004

2 ii

3 Aufgabenstellung Web-basierte Dienste arbeiten in einer hochgradig heterogenen Ausführungsumgebung. Dies resultiert zum einen aus technischen Aspekten, die durch die Integration tragbarer Geräte und drahtloser Netzwerktechnologien in das Internet bedingt sind. Zum anderen führen Anforderungen an Benutzbarkeit und Ergonomie zu einer individuellen und kontextsensitiven Gestaltung von Diensten. Eine notwendige Voraussetzung, um die Anwendungsentwicklung mobiler und ubiquitärer Systeme effizient, finanzier- und gleichzeitig bedienbar zu halten, ist deshalb eine automatische Anpassung von Anwendungen an die Fähigkeiten der Endgeräte, deren Kommunikations- und Interaktionsmöglichkeiten sowie an den jeweiligen Benutzungskontext. Ein Softwaresystem zur automatischen Adaption von web-basierten Diensten ist sehr komplex und beinhaltet eine Vielzahl von Funktionen wie Fragmentierung, Transcoding, Datenvalidierung und Datenaustausch mit Backend-Systemen. Die Realisierung führt zu einer Vielzahl von Adaptionsmodulen die möglichst flexibel miteinander kombinierbar sein sollen. Außerdem sollen Module entfernt, ausgetauscht oder hinzugefügt werden können ohne den Gesamtablauf des Adaptionsprozesses zu beeinflussen. In der Arbeit soll ein Konzept mit den genannten Eigenschaften auf der Basis des existierenden Adaptionsframeworks erarbeitet werden. Aus dem vorhandenen System soll entsprechend der konzipierten Architektur ein neuer Prototyp entwickelt werden. Dafür sollen existierende Middleware- Plattformen verglichen und eine der Plattformen als Implementierungsbasis ausgewählt werden. Schwerpunkte: Literaturrecherche Vergleich existierender Ansätze (Servlet, J2EE, Proxy, COCOON,...) Entwurf einer Architektur für ein komponentenbasiertes Adaptionsframework Definition von Adaptionskomponenten Aufbau von Komponentenpfaden Sessionmanagement Integration dynamischer Inhalte (Servlet/JSP, XML/XSLT) Prototypische Implementierung des entwickelten Ansatzes auf Basis eines vorhandenen Frameworks

4 iv Aufgabenstellung

5 Inhaltsverzeichnis Aufgabenstellung Abkürzungsverzeichnis Abbildungsverzeichnis Tabellenverzeichnis i v viii ix 1 Einleitung 1 2 Softwaretechnische Aspekte Komponentenorientierung Motivation Begriffsdefinition Komponente Konzepte komponentenbasierter Systeme Modellierungssprachen ADL Architecture Description Language UML Unified Modeling Language ADL vs. UML MDA Model Driven Architecture Motivation Der modellgetriebene Ansatz Standards Abschließende Betrachtung Adaption von web-basierten Anwendungen Kriterien für eine Adaption Software des Endgerätes Hardware des Endgerätes Qualität der Netzwerkanbindung Benutzer Adaptionsmöglichkeiten Inhaltselemente Übertragung Transcoding (Codeumwandlung) Bedienung und Navigation Notwendigkeit von semantischen Informationen Adaptionsframework der TU Dresden Architektur Servlet und FilterManager Filtergruppen Request-Editoren

6 vi INHALTSVERZEICHNIS Generatoren Response-Editoren Monitore Analyse des Adaptionsframeworks Ablauf Fragmentierung Problem Fragmentierung Konzeption einer komponentenbasierten Filter-Architektur Pipeline-Verarbeitung von XML als Grundlage Definition von Adaptionskomponenten MIME-Adaption Dynamic Loader DDL Preprocessor Model Inclusion XSLT Processor WML Compiler LinkRewriter MIME2DDL AdaptationInfoProvider AdaptationInfoAnnotator BGImageEliminator FragmentMarker FragmentExtractor FragmentExaminant FragmentGetter FragmentURIExtractor MultiplePageLinkInserter Putting the pieces together: Komponentenpfade DDL-Vorverarbeitung vor Fragmentierung Fragmentierungsschleife Transcoding eines Fragmentes Vergleich existierender Ansätze und Middleware-Plattformen Servlet vs. Proxy Proxy Servlet Bewertung Komponenten-Standards Bewertung Avalon: Komponenten-Framework von Apache Avalon Projekte Schlüsselprinzipien IoC und SoC Bewertung Servlet Filtering Filter-Konzept API Filter-Konfiguration für ein Servlet Bewertung Cocoon Pipeline-Konzept und Sitemap-Komponenten XSP für die Abstraktion Weitere Features Wahl einer Implementierungsplattform

7 INHALTSVERZEICHNIS vii 7 Realisierbarkeit mit Cocoon Implementierungsidee Das repeat-until-problem Fazit Zusammenfassung und Ausblick 77 Literaturverzeichnis 80 Selbstständigkeitserklärung 84

8 viii INHALTSVERZEICHNIS

9 Abkürzungsverzeichnis 4GL ADL API ASF CBSE CCM CHTML CIM COM+ CORBA CPU CSS CWM DDL DNS DOM EDM EJB FIFO GIF GUI HTML HTTP I18N ID IDL Fourth Generation Language Architecture Description Language Application Program(ming) Interface Apache Software Foundation Componenten-Based Software Engineering CORBA Component Model Compact Hypertext Markup Language Computation Independent Model Component Object Model Common Object Request Broker Architecture Central Processing Unit Cascading Style Sheet Common Warehouse Meta-model Dialog Description Language Domain Name System Document Object Model Enterprise Deployment Model Enterprise Java Bean(s) First-In-First-Out Graphic Interchange Format Graphical User Interface HyperText Markup Language HyperText Transfer Protocol Internationalization Identifier Interface Definition Language

10 x Abkürzungsverzeichnis IOC IT J2EE JDBC JNDI JPEG JSP L10N MDA MIME MOF MVC NIH OCL OMG PC PDA PDF PIM PNG PSM RDF RMI SAX SOA SOAP SOC STX SVG SW TCP UML URI Inversion of Control Information Technology Java 2 Enterprise Edition Java Data Base Connectivity Java Naming and Directory Interface Joint Photographic Experts Group Java Server Page Localization Model Driven Architecture Multipurpose Internet Mail Extensions Meta-Object Facility Model-View-Controller Not Invented Here Object Constraint Language Object Management Group Personal Computer Personal Digital Assistent Portable Document Format Platform-Independent Model Portable Network Graphic Platform-Specific Model Resource Description Framework Remote Method Invocation Simple API for XML Start Of Authority Simple Object Access Protocol Separation of Concern Streaming Transformations for XML Scalable Vector Graphics Software Transmission Control Protocol Unified Modeling Language Uniform Resource Identifier

11 xi URL WAP WBMP WML WMLC XHTML XMI XML XSLT XSP Uniform Resource Locator Wireless Application Protocol Wireless Bitmap Wireless Markup Language Compiled Wireless Markup Language extensible Hypertext Markup Language XML Meta-Data Interchange extensible Markup Language extensible Stylesheet Language Transformations extensible Server Page

12 xii Abkürzungsverzeichnis

13 Abbildungsverzeichnis 2.1 Elemente einer ACME-Beschreibung Representations und Properties einer Komponente in ACME UML-2.0-Notation für Komponenten CIM, PIM, PSM und EDM gemäß der Model Driven Architecture Kriterien, die bei einer Adaption berücksichtig werden müssen Möglichkeiten für eine Adaption Architektur des Adaptionsframeworks Analyse des Adaptionsframeworks Lineare Filterkette Fragmentierungs-Vektor vs. mehrere Pipelines mit Standardkomponenten Beispiel einer AdaptationInfo-Annotation für ein Bild DDL-Fragment-Liste als XML (extensible Markup Language)- Struktur Die Filterarchitektur des neuen Adaptionsframeworks Die vom FragmentMarker generierte XML-Struktur Fragmentliste, die annotiert und geprüft wurde Servlet Filtering Grob denkbares Mapping Servlet Filtering für eine Adaption Beispiel einer Sitemap in Cocoon

14 xiv ABBILDUNGSVERZEICHNIS

15 Tabellenverzeichnis 2.1 Zersplitterung der Software-Architekten-Gemeinde Abstraktionsniveaus für Benutzervorgaben Fragmentierungsalgorithmen im Vergleich Gegenüberstellung von EJB, CCM und COM+/.NET

16 xvi TABELLENVERZEICHNIS

17 Kapitel 1 Einleitung Komponentenbasierte Architektur zur Adaption web-basierter Anwendungen was verbirgt sich hinter diesem Thema? Es sind hier zwei Sachen zu extrahieren. Zum einen verbirgt sich hinter der Aufgabenstellung die Adaption web-basierter Anwendungen das ist der fachliche Aspekt. Zum anderen ist die Wortfolge Komponentenbasierte Architektur auszumachen, die die Begriffe Komponentenbasierte Software-Entwicklung (CBSE) und (Software-) Architektur enthält Aspekte der Software-Technik. Gliederung der Arbeit Im Anschluss an diese Einleitung werden die durch das Thema vorgegebenen softwaretechnischen Aspekte behandelt. Der Leser erhält einen Einblick sowohl in die komponentenbasierte als auch in die architekturzentrierte Softwareentwicklung. Danach werden die Modellierungssprachen ADL (Architecture Description Language) und UML (Unified Modeling Language) für die Modellierung einer komponentenbasierten Architektur vorgestellt. Da die Umsetzung der vorliegende Arbeit auf Basis der MDA (Model Driven Architecture) erfolgen soll 1, wird ebenso eine Betrachtung dieses sehr aktuell diskutierten Modellierungsansatzes vorgenommen. Gegenstand des Kapitel 3 ist die Adaption von web-basierten Anwendungen. Es soll geklärt werden, was darunter zu verstehen ist. Zu diesem Zweck werden Adaptionskriterien und Adaptionsmöglichkeiten unterschieden und erläutert. Danach erfolgt im Kapitel 4 die Vorstellung eines existierenden Adaptionsframeworks. Dieses wird auf die darin beinhalteten Konzepte und deren Implementierung hinsichtlich der in der Aufgabenstellung konstatierten Forderungen 2 untersucht. Im Kapitel 5 wird im Sinne der MDA ein plattformunabhängiges Modell konzipiert. Ziel ist es, auf Basis der im dritten Kapitel erfolgten Analyse des bestehenden Adaptionsframeworks eine neue Architektur für ein komponentenbasiertes System zu entwerfen. Die Wahl einer Implementierungsplattform erfolgt im Kapitel 6. Dazu werden existierende Ansätze und Realisierungsmöglichkeiten vorgestellt 1 Dies ist zwar nicht in der Aufgabenstellung spezifiziert, wurde jedoch seitens der Betreuung gewünscht. 2»... Vielzahl von Adaptionsmodulen die möglichst flexibel miteinander kombinierbar sein sollen. Außerdem sollen Module entfernt, ausgetauscht oder hinzugefügt werden können ohne den Gesamtablauf des Adaptionsprozesses zu beeinflussen.«

18 2 Einleitung und bewertet. 3 Kapitel 7 liefert die Umsetzung der im Kapitel 5 erfolgten Konzeption in einem neuen Prototypen. Den Abschluss bildet das Kapitel 8 mit einer Zusammenfassung der Ergebnisse der vorliegenden Arbeit. 3 Damit unterscheidet sich die vorliegende Arbeit etwas im Ablauf, der sonst üblich ist. D. h. der Ablauf ist nicht Recherche eigene Konzepte Umsetzung, sondern Recherche eigene Konzepte zweite Recherche Umsetzung. Diese Wahl erfolgte, um die Trennung von plattformunabhängigen Modell und plattformspezifischen Modell im Sinne der MDA zu unterstreichen.

19 Kapitel 2 Softwaretechnische Aspekte In diesem Kapitel sollen die für die vorliegende Arbeit wichtigen Begriffe der komponentenorientierten und der architekturzentrierten Software- Entwicklung erläutert werden. Im Anschluss daran erfolgt die Vorstellung der Modellierungssprachen ADL und UML. Den letzten Abschnitt bildet eine Betrachtung der MDA, einem aktuell stark diskutierten Ansatz in der Software-Entwicklung. 2.1 Komponentenorientierung Motivation Softwaresysteme zu entwickeln, ohne dabei die immer wieder gleichen Probleme neu lösen zu müssen und das einmal entwickelte wieder zu verwenden, das sind lang gehegte und oft versprochene Träume aller professionellen Software-Entwickler. Trotz jahre-, nein, jahrzentelanger intensiver Bemühungen in der Softwaretechnologie sind diese Träume immer noch nicht erfüllt (die viel zitierte»software-krise«). Wie groß könnte ein Durchbruch sein, wenn Software aus vorgefertigten Bausteinen zusammengesetzt werden könnte (LEGO-Baustein-Metapher)? Begriffsdefinition Komponente Die Fachliteratur liefert für den Begriff Komponente verschiedene Definitionen (eine Übersicht mit Bewertung bieten [Andresen, 2003, S ], [Griffel, 1998, Abschnitt 2.2.2], [Korthaus, 2001, Abschnitt 2.1.3] und [Szyperski, 2002, Kap. 11]). Diese Arbeit verwendet die Defintion von Turowski und Krammer [2003]:»Eine Softwarekomponente ist wiederverwendbar, ist in sich abgeschlossen und vermarktbar, stellt Dienste über wohldefinierte Schnittstellen zur Verfügung,

20 4 Softwaretechnische Aspekte verbirgt ihre Realisierung, kann in Kombination mit anderen Komponenten eingesetzt werden, die zur Zeit der Entwicklung nicht unbedingt vorhersehbar sind, und besteht aus verschiedenartigen (Software-)Artefakten. Das Kriterium Wiederverwendbarkeit erfüllt eine Komponente, wenn sie ohne Modifikation (außer Parametrisierung) der zugehörigen (Software-)Artefakte für verschiedene Softwaresysteme mit geringem Integrationsaufwand einsetzbar ist. Das Kriterium der Abgeschlossenheit erfüllt eine Komponente, wenn ihr ihre Bestandteile (die (Software-)Artefakte) eindeutig zugeordnet werden können, sodass sie als Ganzes klar von anderen Systemteilen abgegrenzt werden kann. Vermarktbar bedeutet, dass eine Komponente prinzipiell als für sich selbst stehendes Gut identifizierbar ist, sodass sie sowohl auf einem offenen als auch auf einem unternehmensinternen Markt gehandelt werden kann. Zu den (Software-)Artefakten zählen der ausführbare Code, darin verankerte Grafiken, Textkonstanten usw., Daten wie zum Beispiel Voreinstellungen oder Parameter, die einen initialen Zustand der Komponente beschreiben, sowie Spezifikation, Dokumentation und (automatisierte) Tests.«2.1.3 Konzepte komponentenbasierter Systeme Jedes komponentenbasierte System benötigt die Konzepte einer Komponente, des Clients, eines Suchmechanismus und eines Containers. [Ziegeler, 2003, S. 44] Komponente. Eine Komponente besteht aus zwei Bestandteilen: Ihrem Interface und der zugehörigen Implementierung. Das Interface beschreibt den Typ der Komponente und wie sie verwendet werden kann. Die Implementierung setzt dieses Interface um. Wenn eine Komponente eingesetzt wird, ist es unerheblich, wie die Implementierung aussieht. Allein das Interface legt die Schnittstelle fest, auf die eine Client zugreifen darf. Interfaces definieren derzeit bei praktisch allen Systemen nur die Signatur (Syntax und Typen) der Operationen, beispielsweise beschrieben in der IDL (Interface Definition Language). Semantische Spezifikationen sind schwierig, Ansätze wie Pre- und Postconditions (siehe Eiffel oder OCL (Object Constraint Language)) werden in der Praxis kaum verwendet [Völter u. a., 2003, S. 38]. 1 1 Jedoch hier der Hinweis auf der Bemühungen des Arbeitskreises der Gesellschaft für Informatik, neben der Schnittstelle auch die Sachverhalte Verhalten, Abstimmung, Qualität, Terminologie, Aufgabe und Vermarktung bei Fachkomponenten zu Spezifizieren (eine Fachkomponente ist eine Komponente, die eine bestimmte Menge von Diensten einer betrieblichen Anwendungsdomäne anbietet) [Turowski, 2002].

21 2.2 Modellierungssprachen 5 Client. Der Client ist im Normalfall die Anwendung oder eine kleinere Einheit innerhalb der Anwendung, z. B. eine andere Komponente. Ein Client benutzt eine Komponente. Durch Verwendung der Schnittstelle ist die Anwendung unabhängig von der tatsächlich verwendeten Implementierung. Ist eine andere (bessere) Implementierung verfügbar, dann kann zwischen der alten und der neuen Variante gewählt werden, ohne die Anwendung umschreiben zu müssen. Durch dieses Late Binding der Komponenten wird erst zur Laufzeit festgelegt, welche Implementierung verwendet werden soll. Um eine Komponente verwenden zu können, benötigt der Client einen Suchmechanismus. Suchmechanismus. Der Suchmechanismus ist für das Plug-and-Play, d. h. für die interaktive Zusammenstellung der Komponenten zu einem System verantwortlich. Meist wird hier das Server Lookup Pattern genommen, das in Form eines Namensdienstes realisiert ist (z. B. RMI-Registry, JNDI und CORBA Namensdienst). Das Broker Pattern (nicht zu verwechseln mit dem Server Lookup Pattern) hingegen beschreibt die indirekte Bereitstellung eines Diensteanbieters auf der Grundlage von Dienstanforderungen. Dazu kommt ein Broker zum Einsatz. Beispiele dafür sind JDBC, JNDI (Java Naming and Directory Interface) und der CORBA (Common Object Request Broker Architecture) Trader Service. Andere Arten für das Plug-and-Play sind Class Name Pattern und Introspection Pattern (vgl. [Korthaus, 2001, Kap ]). Container. Die Aufgabe des Suchmechanismus übernimmt der so genannte (Komponenten-) Container. Dazu verwaltet er alle verfügbaren Komponenten. Da Komponenten nur die funktionalen Belange einer Anwendung implementieren, kommt dem Container eine weitere wichtige Aufgabe zu, nämlich die Realisierung der technischen Belange. Die technischen Belange sind zum einen Transaktionen, Sicherheit und Persistenz, da der größte Teil der Software-Entwicklung im Bereich von Geschäftsanwendungen stattfindet, zum anderen sind hier das Threading und die Kontrolle des Lebenszyklus zu nennen, d. h. der Container implementiert für die Komponenten eine Ablaufumgebung. 2.2 Modellierungssprachen ADL Eine in Industriekreisen nicht gerade bekannte Modellierungsform für das architekturzentrierte Entwickeln sind Architecture Description Languages (ADLs). ADLs sind entstanden, um sog.»programming in the large«2 zu unterstützen. Neben ihrem streng-formalen Charakter bieten die meisten ADLs zudem noch Analyse- und Entwicklungstools, um das Entwickeln in der jeweiligen Spezifikation zu unterstützen. 2 Als»programming in the large«wird ein komponentenbasiertes Entwickeln bezeichnet. Ein Programm soll nicht mehr zeilenweise (»programming in the small«), sondern komponentenweise entstehen. Programme wandeln sich daher zunehmend von der monolithischen Aneinanderreihung einzelner Prozeduraufrufe hin zu Collagen interagierender Softwarekomponenten. Bedingt durch den höheren Abstraktionsgrad und die Modellierungsmächtigkeit ist es möglich, komplexe Softwaresysteme zu realisieren [Griffel, 1998, S. 21].

22 6 Softwaretechnische Aspekte Bedingt durch das große Interesse hat die Forschergemeinde eine Unmenge in [Medvidovic und Taylor, 2000] haben die Autoren 12 der gebräuchlichsten ADLs gezählt und untersucht an verschiedenen ADLs hervorgebracht. Allerdings herscht wenig Einigkeit, was genau eine ADL ist und welche Aspekte einer Architektur in ADL zu modellieren sind [Medvidovic und Taylor, 2000, S. 70]. Die verschiedenen ADLs sind meist entstanden, um die Entwicklung von Produktfamilien zu unterstützen. Ein Merkmal, das alle ADLs gemein haben und anhand dem eine ADL von anderen Notationen unterscheidbar ist (»Lackmustest«), ist der explizite Fokus auf die Komponenten und ihre Konnektoren (die die Komponenten miteinander verbinden) sowie die Architektur-Konfiguration [Medvidovic und Taylor, 2000, S. 91]. Was versteht man bei ADLs unter Komponenten, Konnektoren und Architektur-Konfiguration? Diese Fragestellung soll anhand einer der vielen ADLs beantwortet werden: ACME. ACME ist nicht wirklich eine ADL, sondern eine Architektur- Austauschsprache (architecture interchange language). Die Wahl fällt auf ACME, da die Ontologie einer Austauschsprache den kleinsten gemeinsamen Nenner alle Sprachen bildet. Somit ist, ohne die besonderen Eigenheiten einiger ADL-Vertreter zu betrachten, ein guter Einblick möglich, was eine ADL ausmacht. ACME Die Vielzahl an ADLs war der Forschergruppe an der Carnegie Mellon Universität, USA, ein Dorn im Auge. Jede ADL hat einen besonderen Fokus dafür, welche Architektur-Eigenschaften durch sie analysiert und entwickelt werden können. Damit einhergehen verschieden mächtige Tools, die sehr gut in ihrem spezifischen Problembereich sind, jedoch nur ihre ADL unterstützen und somit inoperabel untereinander sind. ACME erlaubt die Umwandlung einer ADL-Notation in die andere. Damit ist es möglich, die ADL zu nutzen, die für den gerade zu betrachtenden Problembereich die beste Spezifikation und Toolunterstützung bei der Architektur-Entwicklung bietet. Natürlich kann eine Austauschsprache nur den kleinsten gemeinsamen Nenner aller ADLs unterstützen. Jedoch versucht ACME, auch die Speicherung von Informationen, die nicht in das Vokabular fallen, das alle ADLs unterstützen, in sog. Properties zu ermöglichen. Diese Properties werden bei der Umwandlung von ACME in die ADL, die diese Informationen verstehen und modellieren kann, in die ADL-spezifische Repräsentation umgewandelt. Bei Umwandlung in andere ADLs werden die Properties, die die ADL nicht versteht, ausgeklammert. Nachfolgend soll die Ontologie 3 von ACME näher beschrieben werden [Garlan u. a., 1997]. Ontologie. Für die Beschreibung von Architekturen definiert ACME sieben 4 Element-Typen: 3 Für den in [Garlan u. a., 1997] verwendeten Begriff ontology lässt sich leider keine bessere Übersetzung finden. 4 Die ersten drei Elemente bilden den Kern von ACME. Verwendet man für»system«gleichwertig die Bezeichnung»Configuration«, dann erhält man die Hauptbestandteile, die eine, d. h. jede, ADL ausmachen und in der Klassifikation nach [Medvidovic und Taylor, 2000] ebenso postuliert werden.

23 2.2 Modellierungssprachen 7 1. Components repräsentieren die primären Elemente eines Systems, die Daten verarbeiten und speichern. Typische Beispiele sind Clients, Server, Filter, Objekte und Datenbanken. 2. Connectors sind für die Interaktion zwischen Komponenten verantwortlich. Erst durch sie wird es möglich, dass durch Koppelung mehrerer Komponenten das Gesamtsystem seine Arbeit erfüllt, weshalb man sie auch als»glue«(klebstoff) beim architekturellen Design bezeichnet. Für die Interaktion gibt es einfache Formen wie Pipes, Procedure Call und Ereignis-Broadcast. Aber auch kompliziertere Formen wie ein Client-Server-Protokoll oder die SQL-Kommunikation zwischen Applikation und Datenbank kann durch Konnektoren dargestellt werden. 3. Systems. Das System repräsentiert die spezielle Konfiguration auf Komponenten und Konnektoren. Für den Begriff»System«wird deshalb in anderen ADLs sehr oft die Bezeichnung»Konfiguration«verwendet. 4. Ports definieren das Interface einer Komponente. Dabei entspricht jeder Port einem Interaktionspunkt zwischen der Komponente und seiner Umgebung. Je nachdem wie viele Interfaces eine Komponente hat, so viele Ports sind auch vorhanden. Das Besondere an den Ports ist verglichen mit der Interface-Spezifikation in UML, dass sie zum einen sehr einfach sein können, indem sie nur die Signatur einer Prozedur deklarieren, zum anderen wiederum die Komplexität von mehreren Prozeduraufrufen, die in einer bestimmten Reihenfolge erfolgen müssen, darstellen können. 5. Roles definieren ebenso wie Ports ein Interface, jedoch für den Konnektor. Für jeden Teilnehmer eines Konnektors wird eine Rolle definiert. So gibt es bei binären Konnektoren den Aufrufer und den Aufgerufenen, im Falle einer Pipe den Sender und den Empfänger, und, um ein Beispiel für einen Konnektor mit mehr als zwei Rollen zu nennen, bei einem Broadcast-Konnektor gibt es eine Rolle für den Nachrichten-Sender sowie mehrere Rollen für die Nachrichten- Empfänger. 6. Representations. In einer Architekturbeschreibung ist es wichtig, mehrere, unterschiedlich detaillierte Darstellungen für die Komponenten und Konnektoren zu spezifizieren. Diese Aufgabe wird von den Representations erfüllt. Sie entsprechen mehreren Sichten auf ein System, wobei auch die hierarchische Repräsentation möglich ist. 7. Rep-Maps (»representation map«). Da es für eine Komponente oder einen Konnektor mehrere Repräsentationen gibt, muss es einen Weg geben, um die Übereinstimmung zwischen der internen System- Repräsentation und dem externen Interface der Komponente respektive des Konnektors zu kennzeichnen. Eine rep-map definiert diesen Zusammenhang. Properties. Die vorgenannten Elemente stellen die Ontologie der Sprache ACME dar. Damit ist es möglich, die Struktur einer Architektur zu spezifizieren. Außerdem ist es wichtig, in einer Architektur zusätzliche Informationen, wie beispielsweise die Laufzeitsemantik und Typinformationen

24 8 Softwaretechnische Aspekte Abbildung 2.1: Elemente einer ACME-Beschreibung (nach [Garlan u. a., 1997, S. 7]) Abbildung 2.2: Representations und Properties einer Komponente in ACME (nach [Garlan u. a., 1997, S. 7]) (z. B. die Datentypen bei einer Kommunikation zwischen zwei Komponenten) anzugeben wenn auch mit der oben genannten Uneinigkeit in der Forschergemeinde, welche dieser Informationen genau dazugehören und welche nicht. Diese Uneinigkeit geht mit der schon angesprochenen unterschiedlich ausgeprägten Unterstützung bei der Spezifikation einer Architektur mittels einer ausgewählten ADL einher und der damit verbundenen Toolunterstützung. Alle Informationen, die nicht durch die oben aufgeführten sieben Elemente der Ontologie darstellbar sind, werden in sog. Properties gespeichert. Diese Properties sind in der Sprache der jeweiligen ADL geschrieben, die die Information verarbeiten kann. Von ACME und ADLs, die Properties nicht verstehen, werden sie ignoriert. Putting the pieces together. Als Abschluss bei der Vorstellung von ACME ist der Zusammenhang zwischen den einzelnen Elementen der ACME-Ontology in den Abbildungen 2.1 und 2.2 gezeigt.

25 2.2 Modellierungssprachen 9 Abbildung 2.3: UML-2.0-Notation für Komponenten (aus oose.de/downloads/umlnotationsuebersicht2.pdf) UML Unified Modeling Language Notation Die folgende Darstellung erfolgt in Anlehnung an [Andresen, 2003, Kap. 13.2]. Eine Komponente nach dem neuen 2.0er Standard der UML wird als Rechteck mit einem optional erscheinenden Komponenten-Icon 5 dargestellt (siehe Abbildung 2.3). Für die Abbildung der Schnittstellen gibt es zum einen die ausführlichere Darstellung, bei der die Export-Schnittstelle mit dem Stereotyp «Schnittstelle» gemäß UML-Extension dargestellt wird, zum anderen steht auch eine verdichtete Darstellung in der sog. Lollipop-Notation zur Verfügung der gestrichelte offene Pfeil bedeutet»abhängigkeit«, stellt also eine benötigte/required Schnittstelle dar, der Pfeil mit der zugezogenen Spitze heißt für eine Komponente, dass sie die Schnittstelle realisiert wird, ergo eine zur Verfügung gestellte Schnittstelle (provides). Konnektoren Für die Verbindung von Komponenten gibt es Konnektoren. Sie sind an die Schnittstellen der Komponenten gebunden, entweder als benötigte oder als zur Verfügung gestellte Schnittstellen. Dabei wird unterschieden in Assembly-Konnektoren und Delegations-Konnektoren. Ein Assembly-Konnektor ist ein Konnektor, der zwei Komponenten miteinander verbindet. Ein Delegations-Konnektor realisiert die Verbindung von Teilen (parts) innerhalb einer Komponente. Damit wird die Abbildung der externen Sicht auf die interne Sicht erreicht. Anschlüsse Ein Anschluss (port) spezifiziert einen Interaktionspunkt zwischen einem klassifizierbaren Element (classifier), z. B. einer Komponente, und seiner Umgebung. Zusätzlich dazu wird auch der Interaktionspunkt zwischen 5 In der UML 1.4 stellte dieses Icon die gesamte Komponente dar, vgl. oose.de/downloads/uml-notationsuebersicht.pdf (UML 1.4) und de/downloads/uml-notationsuebersicht2.pdf (UML 2.0).

26 10 Softwaretechnische Aspekte Research Community (ADL) Practitioner Community (UML) Major Focus Analytic evaluation of architectural models Wide range of development issues Artifacts Individual Models Families of models to span and relate issues Rigor Formal modeling notations Practicality over formality Primary goal Powerful analysis techniques Architecture as»big picture«in development Scope Depth over breadth Breadth over Depth Outcome Special-purpose solutions General-purpose solutions Tabelle 2.1: Zersplitterung der Software-Architekten-Gemeinde in zwei Lager (abgewandelt nach [Medvidovic u. a., 2002, S. 4]; im Original ist zwar keine Zuordnung von Research Community zu ADL und von Practitioner Community zu UML zu finden, nach Meinung des Autors kann jedoch eine derartige Gleichsetzung vorgenommen werden) dem Verhalten eines klassifizierbaren Elements und seinen inneren Teilen durch einen Anschluss spezifiziert. Ein Anschluss ist nichts weiter als eine Schnittstelle, die mit einem Namen versehen ist. Eine Komponente kann dieselbe Schnittstelle mit verschiedenen Anschluss-Namen versehen. Dargestellt wird ein Anschluss durch ein quadratisches Symbol (in Abbildung 2.3 bei der oberen rechten Komponente zu sehen). Dabei muss differenziert werden, ob das Quadrat die Komponente überlappt (dann ist der Anschluss öffentlich) oder innerhalb des Elementes dargestellt wird (privat) ADL vs. UML Die beiden letzten Abschnitte haben zwei unterschiedliche Modellierungsformen für die komponentenbasierte Entwickeln vorgestellt. Auf der einen Seite gibt es die Vielzahl an ADL-Notationen, die alle einen sehr strengformalen Charakter aufweisen. Auf der anderen Seite gibt es die UML, die für die Architekturbeschreibung nur bedingt geeignet ist. Dennoch werden für die UML fortlaufend Anstrengungen unternommen, indem Konzepte von ADLs in neue Versionen einfließen (oder dank der Erweiterungsfähigkeit nach UML gemappt werden, wie beispielsweise in [Medvidovic u. a., 2002] für die UML 1.3 zu finden). So wird dem aufmerksamen Leser nicht entgangen sein, dass im frischen UML 2.0- Standard neue Elemente hinzugekommen sind, wie z. B. Ports und Konnektoren. Nach Meinung des Autors ist die UML für eine Architekturbeschreibung zu bevorzugen, da zum einen eine Standardisierung von ADL fehlt und andererseits die in ADLs erforschten Konzepte in UML einfließen oder, wenn auch nicht ganz so gut, nachgebildet werden können. Langfristig ist UML der richtige Weg. Die Gegensätze zwischen ADL und UML lassen sich in der Tabelle 2.1 zusammenfassen.

Model Driven Architecture (MDA)

Model Driven Architecture (MDA) Model Driven Architecture (MDA) Vortrag im Fach Software Engineering II BA Mannheim / Fachrichtung Angewandte Informatik Torsten Hopp Gliederung Einleitung Motivation Grundzüge der MDA Ziele & Potenziale

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr

Vortrag von: Ilias Agorakis & Robert Roginer

Vortrag von: Ilias Agorakis & Robert Roginer MDA Model Driven Architecture Vortrag von: Ilias Agorakis & Robert Roginer Anwendungen der SWT - WS 08/09 Inhalt Was ist MDA? Object Management Group (OMG) Ziele Konzepte der MDA Werkzeuge Vor- und Nachteile

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Autorisierung Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Dokumentation zum Referat von Matthias Warnicke und Joachim Schröder Modul: Komponenten basierte Softwareentwickelung

Mehr

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

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008 Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen

Mehr

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen 9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.

Mehr

Wiederholung: Beginn

Wiederholung: Beginn B) Webserivces W3C Web Services Architecture Group: "Ein Web Service ist eine durch einen URI eindeutige identifizierte Softwareanwendung, deren Schnittstellen als XML Artefakte definiert, beschrieben

Mehr

Online-Publishing mit HTML und CSS für Einsteigerinnen

Online-Publishing mit HTML und CSS für Einsteigerinnen mit HTML und CSS für Einsteigerinnen Dipl.-Math. Eva Dyllong Universität Duisburg Dipl.-Math. Maria Oelinger spirito GmbH IF MYT 07-2002 Web-Technologien Überblick HTML und CSS, XML und DTD, JavaScript

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

HMS. Statistiken mit SAS ins Internet. HMS Analytical Software GmbH - Johannes Lang

HMS. Statistiken mit SAS ins Internet. HMS Analytical Software GmbH - Johannes Lang HMS Statistiken mit SAS ins Internet HMS Analytical Software GmbH - Johannes Lang Schweizer Tage der öffentlichen Statistik, Davos 08.09. 10.09.2008 1 Agenda Vorstellung Inhaltliche Einleitung Statische

Mehr

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP) Enterprise Applikation Integration und Service-orientierte Architekturen 09 Simple Object Access Protocol (SOAP) Anwendungsintegration ein Beispiel Messages Warenwirtschaftssystem Auktionssystem thats

Mehr

Dokumentation von Ük Modul 302

Dokumentation von Ük Modul 302 Dokumentation von Ük Modul 302 Von Nicolas Kull Seite 1/ Inhaltsverzeichnis Dokumentation von Ük Modul 302... 1 Inhaltsverzeichnis... 2 Abbildungsverzeichnis... 3 Typographie (Layout)... 4 Schrift... 4

Mehr

Workflow, Business Process Management, 4.Teil

Workflow, Business Process Management, 4.Teil Workflow, Business Process Management, 4.Teil 24. Januar 2004 Der vorliegende Text darf für Zwecke der Vorlesung Workflow, Business Process Management des Autors vervielfältigt werden. Eine weitere Nutzung

Mehr

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen Alexander Schunk Henry Trobisch Inhalt 1. Vergleich der Unit-Tests... 2 2. Vergleich der Codeabdeckungs-Tests... 2 3. Vergleich

Mehr

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Vermeiden Sie es sich bei einer deutlich erfahreneren Person dranzuhängen, Sie sind persönlich verantwortlich für Ihren Lernerfolg. 1 2 3 4 Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg. Gerade beim Einstig in der Programmierung muss kontinuierlich

Mehr

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee 2 10245 Berlin Tel.:+49(0) 30 2900 8639 Fax.:+49(0) 30 2900 8695

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee 2 10245 Berlin Tel.:+49(0) 30 2900 8639 Fax.:+49(0) 30 2900 8695 Database Exchange Manager Replication Service- schematische Darstellung Replication Service- allgemeines Replikation von Daten von bzw. in ein SAP-System und einer relationalen DMS-Datenbank Kombination

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

Mehr

Java Enterprise Architekturen Willkommen in der Realität

Java Enterprise Architekturen Willkommen in der Realität Java Enterprise Architekturen Willkommen in der Realität Ralf Degner (Ralf.Degner@tk-online.de), Dr. Frank Griffel (Dr.Frank.Griffel@tk-online.de) Techniker Krankenkasse Häufig werden Mehrschichtarchitekturen

Mehr

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

Mehr

Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH

Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH Amt für Informatik Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH Anleitung vom 12. September 2009 Version: 1.0 Ersteller: Ressort Sicherheit Zielgruppe: Benutzer von SSLVPN.TG.CH Kurzbeschreib:

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Java und XML 2. Java und XML

Java und XML 2. Java und XML Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003

Mehr

Installation der SAS Foundation Software auf Windows

Installation der SAS Foundation Software auf Windows Installation der SAS Foundation Software auf Windows Der installierende Benutzer unter Windows muss Mitglied der lokalen Gruppe Administratoren / Administrators sein und damit das Recht besitzen, Software

Mehr

Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX

Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX Allgemeines Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX Stand 21.11.2014 Die Yeastar MyPBX Telefonanlagen unterstützen die automatische Konfiguration der tiptel 3010, tiptel 3020 und tiptel 3030

Mehr

1. Arbeiten mit dem Touchscreen

1. Arbeiten mit dem Touchscreen 1. Arbeiten mit dem Touchscreen 1.1. Einleitung Als weitere Buchungsart steht bei DirectCASH ein Touchscreen zur Verfügung. Dieser kann zwar normal via Maus bedient werden, vorzugsweise jedoch durch einen

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert.

Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert. Usability Heuristiken Karima Tefifha Proseminar: "Software Engineering Kernkonzepte: Usability" 28.06.2012 Prof. Dr. Kurt Schneider Leibniz Universität Hannover Die ProSeminar-Ausarbeitung beschäftigt

Mehr

(1) Mit dem Administrator Modul werden die Datenbank, Gruppen, Benutzer, Projekte und sonstige Aufgaben verwaltet.

(1) Mit dem Administrator Modul werden die Datenbank, Gruppen, Benutzer, Projekte und sonstige Aufgaben verwaltet. 1 TimeTrack! TimeTrack! Ist ein Softwareprodukt von The Project Group, welches der Erfassung von Ist- Aufwänden von Projekten dient. Voraussetzung hierfür ist allerdings, dass das Projekt vorher mit Microsoft

Mehr

Zustandsgebundene Webservices

Zustandsgebundene Webservices Zustandsgebundene Webservices Präsentation ausgewählter Problemstellungen der Informatik Markus Oertel oer@uni-paderborn.de Universität Paderborn 25. September 2005 Zustandsgebundene Webservices Seite

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme Novell Client Anleitung zur Verfügung gestellt durch: ZID Dezentrale Systeme Februar 2015 Seite 2 von 8 Mit der Einführung von Windows 7 hat sich die Novell-Anmeldung sehr stark verändert. Der Novell Client

Mehr

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail: gi@uwe.doetzkies.de

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail: gi@uwe.doetzkies.de Agiles Design Dr.-Ing. Uwe Doetzkies Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail: gi@uwe.doetzkies.de startupcamp berlin 15.3.2013 Regionalgruppe Berlin/Brandenburg Arbeitskreis Freiberufler

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel. Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de

Mehr

PHP Kurs Online Kurs Analysten Programmierer Web PHP

PHP Kurs Online Kurs Analysten Programmierer Web PHP PHP Kurs Online Kurs Analysten Programmierer Web PHP Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses PHP Modul 1 - Einführung und Installation PHP-Umgebung Erste Lerneinheit Introduzione

Mehr

Lizenzierung von System Center 2012

Lizenzierung von System Center 2012 Lizenzierung von System Center 2012 Mit den Microsoft System Center-Produkten lassen sich Endgeräte wie Server, Clients und mobile Geräte mit unterschiedlichen Betriebssystemen verwalten. Verwalten im

Mehr

4 Aufzählungen und Listen erstellen

4 Aufzählungen und Listen erstellen 4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer

Mehr

Microsoft Access 2013 Navigationsformular (Musterlösung)

Microsoft Access 2013 Navigationsformular (Musterlösung) Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft Access 2013 Navigationsformular (Musterlösung) Musterlösung zum Navigationsformular (Access 2013) Seite 1 von 5 Inhaltsverzeichnis Vorbemerkung...

Mehr

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT SWT II Projekt Chat - Anwendung Pflichtenheft 2000 SWT i Versionen Datum Version Beschreibung Autor 3.11.2000 1.0 erste Version Dietmar Matthes ii Inhaltsverzeichnis 1. ZWECK... 1 1.1. RAHMEN... 1 1.2.

Mehr

Titel. SCSM 2012 - ITIL - CMDB - neue CI Klasse erstellen und benutzen. Eine beispielhafte Installationsanleitung zur Verwendung im Testlab

Titel. SCSM 2012 - ITIL - CMDB - neue CI Klasse erstellen und benutzen. Eine beispielhafte Installationsanleitung zur Verwendung im Testlab Autor: Thomas Hanrath Microsoft Certified Trainer Titel SCSM 2012 - ITIL - CMDB - neue CI Klasse erstellen und benutzen Eine beispielhafte Installationsanleitung zur Verwendung im Testlab Quelle: System

Mehr

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08 Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements von Stephanie Wilke am 14.08.08 Überblick Einleitung Was ist ITIL? Gegenüberstellung der Prozesse Neuer

Mehr

ANYWHERE Zugriff von externen Arbeitsplätzen

ANYWHERE Zugriff von externen Arbeitsplätzen ANYWHERE Zugriff von externen Arbeitsplätzen Inhaltsverzeichnis 1 Leistungsbeschreibung... 3 2 Integration Agenda ANYWHERE... 4 3 Highlights... 5 3.1 Sofort einsatzbereit ohne Installationsaufwand... 5

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans Java Enterprise Edition - Überblick Was ist J2EE Java EE? Zunächst mal: Eine Menge von Spezifikationen und Regeln. April 1997: SUN initiiert die Entwicklung

Mehr

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller Proseminar: Website-Managment-System NetObjects Fusion von Christoph Feller Netobjects Fusion - Übersicht Übersicht Einleitung Die Komponenten Übersicht über die Komponenten Beschreibung der einzelnen

Mehr

How to do? Projekte - Zeiterfassung

How to do? Projekte - Zeiterfassung How to do? Projekte - Zeiterfassung Stand: Version 4.0.1, 18.03.2009 1. EINLEITUNG...3 2. PROJEKTE UND STAMMDATEN...4 2.1 Projekte... 4 2.2 Projektmitarbeiter... 5 2.3 Tätigkeiten... 6 2.4 Unterprojekte...

Mehr

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Allgemeine Hinweise Inhaltsverzeichnis 1 Allgemeine Hinweise... 3 1.1 Grundlagen...3 1.2 Erstellen und Bearbeiten eines Rahmen-Leistungsverzeichnisses...

Mehr

Sybase Central Dokumentation Aktivierung der Monitoringfunktion

Sybase Central Dokumentation Aktivierung der Monitoringfunktion Sybase Central Dokumentation Aktivierung der Monitoringfunktion Version 1.0 14. Dezember 2012 Inhaltsverzeichnis 1 EINLEITUNG... 3 2 ZIELSETZUNG... 3 3 VORGEHENSWEISE... 3 4 ANHANG... 7 4.1 DOKUMENTHISTORIE...

Mehr

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................

Mehr

Konsolidierung und Neuimplementierung von VIT. Aufgabenbeschreibung für das Software Engineering Praktikum an der TU Darmstadt

Konsolidierung und Neuimplementierung von VIT. Aufgabenbeschreibung für das Software Engineering Praktikum an der TU Darmstadt Konsolidierung und Neuimplementierung von VIT Aufgabenbeschreibung für das Software Engineering Praktikum an der TU Darmstadt Inhaltsverzeichnis 1 Was ist der Kontext?... 1 2 VIT: Ein sehr erfolgreiches

Mehr

Ein mobiler Electronic Program Guide für Android

Ein mobiler Electronic Program Guide für Android Whitepaper Telekommunikation Ein mobiler Electronic Program Guide für Android Prototyp für Android Apps 2011 SYRACOM AG 1 Einleitung Apps Anwendungen für mobile Geräte sind derzeit in aller Munde. Durch

Mehr

Gruppe: swp09-6 26.04.2009 Gruppenleiter: U. Seiler Aufgabenstellung 3. Lastenheft

Gruppe: swp09-6 26.04.2009 Gruppenleiter: U. Seiler Aufgabenstellung 3. Lastenheft Lastenheft Synchronisation von RDF Modellen im PKM Kontext als Plugin für OntoWiki Inhaltsverzeichnis 1. Zielbestimmung 2. Produkteinsatz 3. Produktübersicht 4. Produktfunktionen 4.1. Muss-Bedingungen

Mehr

Softwaretechnik (Allgemeine Informatik) Überblick

Softwaretechnik (Allgemeine Informatik) Überblick Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6

Mehr

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003 Page 1 of 8 SMTP Konfiguration von Exchange 2003 Kategorie : Exchange Server 2003 Veröffentlicht von webmaster am 25.02.2005 SMTP steht für Simple Mail Transport Protocol, welches ein Protokoll ist, womit

Mehr

Druckvorlagen Als Druckvorlagen sind dafür vorhanden:!liste1.ken (Kennzahlen)!Liste2.KEN (Kontennachweis)

Druckvorlagen Als Druckvorlagen sind dafür vorhanden:!liste1.ken (Kennzahlen)!Liste2.KEN (Kontennachweis) Kennzahlen und Kennzeichen Dieses Dokument zeigt Ihnen in wenigen kurzen Schritten die Logik und Vorgehensweise der Definition der Kennzahlen und Kennzeichen und deren Auswertung in eigens dafür vorhandenen

Mehr

Workflow Systeme mit der Windows Workflow Foundation

Workflow Systeme mit der Windows Workflow Foundation Studiengang Electronic Business (EB) Diplomarbeit (280000) Workflow Systeme mit der Windows Workflow Foundation externe Betreuung durch Christoph Müller vorgelegt bei Prof. Dr. Michael Gröschel von Hans-Martin

Mehr

Model Driven Development im Überblick

Model Driven Development im Überblick Model Driven Development im Überblick Arif Chughtai Diplom-Informatiker (FH) www.digicomp-academy, Seite 1 September 05 Inhalt Motivation Überblick MDA Kleines Beispiel Werkzeuge www.digicomp-academy,

Mehr

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,

Mehr

Zahlensysteme: Oktal- und Hexadezimalsystem

Zahlensysteme: Oktal- und Hexadezimalsystem 20 Brückenkurs Die gebräuchlichste Bitfolge umfasst 8 Bits, sie deckt also 2 8 =256 Möglichkeiten ab, und wird ein Byte genannt. Zwei Bytes, also 16 Bits, bilden ein Wort, und 4 Bytes, also 32 Bits, formen

Mehr

ICS-Addin. Benutzerhandbuch. Version: 1.0

ICS-Addin. Benutzerhandbuch. Version: 1.0 ICS-Addin Benutzerhandbuch Version: 1.0 SecureGUARD GmbH, 2011 Inhalt: 1. Was ist ICS?... 3 2. ICS-Addin im Dashboard... 3 3. ICS einrichten... 4 4. ICS deaktivieren... 5 5. Adapter-Details am Server speichern...

Mehr

C O C O O N. Wo ist Cocoon in die Apache Projekte einzureihen?

C O C O O N. Wo ist Cocoon in die Apache Projekte einzureihen? C O C O O N ein Web-Framework der Apache Software Foundation http://www.apache.org Wo ist Cocoon in die Apache Projekte einzureihen? Apache Server sehr leistungsfähiger HTTP-Server Tomcat Server Referenzimplementierung

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

STARFACE SugarCRM Connector

STARFACE SugarCRM Connector STARFACE SugarCRM Connector Information 1: Dieses Dokument enthält Informationen für den STARFACE- und SugarCRM-Administrator zur Inbetriebnahme des STARFACE SugarCRM Connectors. Inhalt 1 Inbetriebnahme...

Mehr

Robot Karol für Delphi

Robot Karol für Delphi Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško

Mehr

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden. In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website

Mehr

EIDAMO Webshop-Lösung - White Paper

EIDAMO Webshop-Lösung - White Paper Stand: 28.11.2006»EIDAMO Screenshots«- Bildschirmansichten des EIDAMO Managers Systemarchitektur Die aktuelle EIDAMO Version besteht aus unterschiedlichen Programmteilen (Komponenten). Grundsätzlich wird

Mehr

Online Banking System

Online Banking System Online Banking System Pflichtenheft im Rahmen des WI-Praktikum bei Thomas M. Lange Fachhochschule Giessen-Friedberg Fachbereich MNI Studiengang Informatik Erstellt von: Eugen Riske Yueksel Korkmaz Alper

Mehr

Projektmanagement in der Spieleentwicklung

Projektmanagement in der Spieleentwicklung Projektmanagement in der Spieleentwicklung Inhalt 1. Warum brauche ich ein Projekt-Management? 2. Die Charaktere des Projektmanagement - Mastermind - Producer - Projektleiter 3. Schnittstellen definieren

Mehr

Anforderungen an die HIS

Anforderungen an die HIS Anforderungen an die HIS Zusammengefasst aus den auf IBM Software basierenden Identity Management Projekten in NRW Michael Uebel uebel@de.ibm.com Anforderung 1 IBM Software Group / Tivoli Ein Feld zum

Mehr

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9 Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9 1 Allgemeine Beschreibung "Was war geplant, wo stehen Sie jetzt und wie könnte es noch werden?" Das sind die typischen Fragen, mit denen viele Unternehmer

Mehr

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger Software Engineering (Übungsblatt 2) Sommersemester 2012, Dr. Andreas Metzger Übungsblatt-Themen: Prinzip, Technik, Methode und Werkzeug; Arten von Wartung; Modularität (Kohäsion/ Kopplung); Inkrementelle

Mehr

Softwaretechnische Anforderungen zu Opale bluepearl Version 1.0 vom 23.05.2013

Softwaretechnische Anforderungen zu Opale bluepearl Version 1.0 vom 23.05.2013 Sehr geehrte Kundin, Sehr geehrter Kunden. Sie werden demnächst die neue Version Opale bluepearl einsetzen. Damit Sie bestmöglich von der 3ten Generation der Opale-Lösungen profitieren können, ist es an

Mehr

Local Control Network Technische Dokumentation

Local Control Network Technische Dokumentation Steuerung von Hifi-Anlagen mit der LCN-GVS Häufig wird der Wunsch geäußert, eine Hi-Fi-Anlage in die Steuerung der LCN-GVS einzubinden. Auch das ist realisierbar. Für die hier gezeigte Lösung müssen wenige

Mehr

Einstieg in Exact Online Buchungen erfassen. Stand 05/2014

Einstieg in Exact Online Buchungen erfassen. Stand 05/2014 Einstieg in Exact Online Buchungen erfassen Stand 05/2014 Einstieg und Grundprinzip... 2 Buchungen erfassen... 3 Neue Buchung eingeben... 4 Sonstige Buchungen erfassen... 8 Bestehende Buchungen bearbeiten

Mehr

Ein mobiler Electronic Program Guide

Ein mobiler Electronic Program Guide Whitepaper Telekommunikation Ein mobiler Electronic Program Guide Ein iphone Prototyp auf Basis von Web-Technologien 2011 SYRACOM AG 1 Einleitung Apps Anwendungen für mobile Geräte sind derzeit in aller

Mehr

MO 27. Aug. 2007, 17:00 UHR JAVA FRAMEWORKS TIPPS VON PROFI-GÄRTNERN GEGEN WILDWUCHS

MO 27. Aug. 2007, 17:00 UHR JAVA FRAMEWORKS TIPPS VON PROFI-GÄRTNERN GEGEN WILDWUCHS 072 MO 27. Aug. 2007, 17:00 UHR JAVA FRAMEWORKS TIPPS VON PROFI-GÄRTNERN GEGEN WILDWUCHS Die Flut von Open Source Frameworks ist vergleichbar mit dem Markt von kommerziellen Produkten Es gibt eine Vielzahl

Mehr

Einleitung: Frontend Backend

Einleitung: Frontend Backend Die Internetseite des LSW Deutschland e.v. hat ein neues Gesicht bekommen. Ab dem 01.01.2012 ist sie in Form eines Content Management Systems (CMS) im Netz. Einleitung: Die Grundlage für die Neuprogrammierung

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Ursprung des Internets und WWW

Ursprung des Internets und WWW Ursprung des Internets und WWW Ende der 60er Jahre des letzten Jahrtausends wurde in den USA die Agentur DARPA (Defense Advanced Research Projects Agency) gegründet, mit dem Ziel den Wissens und Informationsaustausch

Mehr

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16 Probeklausur Lenz Belzner January 26, 2015 Lenz Belzner Probeklausur January 26, 2015 1 / 16 Definieren Sie Software Engineering in Abgrenzung zu Individual Programming. Ingenieursdisziplin professionelle

Mehr

Containerformat Spezifikation

Containerformat Spezifikation Containerformat Spezifikation Version 1.0-09.05.2011 Inhaltsverzeichnis 0 Einführung... 4 0.1 Referenzierte Dokumente... 4 0.2 Abkürzungen... 4 1 Containerformat... 5 1.1 Aufbau des Container-Headers...

Mehr

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage .htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess

Mehr

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Wie kann ein PDF File angezeigt werden? kann mit Acrobat-Viewern angezeigt werden auf jeder Plattform!! (Unix,

Mehr

SANDBOXIE konfigurieren

SANDBOXIE konfigurieren SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:

Mehr

Lizenzen auschecken. Was ist zu tun?

Lizenzen auschecken. Was ist zu tun? Use case Lizenzen auschecken Ihr Unternehmen hat eine Netzwerk-Commuterlizenz mit beispielsweise 4 Lizenzen. Am Freitag wollen Sie Ihren Laptop mit nach Hause nehmen, um dort am Wochenende weiter zu arbeiten.

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

1. Einschränkung für Mac-User ohne Office 365. 2. Dokumente hochladen, teilen und bearbeiten

1. Einschränkung für Mac-User ohne Office 365. 2. Dokumente hochladen, teilen und bearbeiten 1. Einschränkung für Mac-User ohne Office 365 Mac-User ohne Office 365 müssen die Dateien herunterladen; sie können die Dateien nicht direkt öffnen und bearbeiten. Wenn die Datei heruntergeladen wurde,

Mehr

Bilder zum Upload verkleinern

Bilder zum Upload verkleinern Seite 1 von 9 Bilder zum Upload verkleinern Teil 1: Maße der Bilder verändern Um Bilder in ihren Abmessungen zu verkleinern benutze ich die Freeware Irfan View. Die Software biete zwar noch einiges mehr

Mehr

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser Seite 1 von 14 Cookie-Einstellungen verschiedener Browser Cookie-Einstellungen verschiedener Browser, 7. Dezember 2015 Inhaltsverzeichnis 1.Aktivierung von Cookies... 3 2.Cookies... 3 2.1.Wofu r braucht

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Copyright 2014 Delta Software Technology GmbH. All Rights reserved. Karlsruhe, 21. Mai 2014 Softwareentwicklung - Modellgetrieben und trotzdem agil Daniela Schilling Delta Software Technology GmbH The Perfect Way to Better Software Modellgetriebene Entwicklung Garant für

Mehr

Anleitung zum Importieren, Durchführen und Auswerten von Umfragen in Blackboard

Anleitung zum Importieren, Durchführen und Auswerten von Umfragen in Blackboard Center für Digitale Systeme Kompetenzzentrum e-learning / Multimedia Arbeitsbereich e-learning: Qualitätsförderung und Schulung evaluation@cedis.fu-berlin.de April 2010 Anleitung zum Importieren, Durchführen

Mehr

Urlaubsregel in David

Urlaubsregel in David Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5

Mehr

Netzwerkeinstellungen unter Mac OS X

Netzwerkeinstellungen unter Mac OS X Netzwerkeinstellungen unter Mac OS X Dieses Dokument bezieht sich auf das D-Link Dokument Apple Kompatibilität und Problemlösungen und erklärt, wie Sie schnell und einfach ein Netzwerkprofil unter Mac

Mehr

Softwareentwicklungspraktikum Sommersemester 2007. Feinentwurf

Softwareentwicklungspraktikum Sommersemester 2007. Feinentwurf Softwareentwicklungspraktikum Sommersemester 2007 Feinentwurf Auftraggeber Technische Universität Braunschweig

Mehr

Dokumentation IBIS Monitor

Dokumentation IBIS Monitor Dokumentation IBIS Monitor Seite 1 von 16 11.01.06 Inhaltsverzeichnis 1. Allgemein 2. Installation und Programm starten 3. Programmkonfiguration 4. Aufzeichnung 4.1 Aufzeichnung mitschneiden 4.1.1 Inhalt

Mehr