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

Java 2, Enterprise Edition Einführung und Überblick

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

Mehr

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

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

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

Mehr

Java - Webapplikationen

Java - Webapplikationen Java - Webapplikationen Bestandteile (HTTP,, JSP) Aufbau (Model View Controller) Datenverwaltung (Java Beans, Sessions) Entwicklung (Projektstruktur, Sysdeoplugin für Eclipse) 17. Januar 2006 Jan Hatje

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

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

Der lokale und verteilte Fall

Der lokale und verteilte Fall Lokale Beans Der lokale und verteilte Fall RemoteClient Lokaler Client (JSP) RemoteSession/Entity-Bean Lokale Session/Entity-Bean 2 Lokale Beans Die bisher vorgestellten EJBswaren immer in der Lage auf

Mehr

Servlet-zentrierte Architektur von Web-Anwendungen mit Java Servlets, Java Server Pages (JSPs) und Java Beans

Servlet-zentrierte Architektur von Web-Anwendungen mit Java Servlets, Java Server Pages (JSPs) und Java Beans Projekt Entwicklung verteilter Softwaresysteme mit Web Services SoSe 2008 - Java Server Pages und Servlets - 7. April 2008 Verteilte Systeme und Informationssysteme (VSIS) Department Informatik Universität

Mehr

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel ralf_gitzel@hotmail.de

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel ralf_gitzel@hotmail.de EJB Beispiel JEE Vorlesung 10 Ralf Gitzel ralf_gitzel@hotmail.de 1 Stundenkonzept Gemeinsame Übung Stoff der letzten Stunde wird gemeinsam in einem Beispiel umgesetzt Details werden nochmals erklärt bzw.

Mehr

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging Servlet Debugging Markus Völter, voelter@acm.org, www.voelter.de Bei der Arbeit mit Servlets kommt man recht schnell an den Punkt, an dem man Servlets vernünftig testen oder debuggen will. Mit Hilfe des

Mehr

Praktikum Datenbanken und verteilte Systeme SS Java Server Pages und Servlets -

Praktikum Datenbanken und verteilte Systeme SS Java Server Pages und Servlets - Praktikum Datenbanken und verteilte Systeme SS 2008 - Java Server Pages und Servlets - Verteilte Systeme und Informationssysteme (VSIS) Department Informatik Universität Hamburg Infrastruktur vsispoolx

Mehr

Innovator 11 classix. Enterprise JavaBeans (EJB) für JBuilder. Connect. Alexander Borschet. www.mid.de

Innovator 11 classix. Enterprise JavaBeans (EJB) für JBuilder. Connect. Alexander Borschet. www.mid.de Innovator 11 classix Enterprise JavaBeans (EJB) für JBuilder Alexander Borschet Connect www.mid.de Modellieren und Generieren von Enterprise JavaBeans (EJB) für JBuilder Wozu dient die Anbindung an JBuilder?

Mehr

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Praktikum Datenbanksysteme Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Tomcat-Installation $JAVA_HOME (z.b. /home/dbp00/j2sdk1.4.2) $CATALINA_HOME (/home/dbp00/jakarta-tomcat-4) Skripte zum Start/Stop:

Mehr

Java Server Pages (JSP)

Java Server Pages (JSP) Überblick über Internet-Technologien Server-Technologien Datenbankkopplung Servlets JSP PHP CGI XML+XSL Dokumentsprachen Client-PGM ruft DB-Server Web-Server ruft Datenbankserver HTML+Javascript HTML+Applets

Mehr

Inhaltsverzeichnis. Zusammenfassung Wydler

