Datum: 31.05.01 Von: Florian Fischer
______________________________________________________________________________________________
Vorwort
Datenbanken kommen beim Einstieg von Unternehmen in das Inter- oder Intranet eine besondere Bedeutung zu, denn dort sind für den Mitarbeiter bzw. für den Kunden wichtige Informationen vorhanden wie zum Beispiel Kundenverzeichnisse, Rohdaten für Marketinganalysen, Produktkataloge etc. Die einheitliche Veröffentlichung dieser Daten war bislang aufgrund der Heterogenität der Betriebssysteme, Datenbanksysteme und der Anwendungen, die mit ihnen arbeiten, oftmals zu aufwendig. Ziel der Effizienzsteigerung und Wirtschaftlichkeit sollte es jedoch sein, daß alle Mitarbeiter jederzeit Zugriff auf alle Informationen haben, die sie für ihre Aufgaben benötigen, ohne ihren Arbeitsplatz verlassen zu müssen. Dank des World Wide Webs (WWW) und Java ist eine einheitliche Wahl des Betriebssystems heute nicht mehr zwingend, da das WWW und die Java Anwendungen plattformunabhängig sind. Somit lassen sich Informationen im Inter- oder Intranet überall darstellen. Auf der anderen Seite des Informationskanals stehen verschiedenste Arten von Datenbankmanagementsystemen (DBMS) wie z.B. DB2, Informix, MS SQL-Server, Oracle, Sybase, die die benötigten Informationen bereitstellen. Um die Lücke von der Informationsbereithaltung bis hin zur Informationsdarstellung zu schließen, hat Sun Microsystems einen Standard definiert, der es Java-Programmen ermöglicht, über das Inter- bzw. Intranet auf relationale DBMS zuzugreifen. Dieser Standard wird als JDBC (Java Database Connectivity) bezeichnet. Hierdurch werden dem Programmierer Klassen, Interfaces und Methoden zur Verfügung gestellt, die ihm den Informationszugriff über die Datenbanken ermöglichen.
2 von 13
Datum : 31.05.01
Von: Florian Fischer
Inhaltsverzeichnis
VORWORT 2
1 EINLEITUNG 4
2 DIE PROGRAMMIERSPRACHE JAVA. 5
2.1 JAVA-PROGRAMME: APPLETS, APPLIKATIONEN 5
3 STRUCTURED QUERY LANGUAGE (SQL) 6
3.1 SPRACHE DER 4. GENERATION 6
3.2 BEFEHLSGRUPPEN 6
4 DATENBANKZUGRIFF. 7
5 DIE FUNKTIONSWEISE DER JDBC-SCHNITTSTELLE. 8
5.1 DAS 3-SCHICHTE-NMODELL VON JDBC / DER AUFBA.U 8
6 RELATIONALE DATENBANKEN. 10
7 WEB DATENBANKEN. 11
7.1 DIREKTE DATENBANKANBINDUNG 11
7.2 INDIREKTE DATENBANKANBINDUNG 12
ABBILDUNGSVERZEICHNIS. 13
ABK ÜRZUNGSVERZEICHNIS 13
3 von 13
Datum: 31.05.01 Von: Florian Fischer
______________________________________________________________________________________________
1 Einleitung
Das Internet gewinnt zunehmend an Einfluß auf das tägliche Leben. Diese zunehmende Nutzung des Internets ist für die Grundlage des Electronic Commerce unerläßlich. Die Internetbenutzer sind oft weniger an Unterhaltung als am praktischen Nutzen interessiert. Der Internetprovider „America Online“ bestätigt dies, durch die Feststellung dass, die Benutzung der Chatrooms sinkt, aber die Suche nach Informationen im Netz immer mehr ansteigt. Dieser Umstand zeigt, daß sich das Internet tendenziell zu einem Informations- und Vertriebsmedium entwickelt. Ein wesentlicher Grund für die Zunahme von Online-Geschäften sind die damit verbundenen Kostenvorteile, insbesondere hinsichtlich der Transaktionskosten. Aus Unternehmersicht können die Kosten der Abwicklung einer Transaktion erheblich reduziert werden, vor allem bei Finanzdienstleistungen. Dem Kunden bieten beispielsweise Online-Transaktionen neben möglicherweise günstigeren Konditionen oft auch ein hohes Maß an Bequemlichkeit und Zeitersparnis, die häufig entscheidungsrelevant sind. Unter „Electronic Commerce“ wird im deutschen der „Elektronische Handel“ verstanden, der sich auf dem „Elektronischen Markt“ abspielt. Allgemein ist ein Markt ein Ort, an dem Angebot und Nachfrage aufeinandertreffen und Transaktionen ausgeführt werden. In diesem Sinne ist das Internet ein weltumspannender elektronischer Marktplatz für Güter und Dienstleistungen. Das Datennetz selbst dient dabei als Trägermedium, auf dem verschiedene Dienste existieren, welche die Funktionen eines Marktes unterstützen. Transaktionen, d.h. alle Prozesse im Dialog von Anbietern mit Kunden, werden virtualisiert. Dies umfaßt die Information, Präsentation sowie die Vereinbarung von Leistungen und die Abwicklung von Bestellungen inkl. Zahlungsverkehr bis hin zu gegebenenfalls (virtueller) Lieferung von Waren (z.B. Software) auf elektronischem Weg. Die hier vorliegende Arbeit beschäftigt sich hauptsächlich mit der Technik, die für den Prozeß der Informationsbeschaffung und -präsentation notwendig ist. Dies ist einerseits der vom Benutzer unmittelbar im Internet-Browser wahrgenommenen Teil der Anwendung, der mittels Java-Applets interagiert. Andererseits wird auch der im Hintergrund aktive Prozeß betrachtet, der für die Datenbankanbindung und Kommunikation mit dieser zuständig ist. Beispielhaft wird eine Datenbank mit hochschulspezifischen Inhalten dem Benutzer via Internet zur Verfügung gestellt.
4 von 13
Datum: 31.05.01 Von: Florian Fischer
______________________________________________________________________________________________
2 Die Programmiersprache Java
Sun Microsystems beschreibt die von ihnen entwickelte Programmiersprache Java folgendermaßen: "Java soll eine einfache, objektorientierte, verteilte, interpretierte, robuste, sichere, architekturneutrale, portable, performante, nebenläufige, dynamische Programmiersprache sein." Tatsächlich hat zuvor keine Programmiersprache in so kurzer Zeit so viele Entwickler begeistert und eine derart weite Verbreitung gefunden wie das von Sun Microsystems entwickelte Java.
2.1 Java-Programme: Applets, Applikationen
Datenbanken, die im Internet oder Intranet zur Verfügung stehen, werden Web-Datenbanken genannt. Da der Datenbank-Client auf beliebigen Betriebssystemen lauffähig sein sollte, kommen für eine plattformunabhängige Benutzeroberfläche im wesentlichen nur zwei Darstellungsformen in Frage: Java und HTML (Hypertext Markup Language). Mit Java lassen sich wesentlich attraktivere und interaktivere Anwendungen realisieren als mit reinem HTML. Java animiert WEB Seiten und ermöglicht spezialisierte Anwendungen. Es gibt erstmals die Möglichkeit, Animationen sowie komplexe Benutzerinteraktionen in Echtzeit auf WWW-Seiten (World Wide Web) darzustellen. Allerdings kann nicht jeder beliebige Browser diese ausführbaren Inhalte anzeigen, er muß javafähig sein.
Java-Applets unterscheiden sich kaum von Java-Applikationen. Bis auf wenige Ausnahmen werden sie mit denselben Werkzeugen und Techniken konstruiert. Vereinfacht kann gesagt werden, daß Java-Applikationen eigenständige Programme sind, die zur Ausführung nur den Stand-Alone-Java-Interpreter benötigen, während Java-Applets aus HTML-Seiten heraus aufgerufen werden und zur Ausführung einen Web-Browser benötigende. Die wichtigsten Unterschiede sind: • Das Hauptprogramm eines Applets wird immer aus der Klasse „Applet“ abgeleitet. Bei einer Applikation ist es prinzipiell gleichgültig, woraus die Hauptklasse abgeleitet wird. • Eine Applikation wird gestartet, indem vom Java-Interpreter (Java Runtime Environment, JRE) die Klassenmethode „main“ aufgerufen wird. Das Starten eines Applets wird dadurch erreicht, daß der Web-Browser die Applet-Klasse instanziert und die Methoden „init“ und „start“ aufruft. • Aus Sicherheitsgründen darf ein Applet in der Regel weder auf Dateien des lokalen Rechners zugreifen noch externe Programme auf diesem starten. Eine Ausnahme bilden signierte Applets. Außerdem darf ein Applet nur Netzwerkverbindungen zu dem Rechner öffnen, von dem es geladen wurde (Host). Für eine Applikation gelten diese Beschränkungen nicht. Ein Applet arbeitet immer grafik- und ereignisorientiert. Bei einer Applikation dagegen ist es möglich, auf die Verwendung des AWT (Abstract Windowing Toolkit) zu verzichten und alle Ein/Ausgaben textorientiert zu gestalten.
5 von 13
Datum: 31.05.01 Von: Florian Fischer
______________________________________________________________________________________________
3 Structured Query Language (SQL)
Für die Definition von Datenbankobjekten werden geeignete Sprachen benötigt, mit deren Hilfe die Anweisungen an ein Datenbanksystem formuliert werden können. Zur Klassifizierung der Datenbanksprachen wird in Datenflußorientierung, Anfragesprache und in Host-Sprachen eingeteilt. Der wichtigster Vertreter dieser Sprachen ist die Structured Query Language (SQL). SQL ist die Sprache, mit der die meisten relationalen Datenbanken erstellt, manipuliert und abgefragt werden.
3.1 Sprache der 4. Generation
SQL ist eine Sprache der vierten Generation. Dies bedeutet, daß sie nicht prozedural ist, d.h. der Anwender stellt eine Frage, gibt aber keinen Algorithmus zur Lösung vor. In einer Sprache der dritten Generation wie Cobol, Pascal oder C müßte er angeben, wie die gesuchten Informationen gefunden werden können, z. B. vom Öffnen der Datei bis hin zum schrittweise Durchgehen der Datensätze. SQL ist ein ISO- und ANSI-Standard, der mehrfach spezifiziert wurde bzw. noch wird.
3.2 Befehlsgruppen
In SQL werden mehrere Befehlsgruppen unterschieden:
• Befehlsgruppen die zur Datendefinition dienen. Diese Befehlsgruppe wird als Data Definition Language (DDL) bezeichnet.
• Befehlsgruppen die zur Manipulation der Daten verwendet werden. Diese Gruppe wird Data Manipulation Language (DML) genannt.
Eine besondere Bedeutung kommt dem sogenannten SELECT-Kommando zu, mit dem Auswertungen fast jeder Komplexität durchführt werden können. Darüber hinaus gibt es Befehlsgruppen, die
• die Vergabe von Zugriffsrechten steuern (DCL, Data Control Language), • die Struktur und Größe der Datenbank beeinflussen, • zur Transaktionsverarbeitung notwendig sind und • Daten aus dem UNIX-Filesystem laden bzw. in das Filesystem entladen. Alle SQL-Befehle können bei ORACLE unter Windows mit dem Programm „sqlplus.exe“ ausgeführt werden.
6 von 13
Datum: 31.05.01 Von: Florian Fischer
______________________________________________________________________________________________
4 Datenbankzugriff
Zu den wichtigsten Anwendungsgebieten von Java zählen User-Interfaces zu Datenbanksystemen. Das Java-Programm kann dabei ein Applet, eine Applikation oder ein Servlet sein und kann auf dem selben Rechner wie die Datenbank laufen oder über das Inter- bzw. Intranet auch auf einem anderen Rechner. Die Konzeption einer Datenbankstruktur und das Design der Zugriffsmethode stellen dabei die eine Seite dar, das Arbeiten und die Programmentwicklung mit einem konkreten DBMS die andere. Eine Datenbankanwendung sollte daher im doppelten Sinne portabel sein, da sie unterschiedliche Plattformen beherrschen muß und gleichzeitig mit unterschiedlichsten DBMS konfrontiert wird. Erleichternd wirkt der Umstand, daß sich nahezu jedes DBMS über einen SQL-Monitor (Structured Query Language) bedienen läßt. Dieser ist ein einfaches Werkzeug, das dem Anwender über SQL-Anweisungen Zugriff auf Datenbanken und Tabellen gewährt. Der Entwickler erhält hiermit auf der untersten Ebene Zugang zum DBMS. Innerhalb der Programmentwicklung müssen eine Verbindung zur Datenbank aufgebaut, SQL-Anweisungen gesendet und letztlich Ergebnisse ausgelesen und verarbeitet werden. Jeder Hersteller von DBMS stellt genau für diese Schnittstelle ein eigenes Verfahren zur Verfügung. Auf diese Weise versucht er den Anwender zu binden. Dieser kann nun nicht mehr einfach auf ein anderes DBMS wechseln, ohne Teile des Programmcodes neu zu schreiben. Einen Ausweg zur Beherrschung der doppelten Portabilität schafft JDBC. Das Java Database Connectivity-API (Application Programming Interface), definiert eine strukturierte Schnittstelle zu SQL-Datenbanken. Durch die Unterstützung von SQL ermöglicht JDBC, Entwicklern die Interaktion und Unterstützung einer breiten Palette von Datenbanken. Dies bedeutet, daß die spezifischen Eigenschaften der zugrundeliegenden Datenbankplattform in bezug auf JDBC irrelevant werden. SQL-Datenbanken sind nach dem SQL-Standard, der ein striktes Protokoll für den Zugriff auf und die Manipulation von Daten definiert, aufgebaut. Das JDBC-API beinhaltet Klassen für allgemeine Formen von SQL-Datenbanken wie Datenbankverbindungen, SQL-Anweisungen und Resultsets. Java-Programme sind mit JDBC in der Lage, übliche SQL-Anweisungen für die Ausgabe und die Verarbeitung von Ergebnisdaten zu benutzen. Das JDBC-API hängt weitgehend von einem Treibermanager ab, der mehrere Treiber für die Verbindung zu verschiedenen Datenbanken unterstützt. JDBC-Datenbanktreiber können entweder vollständig in Java geschrieben oder durch Verwendung systemeigener Methoden implementiert werden, um eine Brücke zwischen Java-Anwendungen und bestehenden Datenbankzugriffsbibliotheken zu schaffen. JDBC beinhaltet ebenso eine Brücke (Bridge) zu ODBC, der allgemeinen Schnittstelle zum Zugriff auf SQL-Datenbanken von Microsoft. Die JDBC-ODBC-Bridge ermöglicht es, JDBC-Treiber aus ODBC-Treibern heraus zu benutzen.
7 von 13
Datum: 31.05.01 Von: Florian Fischer
______________________________________________________________________________________________
5 Die Funktionsweise der JDBC-Schnittstelle
Die JDBC-Schnittstelle stellt einzelne Klassen dar, die explizit den Datenbankzugriff regeln, deren Implementierungen aber die JDBC-Datenbanktreiber liefern. Diese Klassen sind in der reinen JDBC-API, also ohne spezielle Datenbanktreiber, vorerst abstrakt implementiert. Die JDBC-Schnittstelle ist also ein Bestandteil der JDBC-API. Über den Driver-Manager werden die speziellen Datenbanktreiber dann nachgeladen. Diese enthalten Implementierungen der abstrakten JDBC-Klassen, um auf ein bestimmtes DBS zugreifen zu können.
5.1 Das 3-Schichten-Modell von JDBC / Der Aufbau
Abbildung 1: Das 3 Schichtenmodell von JDBC
Diese Grafik stellt den Aufbau von JDBC dar. Es handelt sich hierbei um insgesamt drei Schichten. Bei der obersten Schicht handelt es sich um die API, welche alle Funktionalitäten in Form von Java-Klassen beinhaltet. Somit greift der Anwendungsentwickler über eine ganz normale Java-Applikation über JDBC auf eine Datenbank zu. Die mittlere Schicht stellt den JDBC Driver-Manager dar. Er kümmert sich um die Implementierung des JDBC-Datenbanktreibers. Wie aus Abb1. zu erkennen ist, können auch mehrere Treiber gleichzeitig verwaltet werden. Dies bedeutet letztendlich, daß man auch mehrere unterschiedliche Datenbanksysteme gleichzeitig ansprechen kann. Dieser Anwendungsfall ist gar nicht so ungewöhnlich. Man denke dabei nur an einen online-Shop, der sich Artikelstammdaten aus einem bereits vorhandenen Warenwirtschaftssystem holt und diese um
8 von 13
Datum: 31.05.01 Von: Florian Fischer
______________________________________________________________________________________________
sogenannte Marketingdaten, wie z.B. Bilder, Videos, Sounds und Beschreibungen ergänzt, die wiederum auf einem separaten Datenbankserver abgelegt sind. Die unterste Schicht stellt letztendlich den eigentlichen JDBC-Treiber dar, der dafür verantwortlich ist, daß SQL-Anfragen an das Datenbanksystem von diesem auch richtig interpretiert werden. Wie aus Abb.1 zu erkennen ist, gibt es verschiedene Varianten von Treibern.
9 von 13
Datum: 31.05.01 Von: Florian Fischer
______________________________________________________________________________________________
6 Relationale Datenbanken
Relationale Datenbanken bestehen aus Tabellen (Relationen). Die Tabellen entsprechen in etwa den Klassen in der objektorientierten Programmierung. Jede Zeile der Tabelle (Row, Tupel, Record) enthält die Eigenschaften eines Elementes, also eines Objektes. Jede Zeile muß eindeutig sein, d.h. in einer Personaltabelle z.B. müssen sich verschiedene Mitarbeiter durch mindestens ein Datenfeld (eine Eigenschaft) unterscheiden (Oracle löst dies durch eine interne RowID). Jede Spalte der Tabelle (Column, Field, Entity) enthält die gleichen Eigenschaften der verschiedenen Objekte. Diese Spalten bestehen aus verschiedenen Datenfeldern. Ein Datenfeld oder eine Gruppe von Datenfeldern muß eindeutig sein, es ist dann der Schlüssel (Key) zum Zugriff auf die Zeilen (Records) in dieser Tabelle. Eventuell müssen dafür eigene Schlüsselfelder eingerichtet werden, z.B. eine eindeutige Projektnummer, falls es mehrere Projekte mit dem gleichen Namen gibt. Die Beziehungen zwischen den Tabellen können auch durch weitere Tabellen (Relationen, n-m-Beziehungen) dargestellt werden, z.B. eine Buch-Autor-Relation, wobei sowohl ein bestimmtes Buch als auch ein bestimmter Autor eventuell in mehreren Zeilen dieser Tabelle vorkommen kann, denn ein Buch kann mehrere Autoren haben und ein Autor kann mehrere Bücher geschrieben haben. Alle bereits genannten Eigenschaften gehören bereits mit zu den folgenden Grundvoraussetzungen für eine relationale Datenbank:
• Alle Information muß in Tabellen dargestellt werden. Dazu gehören auch alle Beziehungen zwischen den Daten (beispielsweise muß der Aufbau verschiedener Tabellen, die zu einer Datenbank gehören, in einer Tabelle beschrieben sein und nicht über Zeigerstrukturen, wie in hierarchischen Datenbanken). Nur so kann die gewünschte Flexibilität erreicht werden. • Die Daten müssen mindestens mit den folgenden Operationen bearbeitet werden können: ♦ Selektion: Alle Zeilen der Ausgangstabelle, die eine bestimmte Bedingung erfüllen, werden in eine Ergebnistabelle kopiert.
♦ Verbund von Tabellen (Join): Zwei Tabellen mit mindestens einem gemeinsamen Attribut (Feldnamen) werden verbunden.
♦ Projektion: Die Ergebnistabelle enthält alle Spalten der Ausgangstabelle, die eine bestimmte Bedingung erfüllen.
Das Konzept (Design) einer relationalen Datenstruktur ist eine komplexe Aufgabe, bei der es darum geht alle relevanten Daten (Elemente, Entities) und alle Beziehungen zwischen ihnen festzustellen, um dann die logische Struktur der Datenbank entsprechend festzulegen. Die logisch richtige Aufteilung der Daten in die einzelnen Tabellen (Relationen) wird als Normalisierung der Datenbank bezeichnet. Dafür existieren verschiedene Regeln und Grundsätze, ein Beispiel ist die sogenannte dritte Normalform. Fast alle Datenbanksysteme seit Ende der 70er- oder Beginn der 80er-Jahre sind relationale Datenbanksysteme und haben damit die in den 60er- und 70er-Jahren verwendeten hierarchischen Datenbanksysteme abgelöst. Eine zukunftsweisende Weiterentwicklung der relationalen Datenbanken sind die "Objektrelationalen Datenbanken", bei denen nicht nur primitive Datentypen sondern auch komplexe Objekte als Datenfelder möglich sind, ähnlich wie in der objektorientierten Programmierung..
10 von 13
Datum: 31.05.01 Von: Florian Fischer
______________________________________________________________________________________________
7 Web Datenbanken
In diesem Kapitel werden verschiedene Architekturen bzw. Konzepte einer Java-Datenbankanwendung erläutert, die zum Einsatz kommen, wenn der Benutzer über das Intra- oder Internet von seinem Client-Rechnern aus auf eine Datenbank zugreifen möchte.
7.1 Direkte Datenbankanbindung
Die folgende Abbildung zeigt die Architektur eines grafischen Datenbank-Clients:
Abbildung 2: Direkte Datenbankanbindung
Der Client kann hierbei eine eigenständige Java-Applikation oder ein in eine HTML-Seite integriertes Java-Applet sein. Er präsentiert sich dem Benutzer mit einer in Java programmierten grafischen Oberfläche und greift per JDBC über das Intra- bzw. Internet auf das Datenbankmanagementsystem zu. Applikationen sind im Allgemeinen fest auf dem Client installiert. Sie benötigen lediglich das Java Runtime Environment (JRE) zur Ausführung. Um auf die Datenbank zugreifen zu können, wird zusätzlich noch der für diese Datenbank spezielle JDBC-Treiber benötigt, der entweder, genauso wie für das Applet, vom WWW-Server geladen wird oder bereits fest auf dem Client installiert ist. Ist die Java-Anwendung mit einem Applet realisiert, so benötigt der Benutzer lediglich einen javafähigen Browser, der mindestens Java 1.1 implementieren sollte, damit die JDBC-Klassen lokal zur Verfügung stehen. Im Falle der Applet-Lösung gilt serverseitig zu beachten, daß Applets grundsätzlich nur auf Daten oder Anwendungen zugreifen dürfen (d.h. Netzverbindungen aufbauen), die auf dem Server laufen, von dem das Applet aus geladen wurde (Host). Entfernte Rechner oder Anwendungen können somit nur erreicht werden, wenn ein weiteres Programm auf dem Server seinerseits den Datenaustausch anbietet, so wie dies beispielsweise beim Einsatz einer Middleware zur Datenbankkommunikation der Fall ist.
11 von 13
Datum: 31.05.01 Von: Florian Fischer
______________________________________________________________________________________________
7.2 Indirekte Datenbankanbindung
Das Konzept der indirekten Datenbankanbindung entlastet den Client erheblich (s. Abbildung 3).
Abbildung 3: Indirekte Datenbankanbindung
Die Applikation auf dem Server (bzw. das Servlet) ist für die Interaktion mit der Datenbank zuständig. Sie erhält vom Client Anfragen oder Daten, führt die entsprechenden Datenbankabfragen oder Dateneingaben durch und liefert die Ergebnisse an den Client. Das Applet bzw. die HTML-Seite stellt das Userinterface auf dem Client dar. Es sendet die Abfragen oder Dateneingaben des Benutzers an den Server und gibt die von dort erhaltenen Daten oder Meldungen an den Benutzer zurück. Die Kommunikation funktioniert beispielsweise über das „Hypertext Transfer Protocol“ (HTTP), welches standardmäßig z.B. zum Laden von HTML-Seiten benutzt wird.
12 von 13
Datum: 31.05.01 Von: Florian Fischer
______________________________________________________________________________________________
Abbildungsverzeichnis
Abbildung 1: Das 3 Schichtenmodell von JDBC ...........................................................................................................8
Abbildung 2: Direkte Datenbankanbindung.................................................................................................................11
Abbildung 3: Indirekte Datenbankanbindung...............................................................................................................12
Abkürzungsverzeichnis
API AWT DBMS DCL DDL DML HTML HTTP ISO JDBC JRE ODBC SQL TCP/IP WWW
13 von 13
Arbeit zitieren:
Omni Man, 2000, Realisierung einer Datenbankanbindung in Java, München, GRIN Verlag GmbH
Dieser Text kann über folgende URL aufgerufen und zitiert werden:
Einbetten
DOI
Von der Weimarer Republik bis zur Machtergreifung Hitlers
Gesch. Europa - Deutschland - I. Weltkrieg, Weimarer Republik
Referat / Aufsatz (Schule), 5 Seiten
Datensicherheit und Datenschutz als immer größer werdende Herausforder...
Seminararbeit, 22 Seiten
Omni Man hat den Text Realisierung einer Datenbankanbindung in Java veröffentlicht
Omni Man hat einen neuen Text hochgeladen
Mémoire de fin d'études - Application Flex - Java/J2EE
Nouvelles Technologies de l'In...
Cheikh Amala THIAM
The Java(tm) Class Libraries, Volume 2: Java.Applet, Java.AWT, Java.Be...
Patrick Chan, Rosanna Lee
Guide to the Unified Process featuring UML, Java and Design Patterns
Featuring UML, Java and Design...
John Hunt
Seam Framework: Experience the Evolution of Java EE
Experience the Evolution of Ja...
Michael Juntao Yuan, Jacob Orshalick, Thomas Heute
0 Kommentare