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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Einführung. Übersicht

Einführung. Übersicht Einführung Erik Wilde TIK ETH Zürich Sommersemester 2001 Übersicht Durchführung der Veranstaltung Termine (Vorlesung und Übung) Bereitstellung von Informationen Einführung Internet Internet als Transportinfrastruktur

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

Softwareentwicklung mit UML

Softwareentwicklung mit UML Softwareentwicklung mit UML Die Unified Modeling Language im Projekteinsatz 2.12.2003, Seite 1 Übersicht 1 Einleitung 2 Die Unified Modeling Language (UML) 3 Vorgehensmodelle und UML 4 Ausblick 4.1 UML

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

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

A classification and comparison framework for software architecture description languages

A classification and comparison framework for software architecture description languages A classification and comparison framework for software architecture description languages Christian Gerth Seminar Architekturbeschreibungssprachen Prof. Dr. Heike Wehrheim Fachgebiet Spezifikation und

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

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

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

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

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

Graphischer Editor für die technologieunabhängige User Interface Modellierung

Graphischer Editor für die technologieunabhängige User Interface Modellierung Universität Augsburg Lehrstuhl für Softwaretechnik und Programmiersprachen Prof. Dr. Bernhard Bauer Praktikum Modellgetriebene Softwareentwicklung SS 2008 Graphischer Editor für die technologieunabhängige

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

VS12 Slide 1. Verteilte Systeme. Vorlesung 12 Sebastian Iwanowski FH Wedel

VS12 Slide 1. Verteilte Systeme. Vorlesung 12 Sebastian Iwanowski FH Wedel VS12 Slide 1 Verteilte Systeme Vorlesung 12 Sebastian Iwanowski FH Wedel Mögliche Plattformen für Web Services VS12 Slide 2 VS12 Slide 3 Java-Software für verteilte Systeme J2EE: Java 2 Enterprise Edition

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

.NET-Objekte einfach speichern Michael Braam, Senior Sales Engineer InterSystems GmbH

.NET-Objekte einfach speichern Michael Braam, Senior Sales Engineer InterSystems GmbH Make Applications Faster.NET-Objekte einfach speichern Michael Braam, Senior Sales Engineer InterSystems GmbH Agenda Vorstellung InterSystems Überblick Caché Live Demo InterSystems auf einen Blick 100.000

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

Software-Qualität im Rahmen modellgetriebener Softwareentwicklung

Software-Qualität im Rahmen modellgetriebener Softwareentwicklung Software-Qualität im Rahmen modellgetriebener Softwareentwicklung OFFIS Technologiecluster Enterprise Application Integration niels.streekmann@offis.de 09.07.2008 Seite 1 / 13 Software-Qualität: Unterschiedliche

Mehr

XML Grundlagen Sommersemester 2013

XML Grundlagen Sommersemester 2013 XML Grundlagen Sommersemester 2013 Die Lehrveranstaltung wird studienbegleitend durch eine Hausarbeit und eine Präsentation mit Diskussion geprüft. Die Themen der folgenden Liste werden im Rahmen der Lehrveranstaltung

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

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

Java und XML/XML und Java. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.

Java und XML/XML und Java. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle. Java und XML/XML und Java Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.de XML und Programmiersprachen... Java ist... Programmiersprache

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

Modellgetriebene Softwareentwicklung

Modellgetriebene Softwareentwicklung Modellgetriebene Softwareentwicklung 30.10.2008 Dr. Georg Pietrek, itemis AG Inhalt Wer ist itemis? Modellgetriebene Entwicklung Ein Praxis-Beispiel Fazit 2 Vorstellung IT-Dienstleister Software-Entwicklung

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

Java Web Services mit Apache Axis2 Entwickler

Java Web Services mit Apache Axis2 Entwickler Thilo Frotscher, Dapeng Wang, Marc Teufel Java Web Services mit Apache Axis2 Entwickler Vorwort 15 1 Einleitung 25 1.1 Entstehung 26 1.2 Unterstützte Standards 28 1.3 Was beinhaltet Axis2? 29 1.4 Warum

Mehr

Konzeption und Realisierung eines logikbasierten Anfragewerkzeugs für UML-Modelle

