Konzeption und Implementierung des Sicherheitskonzepts in einem Net Business Tool

Größe: px
Ab Seite anzeigen:

Download "Konzeption und Implementierung des Sicherheitskonzepts in einem Net Business Tool"

Transkript

1 Technische Universität Berlin Fakultät IV: Elektrotechnik und Informatik INSTITUT FÜR WIRTSCHAFTSINFORMATIK FACHGEBIET SYSTEMANALYSE UND EDV Diplomarbeit Wintersemester 2004/2005 Konzeption und Implementierung des Sicherheitskonzepts in einem Net Business Tool Verfasser: Bassem El-Ahmad MatrikelNr: Studiengang: Technische Informatik letzte Änderung: 3. Januar 2005 Gutachter: Betreuer: Prof. Dr. Krallman Dipl.-Kfm. Marian Scherz

2 Die selbständige und eigenhändige Anfertigung versichere ich an Eides statt. Berlin,den 3. Januar 2005 Unterschrift

3 Danksagung Ich möchte mich bei allen bedanken, die mich während meines Studiums unterstützt haben, besonders bei meinem Diplomarbeitsbetreuer Dipl.-Kfm. Marian Scherz, der viel Geduld aufbringen mußte. Mein größter Dank gilt meiner Mutter, die mir das Studium ermöglicht und mich auch zu jeder Zeit unterstützt hat. 3

4 Inhalt 1. Einleitung Gliederung der Arbeit Einleitung zum Net Business Tool Hintergrund zum Sicherheitskonzept Zweck des Sicherheitskonzepts Anforderungen an Benutzer des Admin Tools Modellierung und Entwurf Einführung UML Modellierung Anwendungsfalldiagramm Klassendiagramm Sequenzdiagramm Aktivitätsdiagramm Datenbank Schema Angewandte Technologien Enterprise JavaBeans Der EJB-Server Der EJB-Container Das EJBHome-Interface Das EJBObjekt-Interface Enterprise JavaBeans Typen Session Beans Der Zugriff auf eine Session-Bean

5 Entity Beans Java Servlets Java Server Pages Elemente einer JSP-Seite Direktiven Aktionen Scripting Elemente Implizite Objekte einer JSP Seite Gültigkeitsbereiche von Objekten Beans Tag-Extensions Zusammenfassung Code Generation mit XDoclet Was ist XDoclet? XDoclet und J2EE Beispiel EJB mit XDoclet Fazit JBoss Application Server Deployment unter JBoss Implementierung UsersBean GroupsBean PagesBean Anbindung an die Datenbank Admin Tool Web-Interface Admin Tool Benutzerhandbuch Authentifizierung User Verwaltung List all user Create user Reset password Update User Delete user Show user groups

6 6.3. Groups verwalten List all groups Create group Add user to group Delete group Delete user from group Add sub-group Delete sub-group PLP Security A. Anhang 75 A.1. GroupsBean.Java A.2. UsersBean A.3. PagesBean Literaturverzeichnis 125 6

7 Abbildungsverzeichnis 3.1. Admin Tool UML Anwendungsfalldiagramm Admin Tool Klassendiagramm Die unterschiedlichen Datenbank Tabellen Die EJB-Architektur Die Beziehung Zwischen EJB-Server und EJB-Container Client-Schnittstelle einer EJB EJB-Typen in EJB-Version Zugriff auf eine Session-Bean Die verschiedenen Stufen bei der Ausführung eines Servlets Die verschiedenen Stufen bei der Ausführung eines Servlets XDoclet Ablauf Die Hauptpackages UsersBean GroupsBean PagesBean Web infterface Authentifizierung Prozess Login Page Hauptansicht Liste aller verfuegbaren User Create new user Update user Delete user List All Gropus

8 6.9. Add new group Delete group PLP Security Panel PLP Managegroups

9 Tabellenverzeichnis 4.1. Implizite Objekte einer JSP-Seite Gültigkeitsbereiche von Objekten einer JSP-Seite

10 1. Einleitung Diese Arbeit handelt von einem Admin Tool für die Realisierung eines Sicherheitskonzeptes für das NBT 1. Zur Realisierung gehört unter anderem die Integration in das vorhandene PLP 2 Tool. Weiterhin wird eine Webanwendung mit JSP s und EJB ermöglicht. Mit Hilfe vom NBT Tool werden die Benutzer in Gruppen verwaltet und ihnen bestimmte Rechte zugewiesen. Es gibt drei Arten von Benutzern (Admin User, Group User und Guest User). Der Admin User verfügt über alle möglichen Rechte, wie z.b. anlegen, löschen und verändern von Usern und Gruppen. Dagegen hat der Super User weniger Rechte als der Admin User, er darf Veränderungen an den einzelnen Usern vornehmen, sie jedoch nicht löschen. Zuletzt hat der Guest User nur eingeschränkte Möglichkeiten und darf nur seine eigenen Informationen verändern. Das Sicherheitstool stellt bestimmten Usern HTML Elemente im LRP Tool zur Verfügung, dabei ist die Anzeige abhängig vom eingeloggten User in der zugehörigen Gruppe. Demnach werden Elemente angezeigt bzw. versteckt. Das Tool gliedert sich in die drei Hauptbereiche Usermanager, Groupmanager und Pagemanager. Im Usermanager werden alle Funktionalitäten für die Verwaltung der Benutzer implementiert. Der Gruppenmanager untergliedert sich in Groups und Subgroups, dabei werden im Bereich Groups die zugehörigen Rechte der Gruppe auf den User übertragen bzw. ihm entzogen, wenn der User aus der Gruppe ausscheidet, dagegen ist die Subgroup eine Untergruppe von Groups, d.h. sie erbt alle Rechte der Oberklasse Groups. Der Pagemanager wird für die Verwaltung der einzelnen Projekte und HTML Elemente benötigt. Zusätzlich wird eine PostgreSQL-Datenbank zur Verwaltung der Daten aufgebaut. Dafür werden Tabellen für die Bereiche Gruppen, Users und Elemente angelegt. 1 Net Business Tool:http://venus.cs.tu-berlin.de/ 2 PRESENTATION LAYER PRODUCER:http://venus.cs.tu-berlin.de/ 10

11 1.1. Gliederung der Arbeit Gliederung der Arbeit Als erstes werden die Sicherheitsanforderungen and das NBT Admin Tool im Kapitel 2 vorgestellt. Dabei werden die Sicherheitsaspekte für Webapplikationen in den Vordergrund gestellt, diskutiert und analysiert. Dazu werden Anforderungen und Strategien sowie der Ablauf dargestellt. In Kapitel 3 erfolgt eine Kurzbeschreibung der Modellierungssprache UML. Es werden bestimmte Modellierungsmethoden zur Konzeptbeschreibung verwendet. Die verschiedenen Usecases, Klassendiagramme sowie das Datenbankschema kommen durch spezifische Beschreibung zur Geltung. Die einzelnen Diagramme dienen als Bausteine zur Realisierung der Implementierungen. Die angewandten Technologien (EJB, Servlets, JSP, JBOSS und XDoclet) werden in Kapitel 4 beschrieben. Dazu gehört ein kleiner Exkurs in die Technologien, die wiederum auf die Problematik der Diplomarbeit abgestimmt werden. Zusätzlich werden Definitionen und Grundkenntnisse in den einzelnen Technologien erläutert. Weiterhin werden die Möglichkeiten und deren Anwendungsmöglichkeiten untereinander dargestellt und angewendet. Kapitel 5 beshreibt die vollständige Implemtentierung der einzelnen Funktionalitäten, wie z.b. UserBean, GroupBean und PagerBean. In UserBean werden Funktionalitäten zur Verwaltung und Erzeugung von Usern implementiert. Die GroupBean Klasse ermöglicht das Einbinden erzeugter User durch UserBean in verschiedene Gruppen zuzuordnen. Hingegen der Benutzerverwaltungen und Gruppenrechtzuweisungen beschreibt PagerBean die Verwaltung der einzelnen Projekte und HTML Elemente. Die Datenbankkonfiguration, die Interaktion zwischen Servlets und EJB s, die Interaktion zwischen JSP und Servlets und die Realisierung des Web-Interfaces zum Admin Tool werden implementiert. Ein Benutzerhandbuch in Kapitel 6 dient für die Schritt für Schritt Benutzung des Admin Tools, das durch Grafikelemente die Navigation auf der Applikation erleichtert. Auszüge aus der User- und Gruppenverwaltung dienen als Demo.

12 2. Einleitung zum Net Business Tool Das Net Business Tool (NBT) ist ein generisches, komponentenbasiertes, plattformund geräteunabhängiges Framework auf Basis offener Quelltexte (Open Source). Dieses Framework übernimmt die Aufgaben der Komponentenverwaltung und -verteilung. Mit wenigen Operationen können mit dem NBT innerhalb weniger Minuten Webseiten erstellt werden. Der Webgenerator kann dabei an individuelle Anforderungen angepasst werden (Customizing). Ziel des NBT ist die Verschmelzung von Struktur- und Layout innerhalb des HTML- Codes so zu separieren, dass hierarchische Strukturen und logische Abhängigkeiten zwischen den verschiedenen HTML-Objekten definiert werden können. Das NBT verwaltet ein Projekt mit sämtlichen Bestandteilen einer zu erstellenden Website in einer Datenbank. Die Inhalte dieser Tabellen werden beim abschließenden Generierungslauf in XML Befehle übersetzt. Grundgedanke der Software ist die Trennung von Layout und eigentlichem Inhalt (Texte, Bilder, Multimedia, etc.). Das Erstellen von Stylesheets, die im NBT über Bausteine direkt oder als Datei eingebunden werden, gibt eine zusätzliche Möglichkeit, das Webdesign professionell zu gestalten 1. Das NBT soll in Anwendungsbereichen wie Internet- und Intranet-Applikationen, ebusiness sowie Geschäftsautomatisierung als plattformunabhängiges Werkzeug seine Funktionalität zur Verfügung stellen. Zur Umsetzung der Plattformunabhängigkeit ist das NBT in Java geschrieben und benötigt zur Ausführung lediglich eine installierte Java VM und einen Browser, der Java uneingeschränkt unterstützt. 1 Net Business Tool:http://venus.cs.tu-berlin.de/ 12

13 2.1. Hintergrund zum Sicherheitskonzept Hintergrund zum Sicherheitskonzept Immer mehr Anwendungen laufen auf einer Internet basierenden Technik, so auch geschäftskritische Anwendungen. Das Internet stellt jedoch eine offene Plattform dar, so dass der Sicherheitsgedanke fest mit der Anwendung verankert werden muss. Spätestens beim Aufbau Internet basierender Geschäftsmodelle, zum Beispiel (e- Business) oder beim Thema Fernwartung ist die Etablierung stabiler und verifizierbarer Sicherheitskonzepte unumgänglich. Nicht nur, dass der Gesetzgeber heute ein Management der Sicherheit (Risikomanagement) fordert, der Fortbestand einer Unternehmung hängt ganz entscheidend von der Wahrung der Unternehmensgeheimnisse ab. Dies betrifft sowohl Benutzerdaten mit ihren Rechten als auch den Entwicklungsstand von zukünftigen Produkten und Dienstleistungen. Je nach Tätigkeitsfeld sind verschiedene Informationen von unterschiedlicher Wichtigkeit und Bedeutung. Grundlage für eine Webanwendung bzw. Security-Lösung ist eine Risikoanalyse, in der mögliche Schwachstellen und Bedrohungen untersucht werden und wie mögliche Angriffe darauf gestartet werden können. Nach der Bewertung, welchen Schaden diese Angriffe anrichten können, werden geeignete Präventivmaßnahmen untersucht. Ausgehend von dieser Risikoanalyse, wird festgestellt, welche Sicherheitsmängel bestehen und welche Gefahren daraus entstehen können Zweck des Sicherheitskonzepts Sicherheitsaspekte spielen eine zentrale Rolle in Webapplikationen. Als Grundlage für ebusiness-strategien muss sichergestellt werden, dass Informationen nicht jedem zugänglich sind, d.h. nicht jeder Benutzer ist befugt jede Information zu erhalten. Daher müssen Einschränkungen vorgenommen werden um die Sicherheit und Privatsphäre jedes einzelnen zu schützen und zu garantieren Anforderungen an Benutzer des Admin Tools Das Sicherheitskonzept innerhalb des Admin Tools muss die Verwaltung und Separierung der Informationen gewährleisten. Dabei werden bestimmte Zugriffsrechte den Usern durch Gliederung in bestimmten Gruppen auferlegt. Nicht jeder User hat

14 2.3. Anforderungen an Benutzer des Admin Tools 14 damit die Möglichkeiten bestimmte Elemente sowie Projekte zusehen, d.h. der bestimmte User sieht nur für ihn zugelassene Elemente. Die einzelnen User können ihre eigenen Daten ändern, aber sich nicht aus der Datenbank löschen. Hingegen diesen Bestimmungen darf der Admin alle Operationen für einen User vornehmen und den Benutzer somit aus der Datenbank löschen, verändern oder neu anlegen. Die Gliederung der User in einzelne Gruppen ermöglicht ihnen bestimmte Funktionalitäten auszuführen. Es gibt drei Arten von Usergruppen (Admingroup, Supergroup, Anonymousgroup). Die Admingruppe verfügt über alle Rechte im Tool. Dagegen verfügt ein Supergroup User über mehr Rechte als ein Guest bzw. Anonymous User. Jedoch können die User nur bestimmte Elemente bzw. Projekte sehen, die im Verbund mit ihnen stehen.

