Domino 9 und frühere Versionen > ND7: Entwicklung

Domino Webservices: Was ist das?

<< < (12/12)

hupfi:
Schon mal danke für deine Antwort Axel.

Ich habe jedoch ein Projekt wo der Domino sowohl Consumer als auch als Producer ist.

Wir haben ein Portal erstellt bei dem sich User durch Eingabe von Loginname und Passwort anmelden können. Auf der Seite der Anzeige steht ein Server auf dem PHP Scripte laufen.
Somit dient der Webseervie einmal als Consumer (Neuanmeldung eines Benutzers/Schreiben der Daten) aber auch als Producer (Auslesen der Benuzterdaten).

Deshalb meine Frage: Ist es möglich über LotusScript einen Webservice so zu programmieren, dass die Verarbeitung multithread ist? Gibt es irgendeine Doku hierfür?

Dies ist vor allem dann wichtig, wenn sich mehrere User gleichzeitig anmelden oder gleichzeitig Daten schreiben.

flaite:
Hi,

das Problem ist, dass Notes 7 überhaupt keinen WS-Consumer bereitstellt. Ich hab dafür mein eigenes Java Framework, das ich wenn ich Zeit habe und die Geschäftsführung zustimmt mal bloggen werde.

Ich tendiere zu der Meinung, dass du dieses Multithreaded Ding überschätzt. Auch sequentielle Webservices erlauben mehreren Usern gleichzeitig einen Zugriff. So SOA Anwendungen sind - wie Webanwendungen - eigentlich stateless. D.h. zwischen den einzelnen Requests gibts keine Verbindung zwischen Consumer und Producer. 
Multithreading gibt nur Performance Vorteile bei hoher Last. "Hohe Last" hängt von der konkreten Anwendung ab.
Der Endpunkt meiner Consumer bestand immer in serverseitigen Agenten. AFAIK laufen Agenten parallel, wenn du mehrere Agentenmanager laufen hast. Möglicherweise laufen serverseitige Domino Webservice Producer auch über die Agentenmanager. Bin mir da aber nicht so sicher.
In meinen Anwendungsfällen gabs immer nur eine Userpopulation von genau 1. Ein periodisch laufender Webservice holte sich über Webservice Daten aus SAP Workflow, Factiva Business Service oder Tomcat.
Wie hoch ist denn deine erwartete Userpopulation, die den Dienst wirklich parallel nutzen wollen?

hupfi:
Die genaue Userpopulation kann (noch) nicht geschätzt werden.
Es handelt sich hierbei um ein Bewerberportal und es ist zu erkennen, das die
Zugriffszahlen steigen.

Es kann schon sein, dass ich Multithread überschätze. Weißt du eventuell ob
uns die Multithread-Sache eine erkennbare Beschleunigung bringt?

flaite:
Auf einem Bewerberportal sind glaub ich nicht so viele Leute gleichzeitig (hängt natürlich von der Organisation ab).
Wichtig ist, dass sie tatsächlich gleichzeitig mit dem Server kommunizieren.
Wenn User 1 eine Ressource vom Bewerberportal anfordert und User 2 bis 10 eine Webseite im Portal lesen oder 1 Formular ausfüllen, dann ist nur User 1 aktiv.
Multithreading bringt genau dann etwas, wenn die Userpopulation für sequentielle Verarbeitung zu klein wird. Wann dieser Punkt erreicht ist, kann man nicht sagen, wenn du die erwarteten Userpopulationen nicht kennst. Und dann hängt es auch noch von der Anwendung selbst ab.
Ich würde tendieren sowas in Tomcat oder einem Java Application Server zu machen. Das heisst aber nicht, dass es mit Domino nicht ginge.
Wir haben z.B. große SOA Projekte, in denen Websphere Process Server eingesetzt wird. Das Teil hat einen massiven Performance-Overhead gegenüber Websphere Message Broker. Mit Process Server muss man aber deutlich weniger programmieren. Für bestimmte Anwendungsfälle ist Process Server die bessere Lösung. Wenn ihr keine Java Skills habt, ist ein Webservice Projekt vielleicht die bessere Lösung. Und wie gesagt: Aussagen über die erwartete Skallierbarkeit auf Userpopulationen ist komplex und hängt nicht nur von MultiThreaded oder nicht ab.

hupfi:
Danke Axel für deine überaus braubaren Informationen.

Ich werde dies jetzt mal so weiter geben. Falls ich noch Infos
benötige melde ich mich wieder.  ;D ;D

Vielen Dank und Gruß
hupfi

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln