Komponentenbasierte Architektur zur Adaption web-basierter Anwendungen
|
|
- Clemens Geier
- vor 8 Jahren
- Abrufe
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) Vortrag im Fach Software Engineering II BA Mannheim / Fachrichtung Angewandte Informatik Torsten Hopp Gliederung Einleitung Motivation Grundzüge der MDA Ziele & Potenziale
Mehretutor 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:
MehrVortrag 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
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
MehrAutorisierung. 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
MehrDiplomarbeit. 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
MehrWeb 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.
MehrWiederholung: 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
MehrOnline-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
MehrFachbericht 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
MehrHMS. 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
MehrEnterprise 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
MehrDokumentation 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
MehrWorkflow, 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
MehrGuide 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
MehrSoftwaretests 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
MehrVermeiden 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
MehrDatabase 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
MehrTask: 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
MehrJava 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
MehrSession 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
MehrAnleitung 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:
MehrSuche 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
MehrJava 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
MehrInstallation 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
MehrAuto-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
Mehr1. 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 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
MehrDatensicherung. 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
MehrDas 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 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
MehrZustandsgebundene 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
Mehr1 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.
MehrPrimzahlen 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
MehrNovell 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
MehrAgiles 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
Mehr4D 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
MehrMotivation. 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
MehrPHP 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
MehrLizenzierung 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
Mehr4 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
MehrMicrosoft 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...
MehrSWT 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.
MehrTitel. 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
MehrProzessbewertung 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
MehrANYWHERE 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
MehrSoftwareentwicklung 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
MehrProseminar: 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
MehrHow 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...
MehrIn 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
MehrHilfe 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...
MehrSybase 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...
MehrWeb-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.........................................
MehrKonsolidierung 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
MehrEin 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
MehrGruppe: 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
MehrSoftwaretechnik (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
MehrMSXFORUM - 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
MehrDruckvorlagen 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
MehrWorkflow 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
MehrModel 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,
MehrIst 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,
MehrZahlensysteme: 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
MehrICS-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...
MehrC 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
MehrHandbuch 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
MehrSTARFACE 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...
MehrRobot 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
MehrDie 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
MehrEIDAMO 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
MehrOnline 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
MehrProjektmanagement 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
MehrAnforderungen 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
Mehrpro4controlling - 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
MehrSoftware 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
MehrSoftwaretechnische 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
MehrLocal 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
MehrEinstieg 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
MehrEin 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
MehrMO 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
MehrEinleitung: 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
MehrOP-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
MehrUrsprung 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
MehrProbeklausur. 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
MehrContainerformat 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 Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess
MehrWas 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,
MehrSANDBOXIE 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:
MehrLizenzen 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.
MehrEr 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
Mehr1. 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,
MehrBilder 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
MehrSeite 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
MehrOutlook. 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
MehrCopyright 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
MehrAnleitung 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
MehrUrlaubsregel 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
MehrNetzwerkeinstellungen 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
MehrSoftwareentwicklungspraktikum Sommersemester 2007. Feinentwurf
Softwareentwicklungspraktikum Sommersemester 2007 Feinentwurf Auftraggeber Technische Universität Braunschweig
MehrDokumentation 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