15 3. Modellierung und Entwurf 3.1. Einführung Die Unified Modelling Language (UML) hat sich in den letzten Jahren als standardisierte Modellierungssprache fuer Softwareprodukte durchgesetzt. Die Darstellung und Modellierung erfolgt mit verschiedenen Diagrammen, die unterschiedliche Aspekte des Systems beleuchten. 1 Diese sind beispielsweise die gewuenschten Anwendungsfaelle (sogenannte use cases), Klassendiagramme (classdiagrams) oder Sequenzdiagramme (sequence diagrams). Letztere beschreiben die Kommunikation verschiedenener Klassen untereinander. Ein UML-Modell besteht aus mehreren dieser Diagramme, die in ihrer Gesamtheit ein Softwareprodukt möglichst vollständig modellieren sollen. 2 Die Erstellung solcher Dokumente geschieht meist mit Softwareentwicklungswerkzeugen (engl. CASE-Tools). Bekannte Vertreter sind hier Rational Rose 3 und Together ControlCenter 4. Diese Werkzeuge dienen meist nicht nur zur Erstellung der Diagramme, sondern helfen dem Softwareentwickler auch bei der Erstellung des Sourcecodes und der Dokumentation. Viele CASE-Tools bieten inzwischen das sogenannte Roundtrip-Engineering. Darunter versteht man die Möglichkeit, sowohl mit Diagrammen als auch mit dem eigentlichen Sourcecode zu arbeiten. 5 Änderungen in einem der beiden Teile werden automatisch im anderen Teil nachgeführt. Dabei ist die Generierung von Diagrammen aus bereits bestehendem Sourcecode ebenfalls möglich. Diese Werkzeuge entwickeln sich zunehmend zu Werkzeugen für den gesamten Softwareentwicklungszyklus. So 1 Alhir (2003) 2 Eine recht umfangreiche Übersicht findet sich unter Balzert (2001) 15

16 3.2. UML Modellierung 16 gibt es Programme, die automatisch Tests durchführen können und aus Testlaeufen Sequenzdiagramme erzeugen. Selten wird ein Softwareprodukt nur von einer Person entworfen und programmiert. Die Arbeit in Entwicklungsteams stellt somit den Regelfall dar. Softwareentwicklungswerkzeuge bieten auch hier einige Hilfswerkzeuge zur Teamarbeit an, die das gemeinsame Arbeiten an Dokumenten ermöglichen. Dazu gehört neben der Verwaltung von Revisionen und Varianten auch das Softwarekonfigurationsmanagement. Eine Vielzahl der Softwareentwicklungsprozesse arbeiten iterativ. Diese Iterationen können dabei verschiedene Formen annehmen, auch eine Ueberlappung ist moeglich. Es lässt sich jedoch allgemein feststellen, dass die ständige Überarbeitung und Korrektur der Entwurfsdokumente und Sourcecodes eine Vielzahl von verschiedenen Versionen produziert. Betrachtet man zusätzlich die Möglichkeit aus vorhandenen Programmen Diagramme generieren zu können (durch Reverse- Engineering oder Testläufe), so nimmt die Anzahl der Diagramme weiter zu. Diese Diagramme beinhalten viele wertvolle Informationen über den Entwicklungsprozess UML Modellierung 1. Was ist die UML? Unified Modelling Language ist eine Sprache zur Spezifikation, Visualisierung, Konstruktion und Dokumentation von Modellen für Softwaresysteme, Geschäftsmodelle und andere Nicht-Softwaresysteme. Sie bietet den Entwicklern die Möglichkeit, den Entwurf und die Entwicklung von Softwaremodellen auf einheitlicher Basis zu diskutieren. Die UML wird seit 1998 als Standard angesehen. 6 Sie lag und liegt weiterhin bei der Object Management Group (OMG) zur Standardisierung vor. 2. Wer steht hinter der UML? Entwickelt wurde die UML von Grady Boch, Ivar Jacobsen und Jim Rumbaugh von RATIONAL ROSE SOFTWARE. Sie kombinierten die besten Ideen objektorientierter Entwicklungsmethoden und schufen daraus UML. Viele führende Unternehmen der Computerbranche (Microsoft, Oracle, Hewlett- 6 Objektorientierter Softwareentwurf mit UML Bannert:1999

17 3.2. UML Modellierung 17 Packard,...) wirkten aktiv an der Entwicklung mit und unterstützen die UML. 3. Warum ist die UML keine Methode? Die UML ist keine Methode. Sie ist lediglich ein Satz von Notationen zur Formung einer allgemeinen Sprache zur Softwareentwicklung. Eine Methode beinhaltet Empfehlungen zur Vorgehensweise bei Entwicklungsprozessen. Um UML erfolgreich zu nutzen, ist es notwendig eine passende Methode zu entwickeln, die die UML unterstützt. 7 Die Modellelemente der UML werden nach Diagrammtypen gegliedert: Anwendungsfalldiagramm Klassendiagramm Aktivitätsdiagramm Kollaborationsdiagramm Sequenzdiagramm Zustandsdiagramm Komponentendiagramm Einsatzdiagramm Anwendungsfalldiagramm Definition: Ein Anwendungsfalldiagramm besteht aus einer Menge von Anwendungsfällen und stellt die Beziehungen zwischen Akteuren und Anwendungsfällen dar. Es zeigt das äußerlich erkennbare Systemverhalten aus der Sicht eines Anwenders. 7 Alhir (2003)

18 3.2. UML Modellierung 18 Abbildung 3.1.: Admin Tool UML Anwendungsfalldiagramm Beschreibung: Ein Anwendungsfalldiagramm beschreibt die Zusammenhänge zwischen verschiedenen Anwendungsfällen untereinander und zwischen Anwendungsfällen und den beteiligten Akteuren. Es zeigt die Struktur und Zusammenhänge von verschiedenen Geschäftsvorfällen und wie mit ihnen verfahren wird. Die drei wichtigsten Akteure im Admin Tool sind Guest, Super und Admin User. Abbildung 3.1 beschreibt die Interaktionen zwischen den verschiedenen Anwendungsfällen Klassendiagramm Definition: Eine Klasse ist eine Menge von Objekten, in der die Eigenschaften (Attribute), Operationen und die Semantik der Objekte definiert werden. Alle Objekte einer Klasse entsprechen dieser Festlegung.

19 3.2. UML Modellierung 19 Abbildung 3.2.: Admin Tool Klassendiagramm

