Wann genau eine Middleware

Status
Nicht offen für weitere Antworten.

DennisXX

Bekanntes Mitglied
Hallo !

Ich steige gerade neu in das Thema MIddleware, verteilte Computeranwendungen ein. Dazu habe ich mal eine Frage. Wann genau muss ich auf eine Middleware zurückgreifen? Mir ist nicht ganz klar, wann eben eine normalen Programmierung nciht mehr ausreicht.

mfg
 
S

SlaterB

Gast
Middleware ? Wikipedia
schon gelesen?

Middleware ist für Computerprogramme, was Straßen für Autos sind ;)

> Mir ist nicht ganz klar, wann eben eine normalen Programmierung nciht mehr ausreicht.

nie, wenn man es drauf anlegt, jedes Programm kann für sich die Welt beherrschen,
aber man muss ja nicht unbedingt immer das Rad neu erfinden, wie man so schön sagt,

besonders wenn zwei separat entwickelte Programme kommunizieren wollen, muss es irgendeinen Standard in der Mitte geben
 
G

Gast2

Gast
Middleware ist für Computerprogramme, was Straßen für Autos sind ;)
ich liebe solche kurzen Aussagen ... schon habe ich kapiert was Middleware ist - quasi das was ich den ganzen Tag mache :oops: ... war im Studium mit Polymorphie genau so ... den Prof nie verstanden - bis ich auf einen, nennen wir es, Hilfszettel eine kurze Erklärung gelesen haben

danke, mogel
 

DennisXX

Bekanntes Mitglied
Middleware ist für Computerprogramme, was Straßen für Autos sind ;)

Vielleicht ist die Erklärung zu einfach?! :):oops:
Vielleicht nochmal die Nachfrage mit einem Szenario aus der Praxis:

Ich will ein drei Schicht System aufbauen, also die Datenbank ist räumlich und auch netzwerktechnisch irgendwo anders, als der Applikationsserver und natürlich auch die einzelnen Userclients. Muss ich hier zwingend eine Middleware wie J2EE einsetzen oder geht das auch noch ohne?

Ich hoffe, es wird nun etwas verständlicher worauf ich hinaus will. Diese Grenze zwischen "jetzt benötige ich zwingend eine Middleware" oder "hier kann auch noch ohne Middleware arbeiten und zum gleichen Ergebnis kommen" ist mir noch nicht so ganz klar.

Gruß
Dennis
 
S

SlaterB

Gast
die Datenbank willst du sicher nicht selber programmieren, also ist die irgendwie da und will angesprochen werden,
wie man mit der spricht kann ich spontan nicht sagen,
wahrscheinlich braucht man als Mindestmaß einen Socket und muss in irgendeinem Protokoll mit ihr reden,
etwas höhere wäre in Java ein JDBC-Treiber,

was davon nun Middleware ist, ist Interpretationssache, nach der Wikiseite sind es passive Netzwerkprotokolle nicht,
wenn J2EE dazugehört, dann schätze ich, dass das für einen JDBC-Treiber auch gilt, der doch ebenso einfache Java-Kommandos in komplexe Netzwerk-Nachrichten umwandelt,

für einen Socket, der ohne Murren fertige Netzwerknachrichten weiterreicht, gilt das wohl wieder nicht, meiner Meinung nach, aber reine Interpretation,
denkbar wäre, deiner hochspezifischen Frage folgend, diese Kommunikation als nicht 100%-Middleware-verlangend zu deklarieren

Server-Client: kommt drauf an, was für Clients, ob Java-Programme oder Browser,
im ersten Fall wäre wiederum eine direkte Socket-Kommunikation möglich, einfache Strings könnten zum Austausch von Informationen reichen,
höherwertig wäre alles, was Middleware zu bieten hat, WebServices, RMI usw.,
wiederum allgemeine höhere Tools, die Daten umwandeln und Methoden-Aufrufe deligieren

für den Browser gibts J2EE, fast schon zu hoch meiner Meinung nach, sehe ich eher als Programmiersprache für Web-Anwendungen, aber der Wiki-Seite und deinem Post nach auch Middleware,
alternativ reicht beim Server ein einfacher Socket, der das HTML selber interpretiert und zurückschickt,

auch hier Middleware nicht 100% nötig, jede Art von Kommunikation zwischen Programmen erwartet letztlich nur Netzwerk-Nachrichten in einem bestimmten Protokoll,

-----

wenn allerdings ein Programm nur RMI-Nachrichten empfängt und zurücksendet, und das selbstgebaute Gegenüber die Nachrichten Bit für Bit ohne RMI auf seiner Seite zusammensetzt,
dann kann man vielleicht immer noch sagen, dass Middleware zwingend beteiligt ist..
 

byte

Top Contributor
Ich will ein drei Schicht System aufbauen, also die Datenbank ist räumlich und auch netzwerktechnisch irgendwo anders, als der Applikationsserver und natürlich auch die einzelnen Userclients. Muss ich hier zwingend eine Middleware wie J2EE einsetzen oder geht das auch noch ohne?

Nein, musst Du nicht. Du kannst auch direkt per JDBC vom Client zur Datenbank verbinden. Das hat aber vor allem den großen Nachteil, dass der Client die Verbindungsdaten der Datenbank kennen muss (Username, Passwort). Im Falle einer Nicht-Webanwendung liegt der Clientcode beim User. Somit ist es möglich für einen Angreifer, direkten Zugriff auf die Datenbank zu kriegen.

