Konzeptfrage --> Modellierung neuer Datenbank auf Basis alter Datenbank

oraclin25

Erfahrenes Mitglied
Hallo zusammen,

ich habe demnächst ein größeres Projekt am Laufen:

Es existiert EINE Datenbank, sagen wir mal von insgesamt 5 relationalen Tabellen.

Nun soll EINE neue Datenbank erstellt werden, die die Alte ersetzt. Die neue Datenbank soll weniger Tabellen enthalten. Aktuell werden Geschäftsprozesse in Form von SQL-Abfragen(unter anderem auch INSERT, SELECT, usw..) gegen die alte Datenbank ausgeführt. DIESE Abfragen werden weiterhin bleiben wie sie jetzt sind.

Ziel ist es:
Alles was gegen die alte Datenbank erfolgreich ausgeführt werden kann, soll auch gegen die neue Datenbank ausgeführt werden können.

Ich stelle mir vor, dass man dazu erstmal sich Gedanken macht, wie das Modell der neuen Datenbank aussehen soll. Danach werden Abfragen gegen diese neue Datenbank ausgeführt, als wäre diese die neue Datenbank.

Konkrete technische Vorgehensweise:
Angeblich wird eine Schnittstelle zwischen den Geschäftsprozessen und der neuen Datenbank programmiert. Diese Schnittstelle sei aber keine SQL-Schnittstelle mehr. *kraul-kraul-kraul-wie-soll-das-gehen?*

Meine Fragen:
1. Dieses Projekt soll mit Java EE umgesetzt werden. Ich stelle mir vor, dass Geschäftsprozesse auf SQL-Abfragen wie auch immer gemappt werden, und gegen die neue Datenbank ausgeführt werden.
2. Es muss doch weiterhin mit SQL-Abfragen weitergearbeitet werden oder? Aber wieso sollte diese Schnittstelle aber gar nicht mehr mit SQL zu tun haben?

Meine Darstellung ist sicherlich sehr schwammig, aber leider kann ich nicht detaillierter erklären, da an sich alles noch schwammig ist.

Vielen Dank für Eure Hilfestellungen.

Viele Grüße aus Rheiland,

Eure Ratna:)
 
Also wenn du in der neuen Datenbank die gleiche Logik bereitstellen musst, wie in der alten, aber die Tabellen weniger werden, solltest du dich mit dem Konzept der VIEW bekannt machen. Damit kannst du deine neue Datenbank aussehen lassen, wie die alte.

Zu den Fragen bezgl. Programmierung. Es ist möglich, ein Projekt mit Datenbank auch ohne SQL zu erstellen. Dafür gibt es Abstraktionslayer wie zB. Hibernate oder Toplink. Wobei Toplink kommerziell ist. Für deine Zwecke sollte Hibernate genügen. Hibernate kapselt den Datenbankzugriff so ziemlich komplett weg (außer du willst hand-optimieren). Dafür verwendet man natürlich eine Datasource und POJOs die als Entities daher kommen.

Natürlich kannst du, wenn du schon J2EE einsetzen willst oder musst, auch JPA (Java Persistence API) einsetzen und dich damit noch ein Stück flexibler aufstellen.

Nicht zu letzt wäre da auch noch Spring zu erwähnen, wenn du keinen Application Server wie JBoss einsetzen kannst, willst oder darfst. Dazu noch ein Transaction Manager und schon hast du auch noch JTA im Boot.
 
Hallo saftmeister,

danke erstmal für die Eklärung.

Ich bin mir sicher, dass die Programmierung unter Java EE und mit einem Applikationsserver ablaufen wird.

Nun ist es ja so, dass die Geschäftsprozesse aktuell unter Java laufen. Aus diesen Geschäftsprozessen werden SQL-Abfragen erzeugt, um die Datenbank zu manipulieren.

Wenn jetzt meine Vermutung stimmt, dass SQL wegfällt, dann wäre dieser Ansatz von Dir am nähesten:
Natürlich kannst du, wenn du schon J2EE einsetzen willst oder musst, auch JPA (Java Persistence API) einsetzen und dich damit noch ein Stück flexibler aufstellen.

In der Hinsicht würde ich mich gerne mit dem Thema Programmierung beschäftigen. Gibt es dazu spezielle Bibliotheken, mit denen ich mich besonders gut auskennen muss? Angefangen damit, die Geschäftsprozesse abzufangen und weiter an die Datenbank zu schicken, um die Datenbank zu manipulieren. Gibt es sogar spezielle Literatur dazu? Vor allen Dingen, welche Rolle spielen JavaBeans bei der Programmierung?

Vielen Dank.