20 3.2. UML Modellierung 20 Beschreibung: Eine Klasse ist eine Zusammenfassung gleichartiger Objekte. Objekte sind die agierenden Grundelemente einer Anwendung. Die Gleichartigkeit bezieht sich auf Eigenschaften (Attribute) und/oder auf Fähigkeiten (Operationen/Methoden) der Objekte einer Klasse. Eine Klasse enthält gewissermaßen die Konstruktionsbeschreibung für Objekte die mit ihr erzeugt werden. Das Verhalten der Objekte wird durch die Möglichkeit eines Objektes Nachrichten zu empfangen und zu verstehen beschrieben. Dazu benötigt das Objekt bestimmte Operationen. Die Begriffe Operation und Nachricht sollten nicht synonym verwendet werden. Zusätzlich zu Eigenschaften und Fähigkeiten kann eine Klasse auch Definitionen von Zusicherungen, Merkmalen und Stereotypen enthalten. Das NBT Admin Tool besteht aus verschiedenen Klassen, die drei wichtigsten Klassen sind: UsersBean, GroupsBean und PagesBean. Abbilldung 3.2 beschreibt die Relatation zwischen den verschiedenen Klassen Sequenzdiagramm Definition: Das Sequenzdiagramm beschreibt die zeitliche Abfolge von Interaktionen zwischen einer Menge von Objekten innerhalb eines zeitlich begrenzten Kontextes. Beschreibung Mittels des Sequenzdiagrammes beschreibt man die Interaktionen zwischen den Modellelementen ähnlich wie bei einem Kollaborationsdiagramm, jedoch steht beim Sequenzdiagramm der zeitliche Verlauf des Nachrichtenaustausches im Vordergrund. Die Zeitlinie verläuft senkrecht von oben nach unten, die Objekte werden durch senkrechte Lebenslinien beschrieben und die gesendeten Nachrichten waagerecht entsprechend ihres zeitlichen Auftretens eingetragen.

21 3.3. Datenbank Schema Aktivitätsdiagramm Definition: In einem Aktivitätsdiagramm werden die Objekte eines Programmes mittels der Aktivitäten, die sie während des Programmablaufes vollführen, beschrieben. Eine Aktivität ist ein einzelner Schritt innerhalb eines Programmablaufes, d.h. ein spezieller Zustand eines Modellelementes, eine interne Aktion sowie eine oder mehrere von ihm ausgehende Transitionen enthält. Gehen mehrere Transitionen von der Aktivität aus, so müssen diese mittels Bedingungen voneinander zu entscheiden sein. Somit gilt ein Aktivitätsdiagramm als Sonderform eines Zustandsdiagrammes, dessen Zustände der Modellelemente in der Mehrzahl als Aktivitäten definiert sind. 8 Beschreibung: In einem Programmablauf durchläuft ein Modellelement eine Vielzahl von Aktivitäten, d.h. Zuständen, die eine interne Aktion und mindestens eine daraus resultierende Transition enthält. Die ausgehende Transition impliziert den Abschluss der Aktion und den Übergang des Modellelementes in einen neuen Zustand bzw. eine neue Aktivität. Diese Aktivitäten können in ein Zustandsdiagramm integriert werden oder besser aber in einem eigenen Aktivitätsdiagramm visualisiert werden. Ein Aktivitätsdiagramm ähnelt in gewisser Weise einem prozeduralem Flußdiagramm, jedoch sind alle Aktivitäten eindeutig Objekten zugeordnet, d.h. sie sind entweder einer Klasse, einer Operation oder einem Anwendungsfall eindeutig untergeordnet Datenbank Schema Eine logische Beschreibung von Daten, die in einer Datenbank gespeichert sind. Das Schema definiert nicht nur die Namen der einzelnen Daten, ihre Größe und andere Charakteristiken, sondern identifiziert auch die Beziehung zwischen den Daten. 9 Das DB-Schema wurde so geplant, daß man neue Users, Groups, HTML Elemente und Pages hinzufügen kann, ohne daß man etwas am Quellcode der Komponenten 8 Sams (1999) 9 Turner (March 27, 2002)

22 3.3. Datenbank Schema 22 Abbildung 3.3.: Die unterschiedlichen Datenbank Tabellen ändern muß. Die Datenbank wurde in einer Postgre-Datenbank 10 realisiert. Dazu gibt es eine Tabelle Users mit den Attributen (Uid, Username, Realname, , Password), eine Tabelle Groups und deren Attributen (Gid, Groupname, Groupdescription, Groupowner), eine Tabelle sub-groups mit den Attributen (Users, Groups), eine Tabelle groups-user mit den Attributen (Gid, Uid), eine Tabelle elementgroups mit den Attributen (Gid, Pid, Eid). eine Tabelle projects-users mit den Attributen (Users, Projects). Für jeden Typ existiert dann eine eigene Tabelle mit den angegebenen Attributen, in der die eigentlichen Daten gespeichert werden. Abbildung 3.3 stellt Alle NBT Admin Tool benötigen Tabellen dar. 10

23 4. Angewandte Technologien 4.1. Enterprise JavaBeans Um Enterprise JavaBeans (EJB) effektiv verwenden zu können, muss man die EJB- Architektur verstehen (siehe Abbildung 4.1). Die Enterprise JavaBeans sind Hauptbestandteil der Java2 Enterprise Edition (J2EE). Sie stellen die Komponententechnologie für Applikationsserver mit J2EE dar. Im 1997 wurde die Technologie EJB angekündigt. Im August 2001 wurde die Public Final-Version EJB 2.0 verfügbar, der viele signifikante Erweiterungen und Verbessrungen gegenüber den Vorgängerversionen enthält. Sun Microsystems definiert EJB wie folgt: Die Enterprise JavaBeans Architektur ist eine Komponenten-Architektur für die Entwicklung und Inbetriebnahme Komponenten-basierte Geschäftsanwendung. Applikationen, die unter Verwendung der EJB-Architektur geschrieben werden, sind skalierbar, transaktionsorientiert, und Mehr-benutzer-geeignet. Diese Applikation können einmal geschrieben und dann auf jeder Serverplattform in Betrieb genommen werden, die die EJB-Spezifikation unterstützen Der EJB-Server Eigentlich müsste man von einem J2EE-Server sprechen. Die Strategie von Sun aber bezieht EJB wesentlich stärker in das gesamte Portofolio von Java-basierten Programmierschnittstellen und Produkten ein, als es bislang der Fall war 1.Der EJB-Server stellt Systemdienste für Enterprise-Beans zur Verfügung und verwaltet die Container, in denen die Beans ausgeführt werden. Also der EJB-Server ist eine Laufzeitumgebung für verschiedene Container. 1 (Denninger, 2000) 23

