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

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

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Entwicklung von Web-Anwendungen auf JAVA EE Basis Entwicklung von Web-Anwendungen auf JAVA EE Basis Java Enterprise Edition - Überblick Prof. Dr. Bernhard Schiefer Inhalt der Veranstaltung Überblick Java EE JDBC, JPA, JNDI Servlets, Java Server Pages

Mehr

Makologa Touré Damian Gawenda

Makologa Touré Damian Gawenda Vortrag von Makologa Touré Damian Gawenda im ITT am 08. August 2006 07.08.06 Makologa Touré Damian Gawenda 1 Übersicht Was ist ein WMS? Web-Technologien Wie installiere ich einen Web-Map-Server? 07.08.06

Mehr

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

Inhaltsverzeichnis. Vorwort... Einleitung... Einführung... 1 Vorwort... Einleitung... V VII Einführung... 1 1 Grundlagen... 7 1.1 Dokumentmodelle... 7 1.1.1 Multimedia... 8 1.1.2 Hypermedia... 9 1.1.3 Verteilung... 11 1.2 Geschichte des WWW... 13 1.2.1 Struktur...

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

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

Model Driven Architecture Praxisbeispiel

Model Driven Architecture Praxisbeispiel 1 EJOSA OpenUSS CampusSource Model Driven Architecture Praxisbeispiel 2 Situation von CampusSource-Plattformen Ähnliche Funktionen (Verwaltung von Studenten und Dozenten, Diskussionsforen,...), jedoch

Mehr

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste Hauptseminar Internet Dienste Sommersemester 2004 Boto Bako Webservices 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung Was sind Web Services? Web Services sind angebotene

Mehr

Model Driven Architecture

Model Driven Architecture { AKTUELLES SCHLAGWORT* / MODEL DRIVEN ARCHITECTURE Model Driven Architecture Martin Kempa Zoltán Ádám Mann Bei der Model Driven Architecture (MDA) bilden Modelle die zentralen Elemente des Softwareentwicklungsprozesses.

Mehr

Java 2, Enterprise Edition Einführung und Überblick

Java 2, Enterprise Edition Einführung und Überblick Universität aiserslautern AG Datenbanken und Informationssysteme Seminar Datenbank-Aspekte des E-Commerce Java 2, Enterprise Edition Einführung und Überblick m_husema@informatik.uni-kl.de Vortragsinhalte

Mehr

VL2: Softwareprojekt - Anforderungsanalyse. Inhalt. 1. Struktur eines Softwareprojektes

VL2: Softwareprojekt - Anforderungsanalyse. Inhalt. 1. Struktur eines Softwareprojektes Dozent: G.Döben-Henisch (Version vom 16.April 2005) PPmP VL2 VL2: Softwareprojekt - Anforderungsanalyse Inhalt 1. Struktur eines Softwareprojektes 2. Anforderungsanalyse 1. Struktur eines Softwareprojektes

Mehr

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com Web Services Java Praktikum SS 2010 Gerald.Ehmayer@borland.com 1 Web Services Einführung Definition, Eigenschaften, Anwendungen... JAX-RPC Überblick, Architektur... JAX Übersicht, Architektur Java Praktikum

Mehr

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme Tillmann Schall, anaptecs GmbH : Agenda Grundlagen modellgetriebener Entwicklungsprozesse Schritte zur Einführung Erfahrungen

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

17 Komponentenbasiertes Software-Engineering

17 Komponentenbasiertes Software-Engineering 17 Komponentenbasiertes Software-Engineering 17.0 Einführung Lernziele Grundlagen, Prinzipien und Probleme des CBSE 17.1 Komponenten und Komponentenmodelle Komponenten und ihre Eigenschaften Komponentenmodelle

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

Enterprise Application Integration Erfahrungen aus der Praxis

Enterprise Application Integration Erfahrungen aus der Praxis Enterprise Application Integration Erfahrungen aus der Praxis Teil 4: EAI und.net, EAI und J2EE Tutorial NODs 2002, Wolfgang Keller and Generali 2001, 2002, all rights reserved 1 Überblick EAI und....net

Mehr

Model Driven Architecture

Model Driven Architecture Model Driven Architecture Wilhelm Stephan Universität Hamburg Fakultät für Mathematik, Informatik und Naturwissenschaften Seminar Softwareentwicklung in der Wissenschaft Betreuer: Julian Kunkel SommerSemester

Mehr

CORBA. Systemprogrammierung WS 2006-2007

CORBA. Systemprogrammierung WS 2006-2007 CORBA Systemprogrammierung WS 2006-2007 Teilnehmer: Bahareh Akherattalab Babak Akherattalab Inhaltsverzeichnis: Verteilte Systeme Vergleich zwischen lokale und verteilte Systeme Verteilte Anwendungen CORBA

Mehr

Client/Server-Systeme

Client/Server-Systeme Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen

Mehr

Integrating Architecture Apps for the Enterprise

Integrating Architecture Apps for the Enterprise Integrating Architecture Apps for the Enterprise Ein einheitliches Modulsystem für verteilte Unternehmensanwendungen Motivation und Grundkonzept Inhalt Problem Ursache Herausforderung Grundgedanke Architektur

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

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012 Einführung in modellgetriebene Softwareentwicklung 24. Oktober 2012 Überblick Was sind die Grundprinzipien der modellgetriebenen Softwareentwicklung? Entwicklung einer MDD-Infrastruktur Modellgetriebene

Mehr

Technische Beschreibung: EPOD Server

Technische Beschreibung: EPOD Server EPOD Encrypted Private Online Disc Technische Beschreibung: EPOD Server Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee JKU Linz Institut für

Mehr

Multiuser Client/Server Systeme

Multiuser Client/Server Systeme Multiuser /Server Systeme Christoph Nießner Seminar: 3D im Web Universität Paderborn Wintersemester 02/03 Übersicht Was sind /Server Systeme Wie sehen Architekturen aus Verteilung der Anwendung Protokolle

Mehr

Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java

Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java von Christian Brand Kennnummer: 09376 November 2005 Abkürzungen Abkürzungen API - Application Programming Interface

Mehr

Software Factories SS 2016. Prof. Dr. Dirk Müller. 3 Modellgetriebene Softwareentwicklung

Software Factories SS 2016. Prof. Dr. Dirk Müller. 3 Modellgetriebene Softwareentwicklung Software Factories 3 Modellgetriebene Softwareentwicklung Prof. Dr. Dirk Müller Übersicht Einordnung im Lebenszyklus Ziele Hebung des Abstraktionsniveaus Model Driven Architecture (MDA) Domänenspezifische

Mehr

Anforderungsmanagement

Anforderungsmanagement Gerhard Versteegen (Hrsg.) Alexander Heßeier Colin Hood Christian Missling Renate Stücka Anforderungsmanagement Formale Prozesse, Praxiserfahrungen, Einführungsstrategien und Toolauswahl Springer Inhaltsverzeichnis

Mehr

DRESDEN, 08.10.2009 CHRISTIAN.KNAUER@INF.TU-DRESEDEN.DE

DRESDEN, 08.10.2009 CHRISTIAN.KNAUER@INF.TU-DRESEDEN.DE DOKUMENTATION MAAS - MONITORING AS A SERVICE DRESDEN, 08.10.2009 CHRISTIAN.KNAUER@INF.TU-DRESEDEN.DE Dokumentation MaaS - Monitoring as a Service Inhalt 1. MaaS - Monitoring as Service... 3 1.1 Einleitung...

Mehr

COMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg

COMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg COMMON OBJECT REQUEST BROKER ARCHITECTURE Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg Gliederung Motivation Was ist CORBA? Object Management Architecture (OMA ) Interface Definition Language

Mehr

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen...

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen... Inhalt HTML- Grundlagen und CSS... 2 XML Programmierung - Grundlagen... 3 PHP Programmierung - Grundlagen... 4 Java - Grundlagen... 5 Java Aufbau... 6 ASP.NET Programmierung - Grundlagen... 7 1 HTML- Grundlagen

Mehr

Microsoft.NET und SunONE

Microsoft.NET und SunONE Microsoft.NET und SunONE, Plattformen und Application Service Providing Agenda Einordnung.NET und SunONE Kurzvorstellung Gegenüberstellung Zusammenfassung ASP (Application( Service Providing) ) und Ausblick

Mehr

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel. EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.de/~mtr FRAGEN / ANMERKUNGEN Vorlesung Neue Übungsaufgaben MODELLIERUNG

Mehr

MDA MDA mit mit Open-Source-Software Eine Eine Bestandsaufnahme

MDA MDA mit mit Open-Source-Software Eine Eine Bestandsaufnahme MDA MDA mit mit Open-Source-Software Eine Eine Bestandsaufnahme Gerhard Wanner (wanner@hft-stuttgart.de) Stefan Stefan Siegl Siegl (s.siegl@novatec-gmbh.de) Agenda Model Driven Architecture (MDA) Einführung/Übersicht/Motivation

Mehr

Einsatz von Scalable Vector Graphics (SVG) zur Modellrepräsentation und -manipulation in Web-Anwendungen mit J2EE

Einsatz von Scalable Vector Graphics (SVG) zur Modellrepräsentation und -manipulation in Web-Anwendungen mit J2EE Einsatz von Scalable Vector Graphics (SVG) zur Modellrepräsentation und -manipulation in Web-Anwendungen mit J2EE www.arsnova.de ARS NOVA Technical Workshop, 24. Juni 2004 1 Agenda Motivation und Zielsetzung

Mehr

Inhalt. Motivation Techniken des MDE. Fallbeispiele

Inhalt. Motivation Techniken des MDE. Fallbeispiele ISE-Seminar 2012 Inhalt Motivation Techniken des MDE Computer Aided Software Engineering (CASE) Domain-Specific-Languages (DSL) Model Driven Architecture (MDA) Fallbeispiele Motivation Automatische Codegenerierung

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

Vom Geschäftsmodell zum Code Komponentenbasierte Entwicklung auf Basis der Model Driven Architecture

Vom Geschäftsmodell zum Code Komponentenbasierte Entwicklung auf Basis der Model Driven Architecture Vom Geschäftsmodell zum Code Komponentenbasierte Entwicklung auf Basis der Model Driven Architecture U. Sommer, G. Rackl, K. Beschorner, H. Kößler, A. Bien Zentrale IT, Kompetenzzentrum IT-Architekturen

Mehr

Einführung. Internet vs. WWW

Einführung. Internet vs. WWW Einführung Bernhard Plattner 1-1 Internet vs. WWW "the Internet is the entirety of all computers which are interconnected (using various physical networking technologies) and employ the Internet protocol

Mehr

Diplomarbeit: GOMMA: Eine Plattform zur flexiblen Verwaltung und Analyse von Ontologie Mappings in der Bio-/Medizininformatik

Diplomarbeit: GOMMA: Eine Plattform zur flexiblen Verwaltung und Analyse von Ontologie Mappings in der Bio-/Medizininformatik Diplomarbeit: GOMMA: Eine Plattform zur flexiblen Verwaltung und Analyse von Ontologie Mappings in der Bio-/Medizininformatik Bearbeiter: Shuangqing He Betreuer: Toralf Kirsten, Michael Hartung Universität

Mehr

Architecture Blueprints

Architecture Blueprints Architecture Blueprints Daniel Liebhart, Peter Welkenbach, Perry Pakull, Mischa Kölliker, Michael Könings, Markus Heinisch, Guido Schmutz Ein Leitfaden zur Konstruktion von Softwaresystemen mit Java Spring,.NET,

Mehr

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition Inhaltsverzeichnis Vorwort 13 I Enterprise Java im Überblick 1 Bedeutung von Enterprise Java und IBM WebSphere 21 1.1 Enterprise Java 23 1.1.1 Anforderungen 23 1.1.2 E-Business 30 1.1.3 Java 36 1.2 IBM

Mehr

XML in der betrieblichen Praxis

XML in der betrieblichen Praxis Klaus Turowski, Klement J. Fellner (Hrsg.) XML in der betrieblichen Praxis Standards, Möglichkeiten, Praxisbeispiele Ги dpunkt.verlag Inhaltsverzeichnis 1 XML/EDI-Standardisierung: Ein Überblick 1 1.1

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

Graphische Modellanalyse am Beispiel von Geschäftsprozessmodellen unter Verwendung der Graph Markup Language (GraphML)

Graphische Modellanalyse am Beispiel von Geschäftsprozessmodellen unter Verwendung der Graph Markup Language (GraphML) HOCHSCHULE HEILBRONN Hochschule für Technik Wirtschaft Informatik Studiengang Electronic Business (EB) Diplomarbeit (280000) Graphische Modellanalyse am Beispiel von Geschäftsprozessmodellen unter Verwendung

Mehr

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

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server Einsatz von Applikationsservern Untersucht am Beispiel des Sybase Enterprise Application Server Architektur von Datenbanksystemen Client / Server Modell (2 Schichten Modell) Benutzerschnittstelle Präsentationslogik

Mehr

Desktop Management Interface und andere Initiativen der DMTF

Desktop Management Interface und andere Initiativen der DMTF Desktop Management Interface und andere Initiativen der DMTF Gliederung DMI Übersicht Architektur, Organisation Informationsmodell Kommunikationsmodell Sicherheit DMI-Zertifizierung Weitere DMTF-Initiativen

Mehr

Diplomarbeit. Planung eines Webauftritts. Ein Leitfaden für kleine und mittelständische Unternehmen. Daniel Jurischka. Bachelor + Master Publishing

Diplomarbeit. Planung eines Webauftritts. Ein Leitfaden für kleine und mittelständische Unternehmen. Daniel Jurischka. Bachelor + Master Publishing Diplomarbeit Daniel Jurischka Planung eines Webauftritts Ein Leitfaden für kleine und mittelständische Unternehmen Bachelor + Master Publishing Daniel Jurischka Planung eines Webauftritts: Ein Leitfaden

Mehr

Einführung in Generatives Programmieren. Bastian Molkenthin

Einführung in Generatives Programmieren. Bastian Molkenthin Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung

Mehr

Komponentenbasierte Softwareentwicklung

Komponentenbasierte Softwareentwicklung Seminar WS04 Komponentenbasierte Softwareentwicklung Karl Pauls Software-Komponente A software component is a unit of composition with contractually specified interfaces and explicit context dependencies

Mehr

Weiterentwicklung digitaler Bibliothekssysteme zu OpenArchives-Systemen

Weiterentwicklung digitaler Bibliothekssysteme zu OpenArchives-Systemen Weiterentwicklung digitaler Bibliothekssysteme zu OpenArchives-Systemen Osnabrück, 2003-03-13 Prof. Dr. G. Specht, U Ulm Dipl.-Inform. Michael G. Bauer, TU München 1. OMNIS/2 Motivation 2. Übersicht über

Mehr

Kundenanforderungen. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw, 24.05.2013

Kundenanforderungen. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw, 24.05.2013 Software Komponenten FS13 Gruppe 03 Horw, 24.05.2013 Bontekoe Christian Estermann Michael Moor Simon Rohrer Felix Autoren Bontekoe Christian Studiengang Informatiker (Berufsbegleitend) Adresse Telefon

Mehr

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

Mehr

VS3 Slide 1. Verteilte Systeme. Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel

VS3 Slide 1. Verteilte Systeme. Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel VS3 Slide 1 Verteilte Systeme Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel Inhaltsverzeichnis für die Vorlesung Zur Motivation: 4 Beispiele aus der Praxis Allgemeine Anforderungen an Verteilte

Mehr

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

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit EMF ist ein eigenständiges Eclipse-Projekt (Eclipse Modeling Framework Project) EMF ist ein Modellierungsframework und Tool

Mehr

6. Modellierung von Informationssystemen. 6.1 Einleitung 6.2 Konzeptuelles Modell 6.3 OASIS Spezifikation 6.4 Execution Model 6.

6. Modellierung von Informationssystemen. 6.1 Einleitung 6.2 Konzeptuelles Modell 6.3 OASIS Spezifikation 6.4 Execution Model 6. 6. Modellierung von Informationssystemen Spezialseminar Matr. FS 2000 1/10 Volker Dobrowolny FIN- ITI Quellen: Oscar Pastor, Jaime Gomez, Emilio Insfran, Vicente Pelechano The OO-Method approach for information

Mehr

8.4 Überblick und Vergleich weiterer ERP-Systeme. G Oracle Applications 11 G PeopleSoft 7 G J.D. Edwards One World G BaanERP

8.4 Überblick und Vergleich weiterer ERP-Systeme. G Oracle Applications 11 G PeopleSoft 7 G J.D. Edwards One World G BaanERP 8.4 Überblick und Vergleich weiterer ERP-Systeme G Oracle Applications 11 G PeopleSoft 7 G J.D. Edwards One World G BaanERP Kapitel 8: ERP-Einführung 32 Architektur von Oracle Applications 11 G Logische

Mehr

Referenzarchitekturen und MDA 1

Referenzarchitekturen und MDA 1 Referenzarchitekturen und MDA 1 Gerd Beneken *, Tilman Seifert *, Niko Baehr +, Inge Hanschke +, Olaf Rauch + *) TU München Lehrstuhl für Software & Systems Engineering Boltzmannstr. 3; 85748 Garching

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

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de. 26.11.2000 (c) Michael Behrendt -

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de. 26.11.2000 (c) Michael Behrendt - Herzlich Willkommen! Mit Java ins Web - eine praxisnahe Übersicht 1 Wer bin ich? Michael Behrendt, 21, Nürnberg kurzer Lebenslauf: 1991 Erster Rechner: Commodore C128 1995 Ausbildung zum Datenverarbeitungskaufmann

Mehr

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen?

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen? SOAP Integrationstechnologie für verteilte Middlewarearchitekturen? Großer Beleg Christian Wurbs Zwischenbericht http://www.inf.tu-dresden.de/~cw6 cw6@inf.tu-dresden.de Überblick 2 Aufgabenstellung CORBA

Mehr

Hauptseminar Management von Softwaresystemen. Techniken der System-Integration EAI, Middleware, SOA, CORBA

Hauptseminar Management von Softwaresystemen. Techniken der System-Integration EAI, Middleware, SOA, CORBA Hauptseminar Management von Softwaresystemen Techniken der System-Integration EAI, Middleware, SOA, CORBA Betreuerin: Referent: Ulrike Hammerschall Alexey Krivoborodov Agenda Motivation Arten der Verteilung

Mehr

Internet-basierendes Autorensystem zur Erschließung historischen Kulturguts. Thorsten Ludewig. Juni 2004

Internet-basierendes Autorensystem zur Erschließung historischen Kulturguts. Thorsten Ludewig. Juni 2004 METEOR Internet-basierendes Autorensystem zur Erschließung historischen Kulturguts Thorsten Ludewig Juni 2004 1 Übersicht Was ist METEOR Architektur Technische Realisierung Zusammenfassung Zukünftige Entwicklungen

Mehr

objectif / SOA /.NET Inhalt Technologien ObjectiF Beispiel Vergleich: ObjectiF Rational Rose Quellenverzeichnis 20.01.2008 Christian Reichardt 2 Technologien 20.01.2008 Christian Reichardt 3 Methodenaufruf

Mehr

Dreamwap. Systemanalyse

Dreamwap. Systemanalyse Dreamwap Systemanalyse Änderungskontrolle Version Datum Name Bemerkung 0.1 15.7.2000 P. Troxler Initialversion 0.2 16.7.2000 P. Troxler Neue Tabelle: Kap. 2.1. Vgl. Datenbank Tabellen 0.3 18.7.2000 P.

Mehr

Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen

Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen Tom Krauß Agenda Begriffsdefinition Verfahren Praktische Beispiele Vergleich und Bewertung Begriffsklärung

Mehr

Rechnernetze Projekt SS 2015

Rechnernetze Projekt SS 2015 30/03/15 Seite 1 Aspektorientierte Programmierung logische Aspekte (Concerns) im Programm separieren Crosscutting Concerns (Ziel: generische Funktionalitäten über mehrere Klassen hinweg zu verwenden -

Mehr

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 WebSphere Application Server Teil 4 Leistungsverhalten el0100 copyright W. G. Spruth,

Mehr

Systemdenken und Gestaltungsmethodik System-Modellierung

Systemdenken und Gestaltungsmethodik System-Modellierung Systemdenken und Gestaltungsmethodik System-Modellierung Prof. Dr.-Ing. Stefan Brunthaler TFH Wildau 2008ff Master Telematik Ausgangsbasis Es liegt ein kosten-nutzen-optimales Lösungskonzept vor. Die Architektur

Mehr

ARTS Server 3.5. Produktbeschreibung. Uptime Services AG

ARTS Server 3.5. Produktbeschreibung. Uptime Services AG Uptime Services AG Brauerstrasse 4 CH-8004 Zürich Tel. +41 44 560 76 00 Fax +41 44 560 76 01 www.uptime.ch ARTS Server 3.5 Produktbeschreibung Uptime Services AG Inhaltsverzeichnis 1 Einleitung... 2 2

Mehr

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

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges Komponentenbasierte Client-Architektur Hamburg, 16.11.2007 Bernd Olleck IT-Beratung Olleck Agenda Clients aus drei verschiedenen Perspektiven: Technische Infrastruktur Fachliche Sicht Aufgaben eines Clients

Mehr

Oracle Warehouse Builder 3i

Oracle Warehouse Builder 3i Betrifft Autoren Art der Info Oracle Warehouse Builder 3i Dani Schnider (daniel.schnider@trivadis.com) Thomas Kriemler (thomas.kriemler@trivadis.com) Technische Info Quelle Aus dem Trivadis Technologie

Mehr

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework

Mehr

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools MOF Meta Object Facility Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools Überblick Object Management Group (OMG) Model Driven Architecture (MDA) Exkurs: Modelle, Metamodelle MOF Architektur

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

SECTINO. Security for Inter-Organizational Workflows

SECTINO. Security for Inter-Organizational Workflows SECTINO Security for Inter-Organizational Workflows Framework zur Modellierung und Realsisierung sicherheitskritischer organisationsübergreifender Workflows Kooperation Research Group Quality Engineering

Mehr

DATENFORMATE IM INTERNET

DATENFORMATE IM INTERNET DATENFORMATE IM INTERNET Steffen Petermann Projekt reisefieber:// BILDFORMATE JPG / GIF / PNG / SVG MULTIMEDIA FLASH / SHOCKWAVE TEXT-BASIERTE FORMATE HTMP / CSS / JS / CGI / PHP AUDIO & VIDEO MP3 / MOV

Mehr

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer *Was sind Web Services? *Beispiele für Web Services *Web Service Architektur *Web Services Technologien *Fazit 2 *Übertragungsstandard

Mehr

Entwicklungswerkzeuge

Entwicklungswerkzeuge Entwicklungswerkzeuge Werner Struckmann & Tim Winkelmann 10. Oktober 2012 Gliederung Anforderungen Projekte Debugging Versionsverwaltung Frameworks Pattern Integrated development environment (IDE) Werner

Mehr

Softwareschnittstellen

Softwareschnittstellen P4.1. Gliederung Rechnerpraktikum zu Kapitel 4 Softwareschnittstellen Einleitung, Component Object Model (COM) Zugriff auf Microsoft Excel Zugriff auf MATLAB Zugriff auf CATIA Folie 1 P4.2. Einleitung

Mehr

Model Driven SOA. < J Springer. Anwendungsorientierte Methodik und Vorgehen in der Praxis. Gerhard Rempp Mark Akermann Martin Löffler Jens Lehmann

Model Driven SOA. < J Springer. Anwendungsorientierte Methodik und Vorgehen in der Praxis. Gerhard Rempp Mark Akermann Martin Löffler Jens Lehmann Gerhard Rempp Mark Akermann Martin Löffler Jens Lehmann Model Driven SOA Anwendungsorientierte Methodik und Vorgehen in der Praxis Mit Illustrationen von Martin Starzmann < J Springer Inhaltsverzeichnis

Mehr

2.Strukturdiagramme. 2.5 Das Komponentendiagramm 2.6 Das Verteilungsdiagramm. Prof. Mario Jeckle

2.Strukturdiagramme. 2.5 Das Komponentendiagramm 2.6 Das Verteilungsdiagramm. Prof. Mario Jeckle 2.5 Das Komponentendiagramm 2.6 Das Verteilungsdiagramm Prof. Mario Jeckle Fachhochschule Furtwangen mario@ http://www. Fachhochschule Furtwangen, Sommersemester 2004 Das Komponentendiagramm Dient Darstellung

Mehr

InQMy Application Server Flexible Softwareinfrastruktur für verteilte Anwendungen

InQMy Application Server Flexible Softwareinfrastruktur für verteilte Anwendungen InQMy Application Server Flexible Softwareinfrastruktur für verteilte Anwendungen IN-Q-My Title Company (Name) / 1 Agenda Firmenübersicht ebusiness Evolution InQMy Application Server Architektur Zusammenfassung

Mehr

Einflussfaktoren auf eine Softwarearchitektur und ihre Wechselwirkungen Entwurfsentscheidungen systematisieren

Einflussfaktoren auf eine Softwarearchitektur und ihre Wechselwirkungen Entwurfsentscheidungen systematisieren 1 Einflussfaktoren auf eine Softwarearchitektur und ihre Wechselwirkungen Entwurfsentscheidungen systematisieren W3L AG info@w3l.de 2011 2 Agenda Softwarearchitektur und Architekturentwurf Definition Überblick

Mehr

Modellgetriebene Softwareentwicklung (Model Driven Software Development - MDSD) SS 2014

Modellgetriebene Softwareentwicklung (Model Driven Software Development - MDSD) SS 2014 Modellgetriebene Softwareentwicklung (Model Driven Software Development - MDSD) SS 2014 Wahlpflichtfach (2 SWS) für Bachelor Andreas Schmidt Einführung/Organisation 1/19 Ziele der Vorlesung Vorstellung

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

Anwendung eines Enterprise Java Beans

Anwendung eines Enterprise Java Beans Anwendung eines Enterprise Java Beans EJB Server EJB Container Remote Interface Home Interface EJB Object Der EJB Container kümmert sich um die Kommunikation des Beans mit anderen Komponenten, wobei er

Mehr

Model Driven SOA Modellgetriebene Entwicklung von SOA Anwendungen. OOP München, 26.01.2011

Model Driven SOA Modellgetriebene Entwicklung von SOA Anwendungen. OOP München, 26.01.2011 Model Driven SOA Modellgetriebene Entwicklung von SOA Anwendungen OOP München, 26.01.2011 I N H A L T 1. SOA das erste Projekt 2. Prozesse Ergebnisse aus dem Fachbereich 3. Der Business Analyst und BPMN

Mehr

Inhaltsverzeichnis. xiii

Inhaltsverzeichnis. xiii Inhaltsverzeichnis 1 Einleitung... 1 1.1 Ausgangslage und Zielsetzung des Buches...2 1.2 Was ist Software-Architektur?...8 1.3 Leser-Leitfaden... 11 1.3.1 Buchaufbau... 11 1.3.2 Zielpublikum... 15 1.3.3

Mehr

Puppet - Implementing Modules. Von der Planung bis zur Umsetzung. Alexander Pacnik Karlsruhe, 26.05.2014

Puppet - Implementing Modules. Von der Planung bis zur Umsetzung. Alexander Pacnik Karlsruhe, 26.05.2014 Puppet - Implementing Modules Von der Planung bis zur Umsetzung Alexander Pacnik Karlsruhe, 26.05.2014 Einleitung... worum es in diesem Vortrag geht Typische Probleme Falsches Verständnis von Standard

Mehr

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

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Jens Kohlmeyer 05. März 2007 Institut für Programmiermethodik und Compilerbau ActiveCharts Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Seite 2 Übersicht

Mehr

Grid-Systeme. Betrachtung verschiedener Softwareplattformen zur Realisierung von Grids und Vorstellung des Globus Toolkit. 07.06.2002 Grid Systeme 1

Grid-Systeme. Betrachtung verschiedener Softwareplattformen zur Realisierung von Grids und Vorstellung des Globus Toolkit. 07.06.2002 Grid Systeme 1 Grid-Systeme Betrachtung verschiedener Softwareplattformen zur Realisierung von Grids und Vorstellung des Globus Toolkit 07.06.2002 Grid Systeme 1 Gliederung Vorstellung verschiedener Plattformen Globus

Mehr

Proseminar Website-Management-Systeme im Wintersemester 2003/2004 AG Softwaretechnik. PHP-Nuke. PHP-Nuke. von Andreas Emrich

Proseminar Website-Management-Systeme im Wintersemester 2003/2004 AG Softwaretechnik. PHP-Nuke. PHP-Nuke. von Andreas Emrich AG Softwaretechnik 1 Übersicht 1. Grundlagen und Konzepte 2. Komponenten von 3. Erweiterungsmöglichkeiten und Personalisierung 4. Abschließende Bewertung 5. Literaturangaben 2 1. : Grundlagen und Konzepte

Mehr

VS7 Slide 1. Verteilte Systeme. Vorlesung 7 vom 27.05.2004 Dr. Sebastian Iwanowski FH Wedel

VS7 Slide 1. Verteilte Systeme. Vorlesung 7 vom 27.05.2004 Dr. Sebastian Iwanowski FH Wedel VS7 Slide 1 Verteilte Systeme Vorlesung 7 vom 27.05.2004 Dr. Sebastian Iwanowski FH Wedel Inhaltsverzeichnis für die Vorlesung Zur Motivation: 4 Beispiele aus der Praxis Allgemeine Anforderungen an Verteilte

Mehr

Motivation. Inhalt. URI-Schemata (1) URI-Schemata (2)

Motivation. Inhalt. URI-Schemata (1) URI-Schemata (2) 14. URIs Uniform Resource Identifier 14-1 14. URIs Uniform Resource Identifier 14-2 Motivation Das WWW ist ein Hypermedia System. Es enthält: Resourcen (Multimedia Dokumente) Verweise (Links) zwischen

Mehr

Glossar. SVG-Grafiken in Bitmap-Grafikformate. Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten,

Glossar. SVG-Grafiken in Bitmap-Grafikformate. Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten, Glossar Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten, Methoden und/oder Eigenschaften, die eine bestimmte Berechnung ausführt, eine Eigenschaft ändert oder eine Methode

Mehr

Software-Architektur. Spektrum k_/takademischht VERLAG

Software-Architektur. Spektrum k_/takademischht VERLAG Oliver Vogel / Ingo Arnold /Arif Chughtai / Edmund Ihler/Uwe Mehlig/Thomas Neumann/ Markus Völter/Uwe Zdun Software-Architektur Grundlagen - Konzepte - Praxis ELSEVIER SPEKTRUM AKADEMISCHER VERLAG Spektrum

Mehr

Michael Piechotta - CASE Tools. openarchitecture Ware

Michael Piechotta - CASE Tools. openarchitecture Ware Model Driven Development Michael Piechotta - CASE Tools openarchitecture Ware Gliederung 1.Einleitung - Was ist MDD? - Wozu MDD? 2.Model Driven Development - OMG Konzepte: Modelle,Transformationen Meta-Modellierung

Mehr

ORACLE Business Components for Java (BC4J) Marco Grawunder

ORACLE Business Components for Java (BC4J) Marco Grawunder ORACLE Business Components for Java (BC4J) Marco Grawunder Gliederung 2 Probleme von J2EE/EJB J2EE-Pattern Lösungsansatz: BC4J Architektur einer BC4J-Anwendung Komponenten Entity Objects View Objects Application

Mehr