Als wir die Entwicklung unserer Suchmaschine SEBOL (auf Basis Apache Lucene) in 2009 derart umgestellt haben, dass dies im Prinzip einer Neuentwicklung gleich kam, prüften wir verschiedene Ansätze der Implementierung. Bis zu diesem Zeitpunkt war der Suchserver ein Java Standalone Prozess, der direkt über Sockets mit den Clients kommunizierte. Dies sollte geändert werden.

Wir wollten erreichen, dass SEBOL sowohl in der Apache Tomcat Umgebung oder einem anderen JSP Server betrieben werden kann als auch Standalone. Geschwindigkeitseinbußen durften aber nicht hingenommen werden. Den Durchbruch erreichten wir mit Jetty. Jetty ist ein vollständiger Webserver mit Servlet Container, der in die eigene Server-Applikation integriert werden kann. Durch den geringen Overhead, den Jetty mitbringt, konnten wir die gesamte Suchmaschine mit einem standardisierten XML-RPC Protokoll implementieren und dennoch die Performance steigern. Die Implementierung der JSON Schnittstelle war dadurch trivial und die Versionen für die Servlet-Engine und Standalone unterscheiden sich im Sourcecode nicht.

Das XML-RPC Protokoll erlaubt zusätzlich die Implementierung von Client Bibliotheken in unterschiedlichen Sprachen. Derzeit sind die Sprachen Java/JSP und PHP verfügbar. Weitere Bibliotheken sind in Planung. Bei der gesamten Entwicklung hat sich die Entscheidung pro Jetty als durchaus positiv bewiesen.

Weitere Informationen zur Scandio Suchtechnologie.