24 4.1. Enterprise JavaBeans 24 Abbildung 4.1.: Die EJB-Architektur Vom EJB-Server wird die Basisfunktionalität bereitgestellt. Dazu gehört: das Thread- und Prozessmanagement, damit mehrere Container parallel auf dem Server ihre Dienste anbieten können die Unterstützung von Clustering und Lastverteilung die Ausfallsicherheit ein Namens- und Verzeichnisdienst, um Komponenten auffinden zu können eine Zugriffsmöglichkeit auf und das Pooling von Betriebssystemressourcen Die Schnittstelle zwischen dem Server und den Containern ist dabei vom Hersteller abhängig. Da ein Standard für dieses Protokoll fehlt, ist nicht sichergestellt, dass der EJB-Container des Herstellers A im Server des Herstellers B betrieben werden kann 2. Der JBOSS- und der WebLogic Application Server sind ein Beispiel für einen solchen Server. 2 (Denninger, 2000)

25 4.1. Enterprise JavaBeans 25 Abbildung 4.2.: Die Beziehung Zwischen EJB-Server und EJB-Container Der EJB-Container Der EJB-Container ist eine Laufzeitumgebung für Enterprise-Beans-Komponenten. Enterprise- Beans wird als Oberbegriff für Session-Beans, Entity-Beans und Messagedriven-Beans (EJB 2.0) verwendet. Eine Enterprise-Bean ist von ihrem EJB-Container abhängig. Genauso ist der EJB-Container auf den Server als Laufzeitumgebung und Dienstanbieter angewiesen. Ein EJB-Server kann viele Container haben, die alle eine oder mehrere Arten von Enterprise-Beans enthalten (siehe Abbildung 4.2). Ein EJB-Container kümmert sich um den gesamten Lebenszyklus der Enterprise- Beans. Dazu gehört das Erzeugen, Lesen, Ändern und Löschen von Enterprise-Beans. Das schließt nicht aus, Die Architektur von Enterprise JavaBeans dass möglichst oft ein Pooling verwendet wird, um die Operationen für Erzeugen und Löschen einzusparen 3. Obwohl Container einen wesentlichen Bestandteil der Enterprise-JavaBeans- Architektur ausmachen, müssen sich Enterprise-Bean-Entwickler und Anwendungs- 3 (Zimmermann, 2000)

26 4.1. Enterprise JavaBeans 26 Abbildung 4.3.: Client-Schnittstelle einer EJB integratoren nicht mit den Containern befassen. In einem verteilten EJB-System sind sie im Hintergrund tätig. Die Spezifikation (EJB 2.0) verpflichtet den EJB- Container dazu, einer Bean zur Laufzeit mindestens folgende Programmierschnittstellen zugänglich zu machen: Java 2 APIs, EJB 2.0, JNDI 1.2, JTA 1.0.1, JMS 1.0.2, JDBC 2.0 und JavaMail 1.1. Dem Anbieter eines Java-Applikationsserver steht es frei zusätzliche Dienste über Standard- Schnittstellen anzubieten Das EJBHome-Interface Es steuert den Lebenszyklus der Bean. Im (EJB)Home-Interface sind die Methoden definiert, die ein Client zum Erstellen, Suchen und Löschen von Instanzen einer Bean verwendet (siehe Abbildung 4.3). Als Bean-Provider muss man das Home-Interface definieren, aber jedoch nicht implementieren. Dies übernimmt der EJB-Container, indem er ein Home-Objekt erstellt, das eine Referenz auf die Bean zurück gibt. Es ist üblich, dem Home-Interface denselben Namen zuzuweisen wie der Bean-Klasse und das Suffix Home anzuhängen. Hat die Bean beispielsweise den Namen Users, sollte der Name des Home-Interfaces

27 4.1. Enterprise JavaBeans 27 für Users UsersHome lauten. Alle Home-Interfaces erweitern das Interface javax.ejb.ejbhome, das wiederum das java.rmi.remote erweitert. Deshalb können alle Methoden des Home-Interfaces die Ausnahme RemoteException auslösen 4. Nachfolgend ist die vollständige Definition vom EJBHome-Interface dargestellt: package login.interfaces; /** * Home interface for Users. at ${TODAY The XDoclet Team XDoclet ${version */ public interface UsersHome extends javax.ejb.ejbhome { public static final String COMP_NAME="java:comp/env/ejb/Users"; public static final String JNDI_NAME="ejbs/Users"; public login.interfaces.users create() throws javax.ejb.createexception,java.rmi.remoteexception; EJBHome verfügt über zwei remove()-methoden zum Entfernen von Enterprise- Bean-Instanzen. Die erste remove()-methode identifiziert die Instanz anhand eines Handles und die zweite anhand eines Primärschlüssels getejbmetadata( ) gibt eine javax.ejb.ejbmetadata-instanz zurück, die das Home-, das Remote- Interface, die Primärschlüsselklasse sowie die Information zurückgibt, ob es sich bei der Bean um eine Session- oder Entity-Bean handelt 5. Mit gethomehandle() kann ein Client sich einen so genannten HomeHandle zum Home-Interface geben 4 (Zimmermann, 2000) 5 (Monson-Haefel, 2000)

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

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

Application Server und Continuous Integration

Application Server und Continuous Integration Application Server und Continuous Integration Outline 2 Einleitung Application Server Java EE Enterprise Applikationen vs. Web Applikationen Web Application Life Cycle Servlets JavaServer Pages verschiedene

Mehr

Web 2.0 Software-Architekturen

Web 2.0 Software-Architekturen Web 2.0 Software-Architekturen Servlets als Controller einer MVC Web Architektur Prof. Dr. Nikolaus Wulff HTTP und HTML Das HyperText TransferProtokoll (HTTP) beschreibt eine einfache verbindungslose Kommunikation,

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

Warum EJB Technologie (1)?

Warum EJB Technologie (1)? Datenbanken und Informationssysteme 2 SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn Datenbanken und Informationssysteme 2 - Prof. Dr. Stefan Böttcher - SS 2004 Folie EJB - 1 Warum EJB Technologie

Mehr

Remote- und Server-Programmierung. Dr. Wolfgang Süß Thorsten Schlachter

Remote- und Server-Programmierung. Dr. Wolfgang Süß Thorsten Schlachter Remote- und Server-Programmierung Dr. Wolfgang Süß Thorsten Schlachter Remote Method Invocation (RMI) Servlets WebServices 2 Remote Method Invocation (RMI) Das Remote Method Invocation (RMI)-Framework

Mehr

J2EEKurs. Enterprise JavaBeans Einführung. Peter Thiemann. Sommercampus J2EEKurs, Freiburg, Germany, 10.-14.10.2005. Universität Freiburg, Germany

J2EEKurs. Enterprise JavaBeans Einführung. Peter Thiemann. Sommercampus J2EEKurs, Freiburg, Germany, 10.-14.10.2005. Universität Freiburg, Germany Enterprise JavaBeans Einführung Universität Freiburg, Germany Sommercampus, Freiburg, Germany, 10.-14.10.2005 Inhalt Allgemeines Motivation Rollen Aufbau einer EJB Arten von Beans Enterprise JavaBeans

Mehr

Programmierung von Client/Server- Anwendungen

Programmierung von Client/Server- Anwendungen Programmierung von Client/Server- Anwendungen Komponenten des Web-Containers (Java EE) SoSe2015 Prof. Dr. Andreas Schmietendorf 1 Übersicht zur Vorlesung Entwicklung der Java Enterprise Edition Servlets,

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

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

Web- Applikationen. in Java-Web

Web- Applikationen. in Java-Web Einführung in Java-Web Web- Applikationen Frank Huber Humboldt-Universität zu Berlin Allgemeines Java: Programmierung ist Programmierung nach Konvention Insbesondere bei Web-Applikationen wurde eine API

Mehr

Schritt 4: Hallo Enterprise Bean

Schritt 4: Hallo Enterprise Bean Prof. Dr. Th. Letschert FB MNI JEE Schritt 4: Hallo Enterprise Bean Einstieg: EJBs erzeugen und nutzen Meine erstes EJB Projekt Enterprise Beans sind eine Backend Technologie, die mit unterschiedlichen

Mehr

ENTWICKLUNGS- UND LAUFZEITUMGEBUNG DER CSE: ECLIPSE UND JBOSS. Piotr Kasprzak

ENTWICKLUNGS- UND LAUFZEITUMGEBUNG DER CSE: ECLIPSE UND JBOSS. Piotr Kasprzak ENTWICKLUNGS- UND LAUFZEITUMGEBUNG DER CSE: ECLIPSE UND JBOSS Piotr Kasprzak Agenda Laufzeitumgebung Java EE (J2EE) Motivation APIs / Technologien JBoss Entwicklungsumgebung Eclipse Ausblick Java EE -

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

11. Enterprise Java Beans Grundlagen der Programmierung II (Java)

11. Enterprise Java Beans Grundlagen der Programmierung II (Java) 11. Enterprise Java Beans Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung

Mehr

A Java EE component is a self-contained functional software unit that is assembled into a Java EE. communicates with other components.

A Java EE component is a self-contained functional software unit that is assembled into a Java EE. communicates with other components. Begriffsdefinitionen Java EE A Java EE component is a self-contained functional software unit that is assembled into a Java EE application with its related classes and files and that communicates with

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

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

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

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

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML) Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