Konzeption und Realisierung eines logikbasierten Anfragewerkzeugs für UML-Modelle Konzeption und Realisierung eines logikbasierten Anfragewerkzeugs für UML-Modelle Doktoranden-, Diplomandenseminar, Institut für Informatik, TU Clausthal 23. Juni 2009 Motivation: Modelle werden in der

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

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

Diplomarbeit. Die Entwicklung eines webbasierten Warenwirtschaftssystems mit dem postrelationalen Datenbanksystem Caché der Firma Intersystems

Diplomarbeit. Die Entwicklung eines webbasierten Warenwirtschaftssystems mit dem postrelationalen Datenbanksystem Caché der Firma Intersystems Diplomarbeit an der Private Fernfachhochschule Darmstadt Fachbereich Informatik Die Entwicklung eines webbasierten Warenwirtschaftssystems mit dem postrelationalen Datenbanksystem Caché der Firma Intersystems

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

Modul Software Komponenten 10 Komponentenarchitektur

Modul Software Komponenten 10 Komponentenarchitektur Modul Software Komponenten 10 Komponentenarchitektur Teil 3 Peter Sollberger Eine erste CORBA Anwendung Inhalt Dienstag, 4. November Object Request Broker CORBA Architektur und Komponenten (Teil 1) Übung:

Mehr

Modellgetriebene Softwareentwicklung von mobilen Anwendungen. Gabriele Taentzer WS 2014/15 Philipps-Universität Marburg

Modellgetriebene Softwareentwicklung von mobilen Anwendungen. Gabriele Taentzer WS 2014/15 Philipps-Universität Marburg Modellgetriebene Softwareentwicklung von mobilen Anwendungen WS 2014/15 Philipps-Universität Marburg Organisation der LV Umfang: 6 SWS, 9 ECTS Punkte Veranstalter:, Daniel Strüber, Steffen Vaupel Kontakt:

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

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

Inhaltsverzeichnis. Gernot Starke. Effektive Softwarearchitekturen. Ein praktischer Leitfaden ISBN: 978-3-446-42728-0

Inhaltsverzeichnis. Gernot Starke. Effektive Softwarearchitekturen. Ein praktischer Leitfaden ISBN: 978-3-446-42728-0 sverzeichnis Gernot Starke Effektive Softwarearchitekturen Ein praktischer Leitfaden ISBN: 978-3-446-42728-0 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42728-0 sowie im

Mehr

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht.

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht. Technisches Design Inhalt Design Übersicht Menü und DispatcherServlet DWR Servlet Viewer Servlets Controllers Managers Sicherheit Anwendung Architektur Component Diagram Deployment Diagram Komponente Sequence

Mehr

Inhaltsverzeichnis Vorwort Konzepte des Active Directory

Inhaltsverzeichnis Vorwort Konzepte des Active Directory Vorwort.................................................................. XI Warum dieses Buch.................................................... XI Kapitelübersicht.......................................................

Mehr

Bestandsschutzliste zur erweiterten Klassifizierung von Standards

Bestandsschutzliste zur erweiterten Klassifizierung von Standards Bestandsschutzliste zur erweiterten Klassifizierung von Standards Standards werden in die Bestandsschutzliste aufgenommen, wenn sie in der aktuellen SAGA- Version nicht mehr geführt, in einer vorangegangenen

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

PLATTFORMÜBERGREIFENDE ENTWICKLUNG MITHILFE MODELLGETRIEBENER METHODEN UND TECHNOLOGIEN

PLATTFORMÜBERGREIFENDE ENTWICKLUNG MITHILFE MODELLGETRIEBENER METHODEN UND TECHNOLOGIEN PLATTFORMÜBERGREIFENDE ENTWICKLUNG MITHILFE MODELLGETRIEBENER METHODEN UND TECHNOLOGIEN Mathias Slawik, WI (M), 3. FS Aktuelle Themen der Wirtschaftsinformatik, HTW Berlin, WS 10/11 Gliederung 2 Methode

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

Web Service Entwicklung mit Java. Sven Lindow

Web Service Entwicklung mit Java. Sven Lindow Web Service Entwicklung mit Java Sven Lindow 22.11.2006 Agenda Einleitung SOAP, REST, WSDL, UDDI Web Services mit Java JWSDP JAX-RPC, JAX-WS 2.0 AXIS, AXIS2 Web Services nutzen Google, Ebay Web Services

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

Liste der Handbücher. Liste der Benutzerhandbücher von MEGA

Liste der Handbücher. Liste der Benutzerhandbücher von MEGA Liste der Handbücher Liste der Benutzerhandbücher von MEGA MEGA 2009 SP4 1. Ausgabe (Juni 2010) Die in diesem Dokument enthaltenen Informationen können jederzeit ohne vorherige Ankündigung geändert werden

Mehr

Fertigprodukte. Bruno Blumenthal und Roger Meyer. 18. Juli 2003. Zusammenfassung

Fertigprodukte. Bruno Blumenthal und Roger Meyer. 18. Juli 2003. Zusammenfassung Fertigprodukte Bruno Blumenthal und Roger Meyer 18. Juli 2003 Zusammenfassung Dieses Dokument beschreibt die Fertigprodukte welche im Projekt NetWACS eingesetzt werden sollen. Es soll als Übersicht dienen

Mehr

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221 Oracle 10g und SQL Server 2005 ein Vergleich Thomas Wächtler 39221 Inhalt 1. Einführung 2. Architektur SQL Server 2005 1. SQLOS 2. Relational Engine 3. Protocol Layer 3. Services 1. Replication 2. Reporting

Mehr

UML 2.0 Quelltextgenerierung

UML 2.0 Quelltextgenerierung UML 2.0 Quelltextgenerierung Seminararbeit im Fach Informatik im Rahmen des Seminars Sicherheitskritische Systeme an der Universität Siegen, Fachgruppe für Praktische Informatik eingereicht bei Dr. Jörg

Mehr

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

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Ziele Common Object Request Broker Architecture CORBA Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Object Management Group Spezifiziert den CORBA-Standard

Mehr

Managed VPSv3 Was ist neu?

Managed VPSv3 Was ist neu? Managed VPSv3 Was ist neu? Copyright 2006 VERIO Europe Seite 1 1 EINFÜHRUNG 3 1.1 Inhalt 3 2 WAS IST NEU? 4 2.1 Speicherplatz 4 2.2 Betriebssystem 4 2.3 Dateisystem 4 2.4 Wichtige Services 5 2.5 Programme

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

TUDOOR - Ein Java Adapter für Telelogic DOORS

TUDOOR - Ein Java Adapter für Telelogic DOORS TUDOOR - Ein Java Adapter für Telelogic DOORS Jae-Won Choi, Anna Trögel, Ingo Stürmer Model Engineering Solutions GmbH Abstract: Im Bereich des Requirements Engineering hat sich DOORS der Firma Telelogic

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

» Webbasierte Informationssysteme Einführung

» Webbasierte Informationssysteme Einführung » Webbasierte Informationssysteme Einführung Integriertes Seminar AG DBIS 25. Juni 2004 Golo Haas webmaster@golohaas.de» Folie 1 von 30 » Überblick» W as sind webbasierte Informationssysteme?» W elche

Mehr

Middleware. Host. Versuch einer Einleitung. dumme Terminals stellen Ausgaben dar und nehmen Eingaben an

Middleware. Host. Versuch einer Einleitung. dumme Terminals stellen Ausgaben dar und nehmen Eingaben an Middleware Versuch einer Einleitung Host dumme Terminals stellen Ausgaben dar und nehmen Eingaben an Mainframe enthält vollständige Anwendung Typ. COBOL, C Mainframe contd.! Nachteile! Mainframe ist teuer

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

-Testen verteilter Anwendungen

-Testen verteilter Anwendungen -Testen verteilter Anwendungen Seminar Simulation und Bildanalyse mit Java im SS04 Konstantin Tjo, Urs Pricking Testen verteilter Anwendungen 1 Übersicht Einführung in verteilte Anwendungen RMI (Remote

Mehr

Mehmet-Oktay Tugan Gliederung Grundsätzliches und Begriffserklärung Einleitung Geschichte Architektur Funktionalitätsumfang Hauptunterstützungen Zusammenfassung Grundsätzliches WebSphere ist ein Entwicklungstool

Mehr

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten Aktuelle Themen der Wirtschaftsinformatik Zusammenfassung 09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten 1 Serverseitige Webprogrammierung

Mehr

Hauptseminar Internetdienste Prof. F. Schweiggert Sommersemester 2004 Universität Ulm. Web Services. Boto Bako

Hauptseminar Internetdienste Prof. F. Schweiggert Sommersemester 2004 Universität Ulm. Web Services. Boto Bako Hauptseminar Internetdienste Prof. F. Schweiggert Sommersemester 2004 Universität Ulm Web Services Boto Bako Inhaltsverzeichnis 1.Einführung und Motivation...3 2.Verwendete Standards...4 2.1.SOAP...5 2.2.WSDL...6

Mehr

Christian Kurz SWT Projekt WS 07/08

Christian Kurz SWT Projekt WS 07/08 Christian Kurz SWT Projekt WS 07/08 1. Allgemeine Aspekte der generativen GUI- Entwicklung 2. Entwicklung mit Hilfe von GUI-Designern 3. Entwicklung mit Hilfe deklarativer GUI- Sprachen 4. Modellgetriebene

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

Sun ONE. Sun Open Net Environment. Architektur für Web-Services on Demand. Dr. Rainer Eschrich rainer.eschrich@sun.com

Sun ONE. Sun Open Net Environment. Architektur für Web-Services on Demand. Dr. Rainer Eschrich rainer.eschrich@sun.com Sun ONE Sun Open Net Environment Dr. Rainer Eschrich rainer.eschrich@sun.com Architektur für Web-Services on Demand Sun ONE Vision Wie kann Software dem Kunden helfen? Kostenreduktion: Wie? In dem man

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

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

Das Interceptor Muster

Das Interceptor Muster Das Interceptor Muster Implementierung des Interceptor Musters basierend auf OSGi and Friends Benjamin Friedrich Hochschule für Technik und Wirtschaft des Saarlandes Praktische Informatik - Entwurfsmuster

Mehr

Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung

Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung IBM WebSphere Process Server Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung AGENDA 1. Überblick 2. WebSphere Process Server 3. Komponenten 4. Präsentation

Mehr

IT- und Medientechnik

IT- und Medientechnik IT- und Medientechnik Vorlesung 11: 19.12.2014 Wintersemester 2014/2015 h_da, Lehrbeauftragter Themenübersicht der Vorlesung Hard- und Software Hardware: CPU, Speicher, Bus, I/O,... Software: System-,

Mehr

Web Services: Inhalt

Web Services: Inhalt Web Services Fachseminar Verteilte Systeme 8. April 2002 - Marco Steiner Assistent: Thomas Schoch Professor: Dr. F. Mattern Web Services: Inhalt Bedeutung Gegenwart Architektur SOAP WSDL UDDI Vergleich

Mehr

J2EEKurs. J2EE eine Plattform für betriebliche Anwendungen. Peter Thiemann. Sommercampus J2EEKurs, Freiburg, Germany, 10.-14.10.

J2EEKurs. J2EE eine Plattform für betriebliche Anwendungen. Peter Thiemann. Sommercampus J2EEKurs, Freiburg, Germany, 10.-14.10. J2EE eine Plattform für betriebliche Anwendungen Universität Freiburg, Germany Sommercampus, Freiburg, Germany, 10.-14.10.2005 Plattform Betriebliche Anwendung J2EE Kontrahenten J2EE im Überblick Was ist

Mehr

... Einleitung... 15. 3... Prozessintegration und Integrationsszenarien... 127 3.1... Integrationsszenariomodelle... 128

... Einleitung... 15. 3... Prozessintegration und Integrationsszenarien... 127 3.1... Integrationsszenariomodelle... 128 ... Einleitung... 15 1... Grundlagen der Modellierung von Enterprise Services... 23 1.1... Serviceorientierte Architekturen... 26 1.1.1... Merkmale serviceorientierter Architekturen... 27 1.1.2... SOA

Mehr

Der Java Server beinhaltet Container für EJB, Servlet und JSP, darüber hinaus unterstützt er diejee 1.3 Version.

Der Java Server beinhaltet Container für EJB, Servlet und JSP, darüber hinaus unterstützt er diejee 1.3 Version. hehuvlfkw Oracle 9iApplication Server (9iAS) fasst in einem einzigen integrierten Produkt alle Middleware-Funktionen zusammen, die bisher nur mit mehreren Produkten unterschiedlicher Anbieter erreicht

Mehr

Softwaretechnik (Medieninformatik) Überblick: 6. Objektorientiertes Design

Softwaretechnik (Medieninformatik) Überblick: 6. Objektorientiertes Design Softwaretechnik (Medieninformatik) Überblick: 6.1 Einleitung 6.2 Verfeinerung des Klassenmodells 6.3 Sequenzdiagramme 6.4 Umsetzung der Analysekonstrukte in das Design 6.5 Fallstudie 6.6 Software Kontrakte

Mehr

Übungen zur Softwaretechnik

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

Mehr

Enterprise Java Beans Einführung

Enterprise Java Beans Einführung Enterprise Java Beans Einführung Vorlesung 8 Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht EJBs im JEE Umfeld Verschiedene Typen von EJBs Von der Javaklasse

Mehr

Software-Engineering in der Servicerobotik Der Weg zum modellgetriebenen Softwareentwurf

Software-Engineering in der Servicerobotik Der Weg zum modellgetriebenen Softwareentwurf Servicerobotik Autonome Mobile Serviceroboter Software-Engineering in der Servicerobotik Der Weg zum modellgetriebenen Softwareentwurf, Dennis Stampfer und Christian Schlegel Institut für Informatik Hochschule

Mehr

Seminarvortrag Ontologien im Software Engineering. Markus Luczak

Seminarvortrag Ontologien im Software Engineering. Markus Luczak Seminarvortrag Ontologien im Software Engineering Markus Luczak Übersicht Einleitung Anwendungsgebiete von Ontologien im SE Ontologien im SE State-of-the-Art Zusammenfassung Fazit und Fragestellungen Seminar

Mehr

Browserbasiertes, kollaboratives Whiteboard

Browserbasiertes, kollaboratives Whiteboard WS 2011/12 Bachelorarbeit Browserbasiertes, kollaboratives Whiteboard Sebastian Dorn 1 von 21 Inhalt 1. Motivation 2. Analyse 3. Design 4. Evaluation 5. Fazit Inhalt 2 von 21 Motivation Zusammenarbeit

Mehr

5. Übung zur Vorlesung Service-orientierte Architekturen

5. Übung zur Vorlesung Service-orientierte Architekturen 5. Übung zur Vorlesung Service-orientierte Architekturen Webservices und WSDL SoSe 2011 Anmerkung Hausaufgabe 03 BPMN Auch hier gilt: Layout! Zu Unterschieden zw. BPMN und eepk Relative Aussagen sind geschickter

Mehr

Modellgetriebene Entwicklung von grafischen Benutzerschnittstellen

Modellgetriebene Entwicklung von grafischen Benutzerschnittstellen Modellgetriebene Entwicklung von grafischen Benutzerschnittstellen Stefan Link, Thomas Schuster, Philip Hoyer, Sebastian Abeck Institut für Telematik, Fakultät für Informatik Universität Karlsruhe (TH)

Mehr

Empfehlungen für erfolgreiche ADF-Projekte. Volker Linz Oracle Deutschland B.V. & Co. KG

Empfehlungen für erfolgreiche ADF-Projekte. Volker Linz Oracle Deutschland B.V. & Co. KG Empfehlungen für erfolgreiche ADF-Projekte Volker Linz Oracle Deutschland B.V. & Co. KG Empfehlungen für erfolgreiche ADF-Projekte Architektur & Design Team & Skills Organisation & Entwicklungsprozess

Mehr

3 Anwendungsarchitektur und Entwicklungsumgebung

3 Anwendungsarchitektur und Entwicklungsumgebung 21 3 Anwendungsarchitektur und Bei den Entwicklern von Web-basierten Dialogsystemen hat sich im Laufe der Zeit eine Vorgehensweise im Design von Anwendungen entwickelt, dies es ermöglicht, flexible Web-Dialoge

Mehr