Javafunktion zur Abfrage eines Quellcodes

Creepaz

Bekanntes Mitglied
Hallo,

ich hab mal eine Frage. Ist es mittels Java möglich in einem bestimmten Moment, einen bestimmten Teil eines Web-Quellcodes abzufangen?

Der Gedanke dahinter: In meiner Firma bekomme ich keinen Zugriff auf die Datenbank, sei es auf den Server, das ist wohl tabu. Habe ein Projekt bekommen (freiwillig, falls Interesse besteht) eine Art Anzeigedisplay zu erstellen.

Bedeutet: Am Schalter meiner Firma hängt ein 12 Zoll-Display das mittels HDMI mit unserem Rechner verbunden ist. Wir benutzen eine Web-Anwendung zur Disposition der LKW-Fahrer. Ist es nun machbar, dass sobald in der Web-Anwendung der Reiter "Ladeeinheit" gedrückt wurde, das Kennzeichen des LKW-Fahrers sowie die Halteposition (bspw. A-BC 155 | 15) ausgelesen wird und auf dem 12 Zoll-Display in einer Tabelle angezeigt wird?

Problem ist eben, dass ich keinen Zugriff auf sämtliche Daten des Servers bzw der Datenbank bekommen werde.
 
Wir benutzen eine Web-Anwendung zur Disposition der LKW-Fahrer.
Ist die von Euch entwickelt?

Ist es nun machbar, dass sobald in der Web-Anwendung der Reiter "Ladeeinheit" gedrückt wurde, das Kennzeichen des LKW-Fahrers sowie die Halteposition (bspw. A-BC 155 | 15) ausgelesen wird und auf dem 12 Zoll-Display in einer Tabelle angezeigt wird?
Ja. Wie ist allerdings von verschiedenen Faktoren abhängig. Beispielsweise: Steht die Webanwendung unter Eurer Fuchtel? Wird die Seite client- oder serverseitig gerendert?
 
Ist die von Euch entwickelt?
Ja, allerdings nicht von unserem Standort. Und an sämtliche Daten werde ich soweit auch nicht drankommen.

Ja. Wie ist allerdings von verschiedenen Faktoren abhängig. Beispielsweise: Steht die Webanwendung unter Eurer Fuchtel? Wird die Seite client- oder serverseitig gerendert?
Puh, das ist eine gute Frage. Auf dem Rechner gibt es meines Wissens kein direktes Internet, läuft alles über den Firmenserver. Also blöd gesagt: Es gibt einen Internetzugriff, allerdings NUR auf den Server (Google usw. geht nicht, dafür ist ein zweiter PC mittels einem Switch da [von der Logik mal abgesehen])
 
Ich sehe die Herangehensweise als falsch an.
Was ist deine Aufgabe? Eine Anwendung zu erstellen, die kennzeichnen und Standort anzeigt.

Dazu brauchst du Daten- OK. Wo bekommst du die her? Du erstellst sie selbst.

Das meint, du erstellst eine Klasse mit den Variablen Kennzeichen und Tor, und erstellst eine anzahl Objekte, die beide Variablen befüllen. Und dann erstellst du deine Anwendung so, dass du diese Daten anzeigst. Später kannst du dann auch mehr Daten erstellen, und welche daraus per Zufall aussuchen, oder die nicht folgerichtig erstellen, so dass sie dann sortiert werden müssen.

Erst wenn das soweit geht, wird man dich in die produktive Umgebung lassen, oder eine Schnittstelle für dich bereitstellen, denke ich.
 
Das hat nichts mit der Schnittstelle zu tun. Um es mal etwas genauer zu definieren: Ich arbeite bei der Deutschen Bahn in einem Terminal, dessen Server absolut nicht herausgegeben werden. Wir kriegen als Anwender den Zugriff auf die Funktionen, haben und werden aber niemals im Leben, und zwar keiner von uns, irgendwie Zugriff auf die Datenbank, geschweige denn den Server bekommen (was irgendwo auch verständlich ist). Hoffe ich konnte es einigermaßen erklären, warum das ganze wohl nicht so einfach ist.
 
