DocuWare Integrationen mit Java erstellen

Jeder Entwickler, der sich mit DocuWare beschäftigt, weiß, wie nahe sich DocuWare und .Net stehen. Java Entwickler haben zwar die Möglichkeit über die Japi die Web Services des Systems zu nutzen, allerdings bleiben damit einige Möglichkeiten verborgen. Doch gerade im Bezug auf Betriebssystemunabhängigkeit hat Java ja so seine Vorteile. Und sobald wir über andere Betriebssysteme (wir setzen intern hauptsächlich Apple MacBooks mit OSX ein) und DocuWare reden, kommt der Web Client ins Spiel. Dieser lässt sich über die URL-Integrationen sehr flexibel in jede Anwendung integrieren, die einen Browser aufrufen oder eine Webseite integrieren kann – und natürlich Webanwendungen selbst. Das Problem liegt dabei eher in der Erstellung der URL.

Wir haben eine Java-Bibliothek entwickelt, die die Erstellung einer solchen URL kapselt. Gerade in einem Umfeld, wo URLs dynamisch erzeugt werden müssen, kann eine solche Bibliothek von großer Hilfe sein, da man sich nicht mehr um die einzelne Kodierung mit Base64 oder den Parameternamen kümmern muss.

/**
 * Test the DocuWare URL Integration Library
 * @author winkels
 * Imports left out, just a demo ;-)
 */
public class QueryDemo {

	public static void main(String[] args) {
		// set docuware server connection
		IntegrationURL url = UrlFactoryImpl.eINSTANCE.createIntegrationURL();
		url.setHost("dwserver.mycompany.com");
		url.setPort(8443);
		url.setPath("DWWebClient");
		url.setProtocol(Protocol.HTTPS);

		// set the integration to use
		Integration integration = UrlFactoryImpl.eINSTANCE.createIntegration();
		integration.setIntegrationId("MyIntegrationID");

		// set user credentials
		DocuWareLogin login = UrlFactoryImpl.eINSTANCE.createDocuWareLogin();
		login.setUser("mydwuser");
		login.setPassword("verysecretpassword");

		// create a query
		Query query = UrlFactoryImpl.eINSTANCE.createQuery();
		Condition condition = UrlFactoryImpl.eINSTANCE.createTextCondition();
		condition.setField("ADRESS_NAME");
		condition.setValue("MyClient *");
		query.getConditions().add(condition);

		// set the result type
		ResultType type = UrlFactoryImpl.eINSTANCE.createResultType();
		type.setType(Type.RESULTLISTVIEWER);

		// add the parameters to the url
		url.getParameters().add(integration);
		url.getParameters().add(login);
		url.getParameters().add(query);
		url.getParameters().add(type);

		// get the result
		System.out.println(url.getUrlString());
		// https://dwserver.mycompany.com:8443/DWWebClient/Integration.aspx?i=MyIntegrationID&lc=VXNlcj1teWR3dXNlclxuUHdkPXZlcnlzZWNyZXRwYXNzd29yZA&q=W0FEUkVTU19OQU1FXSBMSUtFICJNeUNsaWVudCAqIg&p=RLV
	}
}

Bei Fragen zu dieser Bibliothek, schicken Sie uns einfach eine mail an info@synapsis.de.