Regelst Du hingegen den ganzen Datenverkehr zw. Datenbank und Client über einen Server (was man i.a. unter Middleware versteht), dann hat man diesen Nachteil nicht, weil nur der Server zur DB verbindet. Erst dadurch ist eine Autorisierungsprüfung der Daten möglich, die auch sicher ist.

Darüber hinaus bringt der Server natürlich noch mehrere Vorteile, wie z.B. Connection Pooling, Caching, Batch Processing, Jobs usw.
 

foobar

Top Contributor
Darüber hinaus bringt der Server natürlich noch mehrere Vorteile, wie z.B. Connection Pooling, Caching, Batch Processing, Jobs usw.
Und natürlich eine zentral gekapselte Geschäftslogik. Das ist besonders dann interessant, wenn es verschiedene Clients gibt z.b. Swing, Web, Mobile etc.
 
S

SlaterB

Gast
Regelst Du hingegen den ganzen Datenverkehr zw. Datenbank und Client über einen Server (was man i.a. unter Middleware versteht), dann hat man diesen Nachteil nicht, weil nur der Server zur DB verbindet.
es mag verschiedene Interpretationen geben, aber zumindest nach dem Wikipedia-Artikel zählt dazu nicht eine mittlere Schicht in einer Mehr-Schichten-Architektur ;)

dieser Server wäre doch ein hochspezifisches Anwendungsprogramm und kein allgemeines Framework/ Übertragungshilfe/ Message-System
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
OnDemand Wann welcher Scope aus welchem Paket? Allgemeines EE 10
M JSP => JSF - Ab wann? Allgemeines EE 8
M Wann Enterprise Java nutzen? Allgemeines EE 3
M Wann braucht man JBoss? Allgemeines EE 34
D Wann JSP, wann Servlet? Allgemeines EE 2
B Hilfe (dringend) - Wann lieber JDBC anstatt CMP? Allgemeines EE 5
G properties file im J2EE Server - wo wird genau gesucht? Allgemeines EE 6
B Java mail API - möchte nur eine gewisse Anzahl von Emails in die Liste holen Allgemeines EE 3
B eine vom Admin hochgeladene csv -Datei in der Datatable auch von jedem User sichtbar Allgemeines EE 0
OnDemand Programm starten, wenn eine Aufgabe erledigt Allgemeines EE 1
X Konsolenausgabe einer java klasse in eine jsp umleiten Allgemeines EE 7
T Wie kann ich eine große Datenmenge vorhalten, damit ich seitens Frontend darauf zugreifen kann? Allgemeines EE 17
R Wie eine stateful session bean erneut "aufgreifen" Allgemeines EE 22
D JSF h:panelgrid - eine reihe mit zusätzlicher spalte Allgemeines EE 6
S Wie am besten eine Authentifzierung einbauen? Allgemeines EE 7
B Problem beim einbinden einer CSS in eine JSP Allgemeines EE 8
slawaweis CMS Unterbau für eine Web 2.0 Anwendung Allgemeines EE 4
M Wie erhällt eine MessageDrivenBean Nachrichten aus einer Queue ? Wer Pollt da gegen die DB? Allgemeines EE 3
MQue include einer jsp in eine andere Allgemeines EE 4
2 JSTL Tags für eine Bean? Allgemeines EE 4
S Session in eine andere Anwendung übergeben Allgemeines EE 2
D Frage zum Verlassen eine JSF-Eingabefeldes Allgemeines EE 6
S Struts: zwei JSP's nutzen eine Action Allgemeines EE 5
J Rechnername auf dem eine J2EE läuft Allgemeines EE 10
P Eine Frage zum Thema Applikationsaufbau Allgemeines EE 3
H Eine Datenbank - 1 Datenmodell - 2 Anwendungsumgebungen Allgemeines EE 2
E HTTP-GET// -->Eine URL aufrufen, aber nicht dahin navigie Allgemeines EE 2
H Eine kurze Verständnisfrage zum Tomcat Allgemeines EE 2
W Eine Form an einen fremden Server schicken. Allgemeines EE 3
G WebApp (mit Tomcat) Wie kann meine Klasse eine Datei laden? Allgemeines EE 7
E Eine Art Thread.sleep() in JSTL? Allgemeines EE 4
M wie sieht eine ejb-jar.xml aus ? Allgemeines EE 8
T eine web anwendung bereitstellen ? Allgemeines EE 5
N Einbindung einer Bean in eine JSP (Tomcat-Server 5.5.x) Allgemeines EE 2
G StackTrace in eine TEXTAREA bringen Allgemeines EE 4
W Woraus baut man eine Super-Business-Anwendung? Allgemeines EE 5
B Besondere Ländereinstellungen für eine TomcatApp Allgemeines EE 2
TRunKX Werteübergabe von einer *.jsp in eine *.java ohne struts Allgemeines EE 4
G Application Server! Gibt es eine grundsätzliche Architektur? Allgemeines EE 9
B EJB --- Eine Modeerscheinung? Allgemeines EE 14
X Mit JSP eine Datenbankabfrage durch führen. Allgemeines EE 13
Y Eine neue Seite mit Servlet öfnnen Allgemeines EE 9
A mit JavaMail eine html mail versenden? Allgemeines EE 4

Ähnliche Java Themen

Neue Themen


Oben