Praktikum Internetprotokolle - POP3

Praktikum Internetprotokolle - POP3 Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik/Rechnernetze 19. Mai 2008 1 Aufgabenstellung Praktikum

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Enterprise Java Beans (EJB)

Enterprise Java Beans (EJB) silbergrau Consulting & Software GmbH Enterprise Java Beans (EJB) Fachhochschule Hagenberg WS 2002 / 2003 Silbergrau Consulting & Software GmbH Dr. Andreas Erlach Inhaltsübersicht Application Server J2EE

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans Enterprise JavaBeans Basics Enterprise JavaBeans (EJB) Enterprise JavaBeans (EJB) Komponenten sind wohl definiert verteilt (MI-based) serverseitig Sie dienen

Mehr

JavaServer Pages. Seminar Medientechnik Prof. Hußmann Vortrag: Wilhelm Lechner 4. 7. 2003. Übersicht

JavaServer Pages. Seminar Medientechnik Prof. Hußmann Vortrag: Wilhelm Lechner 4. 7. 2003. Übersicht JavaServer Pages Seminar Medientechnik Prof. Hußmann Vortrag: Wilhelm Lechner 4. 7. 2003 Übersicht 1. Einführung 2. Lebenszyklus von JSP Seiten 3. JSP-Sprachelemente 4. Aufruf von Webkomponenten 5. Verwendung

Mehr

Fortgeschrittene Servlet- Techniken. Ralf Gitzel ralf_gitzel@hotmail.de

Fortgeschrittene Servlet- Techniken. Ralf Gitzel ralf_gitzel@hotmail.de Fortgeschrittene Servlet- Techniken Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Servlet Initialisierung Attribute und Gültigkeitsbereiche Sessions

Mehr

Enterprise JavaBeans

Enterprise JavaBeans Enterprise JavaBeans Sebastian Pipping 18. Dezember 2006 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License. Teil I J2EE J2EE Was ist J2EE? Was ist J2EE?

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

Variablen manipulieren per JDI

Variablen manipulieren per JDI Variablen manipulieren per JDI Zusammenfassung Jede moderne Java IDE verfügt über eine mächtige und dennoch meist einfach zu bedienende Benutzeroberfläche die das finden von Fehlern in lokalen oder entfernt

Mehr

3. Konzepte der objektorientierten Programmierung

3. Konzepte der objektorientierten Programmierung 3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung

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

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014) Anleitung Ein einfaches RMI-Beispiel (ab Java.0) c Y. Pfeifer (Juni 014) 1 Ein einfaches RMI-Beispiel Vorgehensweise: 1. Java Projekt anlegen. Zwei Packages server & client erstellen Auf der Server-Seite

Mehr

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer) Programmieren I Grundlagen von JAVA Dr. Klaus Höppner Hello World in JAVA Hochschule Darmstadt WS 2007/2008 Elementare Datentypen 1 / 17 2 / 17 Eigenschaften von JAVA Prinzipieller Ablauf Plattform-und

Mehr

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Die Unified Modeling Language Die UML (hier in der Version 0.9) ist ein Satz von Notationen zur Beschreibung objektorientierter Softwaresysteme.

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

Benutzerdokumentation Web-Portal

Benutzerdokumentation Web-Portal GRUPP: SWT0822 Benutzerdokumentation Web-Portal Yet Another Reversi Game Martin Gielow, Stephan Mennicke, Daniel Moos, Christine Schröder, Christine Stüve, Christian Sura 05. Mai 2009 Inhalt 1. Einleitung...3

Mehr

Web-Anwendungsentwicklung mit dem Delivery Server

Web-Anwendungsentwicklung mit dem Delivery Server Web-Anwendungsentwicklung mit dem Delivery Server Java-Framework auf Basis der Open API Bernfried Howe, Webertise Consulting GmbH WEBertise Consulting Dipl. Informatiker (Wirtschaftsinformatik) 2001-2010

Mehr

jetzt lerne ich J2EE Der einfache Einstieg in die Programmierung mit der Java 2 Enterprise Edition THOMAS STARK

jetzt lerne ich J2EE Der einfache Einstieg in die Programmierung mit der Java 2 Enterprise Edition THOMAS STARK jetzt lerne ich J2EE Der einfache Einstieg in die Programmierung mit der Java 2 Enterprise Edition THOMAS STARK Inhaltsverzeichnis jetzt lerne ich Vorwort 17 1 Einleitung 19 1.1 Zentrale Konzepte 20 1.1.1

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

Java zur Realisierung von Internetanwendungen

