This page (revision-1) was last changed on 23-May-2012 13:40 by Dieter Käppel

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
1 23-May-2012 13:40 1 KB Dieter Käppel

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 1 added 34 lines
[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|Abraxas] 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.