Viele Grüße aus Rheinland,

Eure Ratna
 
Für Literatur kann ich keine Empfehlung geben, da ich alles, was ich über das Thema Hibernate, JPA & Co gelernt habe, nur das Internet gebraucht habe. Am besten lerne ich neues immer Anhand von Beispielen wie z.B. dem hier: http://www.objectdb.com/tutorial/jpa/eclipse/ee/project

Wobei ich mit O'Reilly oder A&W immer gut gefahren bin.

Wir sollten hier auch nicht so sehr auf das Thema Programmieren eingehen, da das Thema dann Off-Topic im Bereich wäre. Erstelle hierzu ggf. einen neuen Thread im entsprechenden Bereich.

Edit: Nur soviel zum Thema Beans: Java Beans (oder hier konkret EJB) bilden die Geschäftslogik und arbeiten mit Entities zusammen, um auf die Datenbank zuzugreifen. Wenn dir das MVC-Prinzip geläufig ist, bilden EJB den Controller und Entities das Model. Im verlinkten Beispiel gibt es zwei Varianten der EJB, das DAO (Data Access Object) und das Servlet.
 
Zuletzt bearbeitet:
Hallo saftmeister,

danke für den Link, finde ich ganz gut. Nur leider steht da nichts bzgl. Einrichtung der Entwicklungsumgebung bzw. Anbindung des AppServers mit der IDE bzw. der Datenbank mit dem AppServer. Schade eigentlich.. Im Amazon finde ich auch nichts gescheites, hast Du eine Idee?

Viele Grüße aus Rheinland,

Eure Ratna
 
Welchen Application-Server verwendest du konkret?

Ich korrigiere meine Aussage bezgl. der EJB in so fern, dass das Servlet kein EJB ist (ist schon spät ;-)).
 
Hallo saftmeister,

es ist so unglaublich:
ohne wirkliche Ahnung was genau gemacht wird, folge ich die Anweisungen Schritt für Schritt:
Getting Started with Oracle WebLogic Server 12c: Developer’s Guide

Das auch noch unter googlebooks.

Und jetzt habe ich anscheinend einen Weblogic-Applikationsserver, eine MySQL-DB, eine DB-Connection von DB zum Applikationsserver, eine Oracle Enterprise Pack for Eclipse.

Soweit alles nach Anleitungen heruntergeladen und installiert, nur bei PrimeFaces(was ist das eigentlich?) habe ich unter Windows
lediglich:
1. primefaces-3.5.jar (heruntergeladen und eingebunden)
2. ui-lightness-1.0.10.jar (nicht gefunden, deswegen auch nicht heruntergeladen und eingebunden. Ist das schlimm?)

Desweiteren soll nach den Anleitungen OpenLDAP eingerichtet werden, habe ich nicht gemacht, ich vermute mal, das ist nicht nötig oder?

So, ich habe ja soweit alles eingerichtet. Was ich weiss:
1. Applikationsserver und Datenbank eingerichtet. Eine Verbindung zwischen den Beiden ebenfalls eingerichtet
2. Eclipse mit vielen Add-Ons installiert für Entwicklung Java EE.
3. Anbidung zwischen Eclipse und Applikationsserver
4. Anbindung zwischen Eclipse und Datenbank

Bin ich jetzt ready zu programmieren?

Viele Grüße aus Rheinland,

Eure Ratna

PS. ach ja, welche JPA-Implementierung verwende ich in der obigen Einrichtung? Irgendwie kam der Begriff gar nicht vor
 
Zuletzt bearbeitet:
Hmm, klingt ja erst mal nicht schlecht. Allerdings habe ich noch nie mit Weblogic zu tun gehabt, daher kann ich nur folgendes dazu schreiben: In den Dokus wird Toplink erwähnt: http://docs.oracle.com/cd/E24329_01/web.1211/e24972/using_toplink.htm

Ich habe auch noch nichts von primefaces gehört/gelesen, aber es ist wohl eine Implementierung der JSF API: http://jaxenter.de/news/JSF-Bibliothek-PrimeFaces-40-erschienen-167778

JSF siehe hier: http://de.wikipedia.org/wiki/JavaServer_Faces

Aber wir sind schon sehr weit vom Thema "Relationale Datenbanken" weg ;-)
 
Hallo saftmeister,

danke. Vielleich eine letzte Frage diesbzgl. Ist es denn möglich, ohne JSF-API eine Web-Applikation zu entwicklen? Oder gibt es immer Pflicht-APIs, die bei jedem Java EE vorhanden sein müssen?

Viele Grüße aus Rheinland,

Eure Ratna
 

Neue Beiträge

Zurück