@AndiE war schneller. Ich würde auch sagen, dass die Frage der Integration etwas ist, das ihr im Hause klären müsst. Natürlich ist es vorstellbar, dass die für die Webanwendung zuständige Stelle sagt: könnt ihr vergessen. Dann kann man über Alternativen nachdenken, die aber eher Hacks darstellen als eine ordentliche Lösung.

Allerdings: wenn Du in einem Konzern arbeitest, wirst Du auch nicht einfach irgendwelche Browser-Plugins (Tampermonkey & Co.) installieren dürfen...
 
@AndiE war schneller. Ich würde auch sagen, dass die Frage der Integration etwas ist, das ihr im Hause klären müsst. Natürlich ist es vorstellbar, dass die für die Webanwendung zuständige Stelle sagt: könnt ihr vergessen. Dann kann man über Alternativen nachdenken, die aber eher Hacks darstellen als eine ordentliche Lösung.

Allerdings: wenn Du in einem Konzern arbeitest, wirst Du auch nicht einfach irgendwelche Browser-Plugins (Tampermonkey & Co.) installieren dürfen...

Ja, ich weiss schon was ihr meint. Wir haben auch jemanden im Haus, der für die Betreuung des Servers zuständig ist, mit dem man auch sehr gut reden kann. Mein Vorhaben bspw. kam selbst von ihm. Das mit einem Browserplugin sollte kein Problem darstellen, das wäre durchaus möglich. Wo ich eher schwarz sehe, ist die Internetanbindung.

Rein rechtlich habe ich nämlich gerade erfahren, darf unser Programm keinerlei Internetanbindung verwenden, weshalb eben alles rein über den Server läuft. Damit ist das Thema im Grunde schon durch, richtig?
 
ich denke, wir sollten hier mal ein paar Begrifflichkeiten klären. Wenn ihr eine Anwendung über einen Webbrowser startet, dann erfolgt die Bearbeitung typischerweise über das HTTP-Protokoll an Port 80, aber meist im firmeneigenen Intranet und nicht im öffentlichen Internet. Wenn man so eine Anwendung z.B. mit Spring baut, dann benutzt man Webressourcen, die oft keine HTML zurückliefern, sondern wohlgeformte Inhalte wie JSON oder XML. Diese Webressourcen, kapseln dann z.B. Datenbanken und den REST-Service, den sie bieten, kann man auch von einem "normalen" Programm aus aufrufen, und die Daten dann z.B. mittels Swing oder einer anderen GUI anzeigen. Der Aufruf der fernliegenden Webressourcen erfolgt dabei immer noch über das Intranet, das durch die Domäne etc. bestimmt wird.

Um nun anzuzeigen, welcher Lkw an welchem Tor steht, brauchst du zu Anfang doch nur eine Liste der Fahrzeuge, die du selbst erstellst.

Um diese Anwendung mit reelen Daten betreiben zu können, muss sie natürlich erst einmal lokal sauber funktionieren. Dann erst brauchst du einen Zugriff zu der Webressource und ein Mittel, wie du die Daten auswählst, die du brauchst. Das meine ich mit Schnittstelle.
 
Ja, genau. Intranet hat mir gefehlt 😉 Ne Spaß beiseite, so wie du es gesagt hast läuft es in etwa ab.

Die Liste mit den LKW's wäre theoretisch nur relativ möglich. Die "Standart-Fahrer" kann ich natürlich eintragen, nur ab und an kommen auch mal andere LKW's von auswärts. Die Tore an welche sich die Fahrer stellen müssen variieren von 2-20, und das jedes mal nachdem der LKW wieder kommt. Ich bestimmte in der Webanwendung an welches Tor er fährt. Habe mir auch schon überlegt ob es möglich ist, anhand einer Texterkennung das Kennzeichen und das Tor zu ermitteln, bis ich gemerkt habe das Texterkennung auf bspw. einem Screenshot mit zu den komplexesten Themen gehört.