Inhaltsverzeichnis. Zusammenfassung Wydler Inhaltsverzeichnis 1 Multitier Anwendungen... 2 2 J2EE Komponenten... 2 2.1 J2EE Design Patterns for Performance... 2 2.1.1 Design Patterns... 2 2.1.2 Session Façade... 2 2.1.3 Data Transfer Object (Value

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

Enterprise Java Beans

Enterprise Java Beans Enterprise Java Beans Die hohe Kunst der aromatischen Bohnenmischung oder Replikator: Einmal Kaffee, Brasilia Highland Blend, Heiß Motivation Bean = Komponente Datenbank Zielgruppe Kommerzielle Anwendungen

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

Einführung Servlets. JEE Vorlesung Teil 2. Ralf Gitzel

Einführung Servlets. JEE Vorlesung Teil 2. Ralf Gitzel Einführung Servlets JEE Vorlesung Teil 2 Ralf Gitzel ralf_gitzel@hotmail.de 1 Übersicht Wiederholung Hello World Blick in die Details Servlet Programmierung Potentielle Fehler Lernziele Gruppenübung 2

Mehr

UML (Unified Modelling Language) von Christian Bartl

UML (Unified Modelling Language) von Christian Bartl UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...

Mehr

Java zur Realisierung von Internetanwendungen

Java zur Realisierung von Internetanwendungen Java zur Realisierung von Internetanwendungen Elementare Web-Programmierung Prof. Dr. Bernhard Schiefer HTTP Web-Browser Web-Browser GET http://www.zw.fh-kl.de/beispiel.htm beispiel

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

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

Java Beans Enterprise Java Beans. Eine kurze Einführung in die Welt der Bohnen

Java Beans Enterprise Java Beans. Eine kurze Einführung in die Welt der Bohnen Java Beans Enterprise Java Beans Eine kurze Einführung in die Welt der Bohnen Java Beans Einführung Stefan Sauer Was ist ein Java Bean? Beans sind Komponenten. Einmal schreiben Überall wiederverwerten

Mehr

Java Server Pages 2 und Benutzerdefinierte Tags. Strahil Yordanov

Java Server Pages 2 und Benutzerdefinierte Tags. Strahil Yordanov Java Server Pages 2 und Benutzerdefinierte Tags Strahil Yordanov Überblick Einleitung JSP im Kontext von J2EE JSP2 Benutzerdefinierte Tags Zusammenfassung Einleitung Java Server Pages ist eine Technik

Mehr

6.9 Java Server Pages

6.9 Java Server Pages DocumentCollection dc = db.ftsearch(abfrage); Document d = dc.getfirstdocument(); while (d!= 0) { String Name = db.gettitle(); out.println(name + ""); d = dc.getnextdocument(); catch (NotesException

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

Unified Modeling Language (UML)

Unified Modeling Language (UML) Kirsten Berkenkötter Was ist ein Modell? Warum Modellieren? Warum UML? Viele, viele Diagramme UML am Beispiel Was ist ein Modell? Ein Modell: ist eine abstrakte Repräsentation eines Systems, bzw. ist eine

Mehr

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

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

Mehr

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

Vorlesung Programmieren

Vorlesung Programmieren 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

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

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

Programmieren II. Remote-Programmierung. www.kit.edu. Institut für Angewandte Informatik

Programmieren II. Remote-Programmierung. www.kit.edu. Institut für Angewandte Informatik Programmieren II Remote-Programmierung KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Remote-Programmierung Remote Method Invocation

Mehr

Enterprise JavaBeans Überblick

Enterprise JavaBeans Überblick Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.

Mehr

Der IBM Websphere Portalserver

Der IBM Websphere Portalserver Der IBM Websphere Portalserver Ergebnisse aus dem Universitäts-Praxis-Projekt 2001/2002 Vortrag von Il-Hyun Kim und Horst Rechner am 19. Juli 2002 Weiterer Teilnehmer am UPP: Clemens Oertel Betreuer: Dipl.-Phys.

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

-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

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

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

J a v a S e r v l e t s

J a v a S e r v l e t s J a v a S e r v l e t s Eine Einführung (C) J.M.Joller 1 Inhalt Mitgelieferte Bibliothekselemente Überblick Funktionsweise und Architektur Interaktion Resümee (C) J.M.Joller 2 Überblick Was sind Servlets?

Mehr

EJB jar.xml und Name Service (JNDI)

EJB jar.xml und Name Service (JNDI) EJB jar.xml und Name Service (JNDI) Applikationsserver Prof. Dr. Ch. Reich rch@fh furtwangen.de http://www.informatik.fh furtwangen.de/~reich/appserver/index.html Beschreibung der Beans mit Deployment

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

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

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

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen <henning@apache.org> Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen Henning P. Schmiedehausen Turbine - ein berblick Open Source unter Apache License 100% pure Java, Java 2 (JDK 1.2+) Servlet-basiertes

Mehr

Vgl. Oestereich Kap 2.7 Seiten 134-147

Vgl. Oestereich Kap 2.7 Seiten 134-147 Vgl. Oestereich Kap 2.7 Seiten 134-147 1 Sequenzdiagramme beschreiben die Kommunikation/Interaktion zwischen den Objekten (bzw. verschiedenen Rollen) eines Szenarios. Es wird beschrieben, welche Objekte

Mehr

MCRServlet Table of contents

MCRServlet Table of contents Table of contents 1 Das Zusammenspiel der Servlets mit dem MCRServlet... 2 1 Das Zusammenspiel der Servlets mit dem MCRServlet Als übergeordnetes Servlet mit einigen grundlegenden Funktionalitäten dient

Mehr

Client/Server-Programmierung WS2007/08. EJB/JSP: Schritt-für-Schritt Anleitung

Client/Server-Programmierung WS2007/08. EJB/JSP: Schritt-für-Schritt Anleitung Client/Server-Programmierung WS2007/08 EJB/JSP: Schritt-für-Schritt Anleitung Version 1.1, 26.09.07 Eingesetzte Software: - Apache Tomcat 5.5.9 bzw. 5.5.12 (http://tomcat.apache.org/download-55.cgi#5.5.12)

Mehr

FHZ. Servlets/JSP. Lernziele. Hochschule Technik+Architektur Luzern. Inhalt

FHZ. Servlets/JSP. Lernziele. Hochschule Technik+Architektur Luzern. Inhalt Inhalt 1. Grundlagen 1. Einführung 2. Programmieren für das Web 2. Servlets 3. JSP (Java Server Pages) 4. Beispiel Country 1. Dateneingabe von Benutzer 2. Parameterübergabe 3. Auswerten eines Formulars

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

Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz

Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java Oliver Kalz Agenda Grundlagen Objektpersistenz Objektrelationales Mapping Performance Fazit

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

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

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

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

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

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer Applets Belebung von Webseiten Dipl.-Ing. Wolfgang Beer Was sind Applets? Java Klassen, die spezielle Richtlinien befolgen, um: "in Internet-Browsern lauffähig zu sein" Somit ist, komplexere Funktionalität,

Mehr

Oracle JDeveloper 10 g

Oracle JDeveloper 10 g Oracle JDeveloper 10 g Modellierung Evgenia Rosa Business Unit Application Server ORACLE Deutschland GmbH Agenda Warum Modellierung? UML Modellierung Anwendungsfall (Use Case)-Modellierung Aktivitätenmodellierung

Mehr

Schritt 5: Session Beans

Schritt 5: Session Beans Prof. Dr. Th. Letschert FB MNI JEE Schritt 5: Session Beans Session Beans Übersicht Session Beans dienen dazu serverseitige Geschäftsprozesse zu realisieren. Es gibt sie drei Zustands Varianten: Stateless

Mehr

Einleitung JavaServer Pages Erweiterungsmechanismen Beispiel Fazit. JavaServer Pages. Seminar Webprogrammierung WS04/05. Timothy Burk. 6.

Einleitung JavaServer Pages Erweiterungsmechanismen Beispiel Fazit. JavaServer Pages. Seminar Webprogrammierung WS04/05. Timothy Burk. 6. Seminar Webprogrammierung WS04/05 6. Juni 2005 1 Einleitung Die Vorgeschichte Java-Servlets 2 Merkmale Von der JSP zur HTML-Ausgabe Syntax 3 4 5 Die Vorgeschichte Java-Servlets Einleitung Ansätze für dynamische

Mehr

Dreamwap. Systemanalyse

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

Mehr

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

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

Mehr

Application Note. Anbindung von Kunden-Software an SpiderControl Web Visualisierung

Application Note. Anbindung von Kunden-Software an SpiderControl Web Visualisierung 2015-02-25 1 of 6 Application Note Anbindung von Kunden-Software an SpiderControl Web Visualisierung Version ApplicationNote_AnbindungFremdsoftware /Version Seite 1 / 6 Version Datum Kommentar Autor 0.1

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

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

Software Engineering Klassendiagramme Einführung

Software Engineering Klassendiagramme Einführung Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt

Mehr

Web 2.0 Software-Architekturen

Web 2.0 Software-Architekturen Web 2.0 Software-Architekturen JavaServerPages als dynamische View einer MVC Anwendung Prof. Dr. Nikolaus Wulff Von Servlets zu JSP's Die Erstellung der HTML Ausgabe in einem Servlet endete in uneffektiven

Mehr

Vorlesung Programmieren

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

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

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

Whitepaper Walkyre Enterprise Resource Manangement

Whitepaper Walkyre Enterprise Resource Manangement Whitepaper Walkyre Enterprise Resource Management Seite 1 Whitepaper Walkyre Enterprise Resource Manangement Stand 15.11.2004 Inhalt 1. Hinweis... 2 2. Grundsätzliches zur Funktionalität... 3 3. Der Walkyre-Client...

Mehr

Enterprise JavaBeans Überblick

Enterprise JavaBeans Überblick Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 2. Einführung Java EE 5 Plattform 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5.

Mehr

Kapitel 6. Vererbung

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

Mehr

Seminar SS 2000 Enterprise Application Intergration

Seminar SS 2000 Enterprise Application Intergration Seminar SS 2000 Enterprise Application Intergration Web Programming Lifang Chen Betreuer: Marcello Mariucci Juli 2000, Universität Stuttgart Seminar "Web Programming" von Lifang Chen, Juli 2000 Folie 1

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

Existierende Systeme I Bibliotheken & Frameworks

Existierende Systeme I Bibliotheken & Frameworks Projektgruppe: Generierung von Webanwendungen aus visuellen Spezifikationen Existierende Systeme I Bibliotheken & Frameworks Von Christian Schneider Paderborn, den 18.06.2004 Übersicht Motivation Dynamische

Mehr

Projekt Weblog :: Integration

Projekt Weblog :: Integration Projekt Weblog :: Integration Die Implementation des Formhandling Frameworks wird nun im Projekt Weblog integriert. Dafür stehen 2 Möglichkeiten zur Auswahl. Sie haben Ihre eigene Implementation der Actions,

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

Programmieren II. Wie kommen Daten von einem Webserver? Vorlesung 12. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011

Programmieren II. Wie kommen Daten von einem Webserver? Vorlesung 12. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011 Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 23 2 / 23 Wie kommen Daten von einem Webserver? In der Praxis existieren verschiedene Wege, wie ein Server einem Client zu

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

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS Universität zu Lübeck 28.05.2003

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS Universität zu Lübeck 28.05.2003 Praktikum Datenbanksysteme Ho Ngoc Duc IFIS Universität zu Lübeck 28.05.2003 Nullwerte und Primitive Typen Wenn parent==null, was wird in der Datenbank gespeichert? Wenn man aus der DB liest, wie kann

Mehr

Java RMI Remote Method Invocation

Java RMI Remote Method Invocation Java RMI Remote Method Invocation Ziel: Aufruf von Instanzmethoden entfernter Objekte basierend auf Java. Paket: java.rmi und Unterpakete Topologie: RMI Registry RMI Server RMI Client Der Server registriert

Mehr

Grundlagen der Informatik 2

Grundlagen der Informatik 2 Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung

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

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

PHP Kurs Online Kurs Analysten Programmierer Web PHP

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

Mehr

Schlussbewertung FB VI SOFTWAREPROJEKT II WS 09/10 TEAM. Alexander Kalden Dominik Eckelmann Marcel Pierry Julian Heise Besha Taher

Schlussbewertung FB VI SOFTWAREPROJEKT II WS 09/10 TEAM. Alexander Kalden Dominik Eckelmann Marcel Pierry Julian Heise Besha Taher Schlussbewertung FB VI SOFTWAREPROJEKT II WS 09/10 TEAM Alexander Kalden Dominik Eckelmann Marcel Pierry Julian Heise Besha Taher 729631 745097 736477 745011 741297 Inhalt Schlussbewertung... 3 Bewertung

Mehr

Große Übung Praktische Informatik 1

Große Übung Praktische Informatik 1 Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,

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

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

JDO Java Data Objects

JDO Java Data Objects JDO Java Data Objects Ralf Degner, Chief Consultant Ralf.Degner@poet.de Agenda POET Motivation Geschichte Einführung Architekturen FastObjects POET Gegründet 1993 Zwei Produktlinien esupplier Solutions:

Mehr

Benutzung eines Login Modules zur Authentifizierung unter JBoss 4.0.5

Benutzung eines Login Modules zur Authentifizierung unter JBoss 4.0.5 Benutzung eines Login Modules zur Authentifizierung unter JBoss 4.0.5 Erstellung der Datenbank Tabellen Als Login Module soll das in der JBoss Installation bereits vorhandene DatabaseServerLoginModule

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans JPA - JAVA Persistence API Problem In JAVA-programmen arbeitet man mit Hauptspeicherobjekten. Nach Beendigung des Programmes sind diese nicht mehr vorhanden.

Mehr