Java zur Realisierung von Internetanwendungen Java zur Realisierung von Internetanwendungen Elementare Web-Programmierung HTTP Web-Browser Web-Browser GET http://www.zw.fh-kl.de/beispiel.htm Beispiel Ein

Mehr

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Enterprise Edition Teil 4. Schnittstellen

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Enterprise Edition Teil 4. Schnittstellen UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Java Enterprise Edition Teil 4 Schnittstellen el0100 copyright W. G. Spruth, wgs 04-10

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

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

Java Servlet Technology

Java Servlet Technology 0 Java Servlet Technology Seminar Medientechnik Christina Eicher 30. Juni 2003 1 Übersicht: 1. Was ist ein Servlet? 2. Cookies und Sessions 3. Die Servlet-Klassen und das Servlet-Interface 4. Der Servlet-Container

Mehr

Datenbank-basierte Webserver

Datenbank-basierte Webserver Datenbank-basierte Webserver Datenbank-Funktion steht im Vordergrund Web-Schnittstelle für Eingabe, Wartung oder Ausgabe von Daten Datenbank läuft im Hintergrund und liefert Daten für bestimmte Seiten

Mehr

Dynamische Plug-ins mit Eclipse 3. Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org)

Dynamische Plug-ins mit Eclipse 3. Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org) Dynamische Plug-ins mit Eclipse 3 Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org) Überblick Die Ausgangslage Dynamische Plug-ins Warum? Eclipse 3 Die OSGi-basierte

Mehr

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen FAEL-Seminar Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen Prof. Dr. Marc Rennhard Institut für angewandte Informationstechnologie InIT ZHAW Zürcher Hochschule für Angewandte

Mehr

Dynamische Webseiten mit JavaServer Pages (JSP)

Dynamische Webseiten mit JavaServer Pages (JSP) Dynamische Webseiten mit JavaServer Pages (JSP) einige Links: java.sun.com/products/jsp JavaServer Pages java.sun.com/products/servlets Java Servlet Technologie www.micromata.de Schrödinger (Download)

Mehr

Android Kurs Online Kurs Entwicklung auf Android-Handys

Android Kurs Online Kurs Entwicklung auf Android-Handys Android Kurs Online Kurs Entwicklung auf Android-Handys Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses Modul Eins - Programmierung J2ee 1) Grundlegende Java - Programmierung : Grundlegende

Mehr

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

Mufid Sulaiman mufidsulaiman@web.de

Mufid Sulaiman mufidsulaiman@web.de Mufid Sulaiman mufidsulaiman@web.de Überblick Frameworks Applikationsentwicklung mit Frameworks Komponentenbasierte Frameworks Einführung in Enterprise JavaBean Einführung in SanFrancisco Vergleich Enterprise

Mehr

Apache Tomcat. Inhalt. Rechner und Netzarchitektur SS 2003. Einleitung. Architektur

Apache Tomcat. Inhalt. Rechner und Netzarchitektur SS 2003. Einleitung. Architektur Apache Tomcat Rechner und Netzarchitektur SS 2003 Johannes Jabornig Daniel Peintner Inhalt Einleitung Was sind Servlets und JSP Vorteile Architektur Catalina Jasper Konnektoren Installation / Konfiguration

Mehr

Web-Services Implementierung mit Java

Web-Services Implementierung mit Java Web-Services Implementierung mit Java J. Heinzelreiter WS 2004/05 Java-APIs für Web-Services (1) Anwendungs-Code JAXR JAXM JAX-RPC SAAJ SOAP/SwA JWSDL WSDL XML/XML-Schema Web-Services/Java - 2 Java-APIs

Mehr

Von der UML nach C++

Von der UML nach C++ 22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

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

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

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

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

Übungsaufgabe Transaktion als Middleware

Übungsaufgabe Transaktion als Middleware Übungsaufgabe Transaktion als Middleware und Java Persistence API Client/Server Abstraktes Komponentenmodell Entscheidende Punkte Erweiterung der Invoke-Methode Context-Verwaltung Transaktionsbehandlung

Mehr

Aktuelle Sicherheitsprobleme im Internet

Aktuelle Sicherheitsprobleme im Internet Herbst 2014 Aktuelle Sicherheitsprobleme im Internet Wirtschaftsinformatik: 5. Semester Dozenten: Rainer Telesko / Martin Hüsler Fachhochschule Nordwestschweiz FHNW / Rainer Telesko - Martin Hüsler 1 Inhalt

Mehr

Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000

Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 A. Beschreibung der Projektarbeit. Welche Aufgabe haben Sie im Rahmen der Projektarbeit gelöst? 2. Mit welchen Tools bzw. Programmen (Anwendung,

Mehr

Clustering von Application Servern am Beispiel von JBoss 3.2

Clustering von Application Servern am Beispiel von JBoss 3.2 Clustering von Application Servern am Beispiel von JBoss 3.2 Cluster Workshop iternum GmbH Alexanderstraße 7 60489 Frankfurt/Main www.iternum.com Agenda Clustertechnik allgemein Was ist Clustering? Gründe

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

Java Einführung Methoden in Klassen

Java Einführung Methoden in Klassen Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)

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

Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme

Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme Agenda Mobile Agenten allgemein JADE - Java Agent DEvelopment Framework Anwendungsfall

Mehr

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

Inhalt: Konfiguration: web.xml ; server.xml Workflow: Weiterleitung von Requests Lektion II-IV Lektion V-VI

Inhalt: Konfiguration: web.xml ; server.xml Workflow: Weiterleitung von Requests Lektion II-IV Lektion V-VI Servlet II Inhalt: Konfiguration: web.xml ; server.xml Workflow: Weiterleitung von Requests Lektion II-IV Lektion V-VI 3-1 1. Grundlagen 2. Servlets 3. JSP 4 1.1. JAR Files 4 1.2. TCP/IP, Sockels 4 1.3.

Mehr

G s e a s m a t m ar a ch c i h tek e tur u I und IoC

G s e a s m a t m ar a ch c i h tek e tur u I und IoC Gesamtarchitektur I und IoC Schichten einer Web-Anwendung Initiiert durch J2EE und Spring: Strukturierte Sicht auf UI und Fachlogik (Domäne) Ergibt 5 Schichten: Man unterscheidet Präsentations- und Domänenmodell!

Mehr

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008 PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2007/2008 FB Informatik

Mehr

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

Mehr

Glossarverwaltung GV3

Glossarverwaltung GV3 Glossarverwaltung GV3 Designbeschreibung VQWiki Leszek Kotas Sebastian Knappe Gerrit Mattausch Raimund Rönn 23. Mai 2004 Inhaltsverzeichnis 1 Allgemeines 3 1.1 Kurzcharakteristik.................................

Mehr

JDBC. Allgemeines ODBC. java.sql. Beispiele

JDBC. Allgemeines ODBC. java.sql. Beispiele JDBC Java Data Base Connectivity Programmierschnittstelle für relationale Datenbanken Sammlung von Klassen, welche zum Aufbau einer Verbindung zwischen einem Java-Programm und einer Datenbank dienen Verwendet

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

Der Unified Process ist ein generischer Prozeß zur objektorientierten Software- Erstellung

Der Unified Process ist ein generischer Prozeß zur objektorientierten Software- Erstellung Unified Process Eine Einführung von Hannes Fischer Fischer Software Elfenstr. 64 70567 Stuttgart Deutschland Copyright 2000 Hannes Fischer Unified Process Wie wird heute gearbeitet? Der Unified Process

Mehr

Rhapsody in J Modellierung von Echtzeitsystemen

Rhapsody in J Modellierung von Echtzeitsystemen Rhapsody in J Modellierung von Echtzeitsystemen Tobias Schumacher tobe@uni-paderborn.de Rhapsody in J - Modellierung von Echtzeitsystemen p.1/17 Anspruch des Tools Einsatzbereiche/Features Modellierung

Mehr

Entwicklung einer mobilen webbasierten Anwendung mit Oracle9i Lite Web-to-Go

Entwicklung einer mobilen webbasierten Anwendung mit Oracle9i Lite Web-to-Go Thema Autor Entwicklung einer mobilen webbasierten Anwendung mit Oracle9i Lite Web-to-Go Christian Antognini (christian.antognini@trivadis.com) Art der Information Produktübersicht (Mai 2002) Quelle Trivadis

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

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

FH LU JEE Vorlesung SS 2014. Ralf Gitzel ralf_gitzel@hotmail.de

FH LU JEE Vorlesung SS 2014. Ralf Gitzel ralf_gitzel@hotmail.de FH LU JEE Vorlesung SS 2014 Ralf Gitzel ralf_gitzel@hotmail.de 1 Einführung + Organisatorisches Ralf Gitzel ralf_gitzel@hotmail.de 2 Dozent Dr. Ralf Gitzel Promotion an der Universität Mannheim in Wirtschaftsinformatik

Mehr

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 Software Testing Automatisiert Manuell 100% 70% 1 Überwiegender Teil der Testing Tools fokusiert auf automatisiertes Testen Microsoft

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

Java zur Realisierung von Internetanwendungen

Java zur Realisierung von Internetanwendungen Java zur Realisierung von Internetanwendungen MVC, JSP, Custom und Core Tags Darstellungsschicht Anwendungsschicht Datenschicht Architektur Browser Applikationsserver mit Servlet-Container DB-Server Web2-2

Mehr

Sitzungszustand. Vorläufige Version 309 c 2005 Peter Thiemann

Sitzungszustand. Vorläufige Version 309 c 2005 Peter Thiemann Sitzungszustand Gruppierung von Anfragen zu Sitzungen (Sessions) Klasse HttpServletRequest Methode HttpSession getsession (bool create) liefert aktuelle Sitzungsobjekt Zustand lokal zur Anwendung (ServletContext)

Mehr

Business Process Execution Language. Christian Vollmer Oliver Garbe

Business Process Execution Language. Christian Vollmer <christian.vollmer@udo.edu> Oliver Garbe <oliver.garbe@udo.edu> Business Process Execution Language Christian Vollmer Oliver Garbe Aufbau Was ist BPEL? Wofür ist BPEL gut? Wie funktioniert BPEL? Wie sieht BPEL aus?

Mehr

6 Web Datenbanken. Web Datenbank Anbindungen: Servlets. Applets. JAVA Server Pages. Sprachen: JAVA, PHP, Python,

6 Web Datenbanken. Web Datenbank Anbindungen: Servlets. Applets. JAVA Server Pages. Sprachen: JAVA, PHP, Python, Vorlesung Datenbanken Wintersemester 2007/08 6 Web Datenbanken Web Datenbank Anbindungen: Servlets Applets JAVA Server Pages Sprachen: JAVA, PHP, Python, Prof. Dr. Dietmar Seipel 481 6.1 Web Datenbank

Mehr

Inhalt: Version 1.7.5

Inhalt: Version 1.7.5 Inhalt: Objekte ohne Methoden Objekte mit einfachen Methoden Objekte und Methoden mit Parametern Objekte und Methoden mit Rückgabewert Objekte mit einem Array als Attribut Beziehungen zwischen Objekten

Mehr

Platform as a Service (PaaS) 15.01.2010 Prof. Dr. Ch. Reich

Platform as a Service (PaaS) 15.01.2010 Prof. Dr. Ch. Reich Platform as a Service (PaaS) 15.01.2010 Prof. Dr. Ch. Reich Cloud Computing Deployment Typen: Private cloud Besitzt das Unternehmen Community cloud Gemeinsame Nutzung durch Gemeinschaft Public cloud Öffentliche

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

Active Server Pages. Internetanbindung von Datenbanken. Gliederung. Einführung in ASP. Sessions mit ASP. Datenbankanbindung mit ASP ASP-1

Active Server Pages. Internetanbindung von Datenbanken. Gliederung. Einführung in ASP. Sessions mit ASP. Datenbankanbindung mit ASP ASP-1 Internetanbindung von Datenbanken Active Server Pages ASP-1 Gliederung Einführung in ASP Sessions mit ASP Datenbankanbindung mit ASP Brunner, Fromm, Huppert ASP-2 Einführung in ASP ASP-3 Entwicklung des

Mehr

SE2-10-Entwurfsmuster-2 15

SE2-10-Entwurfsmuster-2 15 Architektur und Skalierbarkeit SE2-10-Entwurfsmuster-2 15 Skalierbarkeit Skalierbarkeit bedeutet die Anpassung einer Software an wachsende Last: Interaktionsfrequenz Nutzerzahl Anpassung durch Hinzufügen

Mehr

JSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel ralf_gitzel@hotmail.de

JSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel ralf_gitzel@hotmail.de JSP Grundlagen JEE Vorlesung Teil 5 Ralf Gitzel ralf_gitzel@hotmail.de 1 Übersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht JSP Konzept Model-View-Controller mit JSPs JSP Expression Language EL Literale

Mehr

Java Technologie im BS2000/OSD

Java Technologie im BS2000/OSD Java Technologie im BS2000/OSD Ausgabe Mai 2010 Seiten 5 Java Technologie im BS2000/OSD Mit der wachsenden Bedeutung der Web-Technologie und der Umstellung der Geschäftsprozesse auf Electronic Commerce

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

Datenbanken: Servlets und JSP

Datenbanken: Servlets und JSP Datenbanken: Servlets und JSP Datenbank-Anwendungen für das Web basieren auf der Client - Server - oder Client - Middleware - Datenbankserver - Architektur. Grundsätzlich zu unterscheiden sind: Client-basierte

Mehr