Ich hab schon eine alternativ-Lösung, dass über einen Raspberry PI als eigenständiger "PC" laufen zu lassen, was an sich kein Problem ist. Das Problem was ich in meinen Augen sehe, das es durchaus nervig ist, nachdem man den LKW im System erfasst hat, nebenan über eine zweite Tastatur gleich nochmal das Kennzeichen und das Tor einzugeben.
 
Um es nochmal klar zu sagen: eine saubere Lösung funktioniert nur, wenn der Server entsprechendes anbietet (s. die Beiträge von @AndiE).

Eine Quick & Dirty Lösung wäre, per Browser-Plugin (Tampermonkey o. ä.) ein Script zu schreiben, das

a) ein Fenster öffnet, das Du auf dem Display anzeigen lässt
b) einen onclick-Handler auf dem Reiter der Dispo-Seite registriert und beim Eintreten des Ereignisses
c) die Daten aus der Seite ausliest und als Nachricht an das geöffnete Fenster überträgst, das dann wiederum
d) die Nachricht empfängt und als bzw. in einer Tabelle darstellt.
 
Um es nochmal klar zu sagen: eine saubere Lösung funktioniert nur, wenn der Server entsprechendes anbietet (s. die Beiträge von @AndiE).

Eine Quick & Dirty Lösung wäre, per Browser-Plugin (Tampermonkey o. ä.) ein Script zu schreiben, das

a) ein Fenster öffnet, das Du auf dem Display anzeigen lässt
b) einen onclick-Handler auf dem Reiter der Dispo-Seite registriert und beim Eintreten des Ereignisses
c) die Daten aus der Seite ausliest und als Nachricht an das geöffnete Fenster überträgst, das dann wiederum
d) die Nachricht empfängt und als bzw. in einer Tabelle darstellt.

Alles klar, dann werde ich mir wohl was anderes einfallen lassen müssen. Danke euch
 
Ich bin da immer noch für einen anderen Weg:

Um die Belegung des Terminal anzeigen zu können, brauchst du so etwas wie

void showUsage( ArrayList GateList);

Diese ArrayList enthält dann eine Anzahl von Objekten der Klasse:

Java:
class Gate{
private String mark;
private int door;

public Gate(int door,String mark)
...
}

Nun würde man das so nutzen.

Java:
GateList gateList= new GateList();

//getUsage(gateList); // abfrage der Belegung vom Server

getDummy(gateList);

showUsage(gateList);

In getDummy(gateList)

würde doch nun stehen:

Java:
Gate g1= new Gate(1, "A-BC 123")
gateList.add(g1);
Gate g2=new Gate(2,"B-CD 234");
gateList.add(g2);

usw.

Offensichtlich kannst du diese Daten, die man wirklich als "Dummy" bezeichnet, dazu nutzen, deine anzeige aufzubauen und zu testen.

Was in getUsage() nachher drin steht, ist in diesem Fall für die Etstellung und Anzeige der Belegung doch nicht wichtig.

Übrigens:

Selbst über eine Consoleneingabe würdest du so ein Array füllen müssen.
 
Zuletzt bearbeitet von einem Moderator:
Danke dir Andi, ich werde mir das bei Gelegenheit mal anschauen. Sollte sich was ergeben, halte ich euch auf dem laufenden zwecks einer Lösung.
 
Update: Es wird jetzt wohl darauf hinauslaufen, dass es über einen externen Raspberry läuft auf dem die Java-Anwendung drauf kommt. Dann wird eine kleine Tastatur dazubestellt, wo man bei Bedarf die Positionen eingeben kann. Desweiteren ist jetzt geplant, als Hauptfunktion dass die Hausordnung sowie Wetter und Verkehrslage auf dem Display angezeigt wird.

Ab jetzt ist alles eine Sache des machbaren 😉
 

Zurück
Oben