Universal Web Service Gateway for Domino

User: Admin
Date: 12/21/2009 5:21 pm
Views: 4360
Rating: 81    Rate [

+

|

-

]

[We are Beta...posted January 27, 2010]

In a recent posting on our FlexDomino blog I was asking whether IBM should provide a native web service or RPC based interface to its native functions, to then briefly talk about our attempts to implement a universal web service interface to the Domino server (see also this presentation).

Well, far from being ready, we have managed to implement a good set of Domino web service functions, combined with some Flex classes which provide for the basic needs to develop views (data grids) and forms in Flex accessing Domino databases.

The current functionality includes a Notes database containing the web service and two wrapper classes in Flex. The first class is a web service wrapper class, that provides access to the Domino web services and converts the results (returned data) into the required data structures in Flex (mainly multi-dimensional Arrays and or ArrayCollections). The second class provides workflow capabilities for Flex forms that utilise the web service wrapper class to e.g. save changes of an edited document back to the Domino server and update the underlying data grid (if there is one).

The demo shows the already demoed Book Catalog sample. However, there are fundamental differences:

  1. Opening a document from the data grid for viewing or editing will load the document data through another web service call (rather then just editing the data available in the grid columns). And the web service function to load document fields is not limited to fields, but allows Notes Formula (read only) and reference to the NotesDocument.ColumnValues property too.
  2. Changes to a document do not require a re-load of the entire data-set in the grid, but rather a re-load of the effected row only, which results in quite a performance difference. The re-load of the effected row as such is required, as the data showing in view columns can be based on formula, and hence view column data and document field data might not match up.
  3. The entire workflow of editing a document is controlled by the form wrapper class. A single method call opens a Notes document in the Flex form and takes care of all required updates; still allowing for custom listeners (the equivalent of the Notes form events).
  4. Data type conversion is handled by the Domino web services. Similar to Notes UI documents, which besides data formatting and input validations, basically only know text fields, the provided web services deliver text data only. The appropriate data conversion takes place on the server on loading and saving a document.
  5. The Flex WebService.RemoteCredentials property does not work with Domino web services; for which reason authentication is not possible over a cross domain situation or if the flash file is not loaded from the Domino server, which data is to be accessed. It is an issue in Flex 3 SDK and still is (in the now called) Flash 4 SDK. We have solved this problem. 

SoapGateQ.pdf SoapGateQ.pdf

Replies

Flat
Re: Universal SOAP gateway for Domino
User: westmo
Date: 12/22/2009 9:20 pm
Rating: 43    Rate [

+

|

-

]
Status: Archived

Tried the new demo using flash player 10 and flash player 9 and got the same error.

 

 ReferenceError: Error #1069: Property DBCOLUMNXReturn not found on String and there is no default value.
    at packages.dominoUtilities::dominoDBUtilities/dbcolumnx_result()[D:\Flex\Flex Builder 3\DominoUtilitiesExtendedSWC\src\packages\dominoUtilities\dominoDBUtilities.as:885]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.rpc::AbstractOperation/http://www.adobe.com/2006/flex/mx/internal::dispatchRpcEvent()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\rpc\AbstractOperation.as:198]
    at mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::resultHandler()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\rpc\AbstractInvoker.as:193]
    at mx.rpc::Responder/result()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\rpc\Responder.as:43]
    at mx.rpc::AsyncRequest/acknowledge()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\rpc\AsyncRequest.as:74]
    at DirectHTTPMessageResponder/completeHandler()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\messaging\channels\DirectHTTPChannel.as:403]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at flash.net::URLLoader/onComplete()


Re: Universal SOAP gateway for Domino
User: Admin
Date: 12/23/2009 12:35 am
Rating: 6    Rate [

+

|

-

]
Status: Archived
Ooops. I made a late night change to the web service and broke the flash application. Please try again, it should work now.

out of bounce" error
User: Admin
Date: 12/23/2009 5:41 am
Rating: -35    Rate [

+

|

-

]
Status: Archived
I discovered a minor issue when clicking on one of the columns to re-sort the grid and then inserting a new document. In this case the application produces an "out of bounce" error. I will fix the issue as soon as possible and update the demo.

Re: out of bounce" error
User: Admin
Date: 12/23/2009 8:23 am
Rating: 63    Rate [

+

|

-

]
Status: Archived
Done. I also added double click to open documents and set the default input field.

Universal Web Service Gateway for Domino - Beta
User: Admin
Date: 4/27/2010 4:27 pm
Rating: 15    Rate [

+

|

-

]
Status: Archived

We have gone Beta :-)

Whilst we have posted the SoapGateQ! web service API (Domino) database and the FlexGateQ! wrapper classes along with the project code of the demo application shown here on FlexDomino.net, we have not yet completed the documentation of the web service API and Flex wrapper classes. The latter will properly take another week or two.

Please note that this project will not be an open source project or at least not entirely open source. We are planning to provide a community version with partly open source and a commercial version of the product. As we are not yet clear about the exact licensing model we kept the source closed during Beta.

The SoapGateQ! database will expire June 30, 2010.

More about the project...

The business partner of FlexDomino.net in this project is Qkom GmbH in Germany. Any commercial requests regarding this software should be directed to Andreas Rosen

Technical questions should be posted here or send to Matthias Wille  


PreviousBackNext