Google+
Intersult Connection
English
Deutsch

Intersult Connection ist eine Abstraktion von java.net.URLConnection und javax.servlet.Servlet. Ziel ist die Vereinheitlichung von Software für Server und Client. Intersult Connection ist Bestandteil der Design-Utils.

Anwendung#

Das Interface der Connection sieht wie folgt aus:
public interface Connection {
	URL getUrl() throws IOException;
	void setUrl(URL url) throws IOException;
	InputStream getInputStream() throws IOException;
	OutputStream getOutputStream() throws IOException;
	void setProperty(String name, String value);
	String getProperty(String name);
}

Die Methoden sind unabhängig davon, ob es sich um eine ServletConnection oder UrlConnection handelt. Mit dem InputStream und OutputStream werden die Daten empfangen und gesendet, über die Properties werden HTTP-Header-Informationen ausgetauscht. Über die URL wird die Navigation durchgeführt und ausgelesen.

Beispiel#

Bei der Implementierung eines Transport-Layer für einen Remote-Client werden Marshalling- und Unmarshalling-Routinen sowohl für den Client als auch für den Server verwendet.

Eine Implementierung der Unmarshal-Routine für den SOAP-Transport kann zum Beispiel so aussehen:

	@Override
	public Envelope unmarshal(XmlConfig config, Connection connection) throws IOException {
		SoapUnmarshallerImpl unmarshaller = new SoapUnmarshallerImpl();
		unmarshaller.setConfig(config);
		Envelope soapRequest = (Envelope)unmarshaller.unmarshal(connection.getInputStream());
		return soapRequest;
	}

Erklärung: Das Unmarshalling findet über eine Connection statt. Es ist dabei egal, ob der Aufruf auf dem Server oder vom Client erfolgt. Auf dem Server wäre die konkrete Implementierung eine ServletConnection, beim Client wäre es UrlConnection.

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-1) was last changed on 23-Mai-2012 15:40 by Dieter Käppel