Tuesday, 27 April 2010

Understand the usage of Soapgate Q!

A non developer test for Soapgate Q!
Not being a developer, the following test was helping me to understand what we have actually developed so far. This test was done with the Beta 1 version.

Soapgate Q! is the encapsulation of domino data via a webservice. It was developed for serving Flexgate Q!, the libraries that make it easy to develop in Flex for Domino. So understanding the basics of Soapgate Q! is a perfect start to fully understand the wrapper classes we created for Adobe Flex.
Soapgate Q! can be used with any system that can drive SOAP. If you need help for your system - just contact us.

To test it, create an open to anonymous access copy of the books demo db on my server (flexdemo.nsf). The same I applies to the Soapgate db is curently open to anonymous access (flex/soapgate.nsf).

I used a web tool for testing the Soapgate Q! web service...
http://www.soapclient.com/soaptest.html
Please use the IE7 or IE8 to see the results nicely formatted, Firefox and the others browsers display the returned XML unformatted (raw)

Enter the wsdl URL

We currently provide two versions of the web service:
http://www.flexdomino.net:81/soapgateq.nsf/DominoUtilityWebServices?wsdl
(doc literal, used by FlexGate Q!)

here is the wrapped version.
http://www.flexdomino.net:81/soapgateq.nsf/DominoUtilityWebServicesWrapped?wsdl
(wrapped, for .Net and other development)

Enter the values for the parameters (if you are a Notes/Doomino developer you probably know the meaning of the parameters, otherwise please refer to the documentation available for downlaod) and invoke...

SOAP Method : DBCOLUMN

CACHE: 1
SRVNAME: flexdomino/flex2domino
DBNAME: flex/flexdemo.nsf
VIEWNAME: booksflat
COLNUMBER: 1
MVALSEP: ,

This is the result:
< version="1.0" encoding="UTF-8">
- soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
- soapenv:Body>
- ns0:DBCOLUMNReturn xmlns:ns0="urn:DefaultNamespace">
ns0:DBCOLUMNReturn>Biographies & Memoirs/ns0:DBCOLUMNReturn>
ns0:DBCOLUMNReturn>Biographies & Memoirs/ns0:DBCOLUMNReturn>
ns0:DBCOLUMNReturn>Children/ns0:DBCOLUMNReturn>
ns0:DBCOLUMNReturn>Computer & Internet/ns0:DBCOLUMNReturn>
ns0:DBCOLUMNReturn>Computer & Internet/ns0:DBCOLUMNReturn>
ns0:DBCOLUMNReturn>Computer & Internet/ns0:DBCOLUMNReturn>
ns0:DBCOLUMNReturn>Computer & Internet/ns0:DBCOLUMNReturn>
ns0:DBCOLUMNReturn>Cooking, Food & Wine/ns0:DBCOLUMNReturn>
ns0:DBCOLUMNReturn>Cooking, Food & Wine/ns0:DBCOLUMNReturn>
ns0:DBCOLUMNReturn>Cooking, Food & Wine/ns0:DBCOLUMNReturn>
ns0:DBCOLUMNReturn>Entertainment/ns0:DBCOLUMNReturn>
ns0:DBCOLUMNReturn>Entertainment/ns0:DBCOLUMNReturn>
ns0:DBCOLUMNReturn>Entertainment/ns0:DBCOLUMNReturn>
ns0:DBCOLUMNReturn>Entertainment/ns0:DBCOLUMNReturn>
ns0:DBCOLUMNReturn>Entertainment/ns0:DBCOLUMNReturn>
ns0:DBCOLUMNReturn>History/ns0:DBCOLUMNReturn>
ns0:DBCOLUMNReturn>Medicine/ns0:DBCOLUMNReturn>
ns0:DBCOLUMNReturn>Medicine/ns0:DBCOLUMNReturn>
ns0:DBCOLUMNReturn>Medicine/ns0:DBCOLUMNReturn>
ns0:DBCOLUMNReturn>Mystery & Thriller/ns0:DBCOLUMNReturn>
ns0:DBCOLUMNReturn>Mystery & Thriller/ns0:DBCOLUMNReturn>
ns0:DBCOLUMNReturn>Mystery & Thriller/ns0:DBCOLUMNReturn>
ns0:DBCOLUMNReturn>Outdoooooors & Nature/ns0:DBCOLUMNReturn>
ns0:DBCOLUMNReturn>Outdoors & Nature/ns0:DBCOLUMNReturn>
ns0:DBCOLUMNReturn>Outdoors & Nature/ns0:DBCOLUMNReturn>
ns0:DBCOLUMNReturn>Outdoors & Nature/ns0:DBCOLUMNReturn>
ns0:DBCOLUMNReturn>Outdoors & Nature/ns0:DBCOLUMNReturn>
ns0:DBCOLUMNReturn>Philosophy/ns0:DBCOLUMNReturn>
ns0:DBCOLUMNReturn>Psychology/ns0:DBCOLUMNReturn>
/ns0:DBCOLUMNReturn>
/soapenv:Body>
/soapenv:Envelope>


You can do this test also with your data in your environment - go to http://www.flexdomino.net and register for the download of SoapGateQ! Beta.

If you require assistance contact andreas.rosen@qkom.de

Wednesday, 21 April 2010

The Future of Flash - Update

By now probably everyone read about Apple's move to basically ban all applications from the apps store that have not been natively developed for the iPhone/iPad with the tools sanctioned by Apple. If not you can read more here on Mike Chambers blog.

One aspect that generally comes too short when discussing  Apple's apps store and the closure of the iPhone / iPad against installing native applications through other means is that companies who would like to integrate these devices into their corporate network and more important operations cannot (easily) do so.

For example, my current employer the European School of English in Malta is currently providing Blackberry devices to most of the management staff. We are planning to utilise the devices to access operational data through custom applications on our mobile devices. These custom applications will be (are currently) build with Flex/Flash Builder in anticipation of Flash running soon on Blackberry and other devices. The reasons for using Flash are:
In-house experience in Flex/Flash development
Open/Cross Platform of Flash.
Custom applications can easily be distributed.
Very best user experience is not so important.
Performance is NOT an issue or only with regards to the bandwidth required to get the data from the operational systems to the devices. The applications themselves are simple data grid/data form type applications. No CPU power is required as it is usually for games.

The latter is actually the point I want to make. Not all applications require top performance and hence even interpreted code will do fine, let alone cross compiled code.

In an organisation like ours, I have constantly to battle down the wishes of the top management to purchase (the more prestigious) iPhone because we cannot integrate them into our corporate requirements. Again the reasons are:
We do not have in-house Objective-C developers
We do not have in-house HTML5, CSS3 developers for web based applications
We do not want to sell or otherwise publish our development in Apple's apps store

And here is where I have poblems with Apple's closed platform policy versus Adobe's open platform policy.

It has nothing to do with open source. I couldn't care less whether the iPhone/iPad OS or the Flash platform is open source or not as long as it is open/cross platform. It also has nothing (or little) to do with the quality of software development as in our case we do not want to publish anything, we would if at all simply treat ourselves badly (hardly anything Apple would need to be worried about).

So what is consequence of Apple's last move? We won't have Apple devices at ESE. We might however add Android devices next to the existing Blackberries.

Who wins, who looses. Well, the way I see it, we do not loose anything by not including iPhones or iPads in our portfolio, except maybe for the loss in ego of some of the managers who would prefer to show off with an iPhone. No offence intended of course - just in case some of my Dear colleagues happen to read my comment ;-)

Monday, 19 April 2010

The Notes Client as we now it today is dead...no joke...

Having been at Lotusphere 2010 hearing first time about project Vulcan I immediately posted a rather ironic comment, not saying anything further to the subject as I was not sure if IBM is really serious about this. I thought (like others I talked to at LS) that this was just a kind of media buzzword covering the fact that nothing really new is to come and in one years time no one will hear about it any longer.

I particular felt that because project Vulcan would have a dramatic implication for the Notes Client. Well, looks like I was all wrong, in matter of fact IBM is very serious about it...

Read this blog discussion on BleedYellow.com:

Saving Notes: Why The Notes Client Must Die


And John D. Head comment to it:

If IBM Project Vulcan succeeds, the IBM Lotus Notes Client we know today is dead

Saturday, 10 April 2010

SoapGateQ! and FlexGateQ! Beta 2

In the next few days we will release SoapGateQ! and FlexGateQ! Release 1 Beta 2. We have added following sort of missing web service operations:

  • dbACL() - implements the NotesACL class
  • dbEffectiveRights() - implements the NotesDatabase.QueryAccess() method
  • dbUserRoles() - implements the Notes Formula function @UserRoles
In FlexGateQ! we also split the dominoDBUtilities class in two classes:

  • dominoWebService

    Core web service consumer class providing the "raw" web service operations, takes care of loading the SoapGateQ! wsdl file and authenticates the user against the Domino address book.

    The new class also provides a configurable session keep alive timer function.

  • dominoDBUtilities

    Provides now only the wrapper classes using the web service operations outsourced into the dominoWebService class.
This separation effectively improves the coding (code structure) and performance of multiple web service calls.

Tuesday, 6 April 2010

The future of Flash

Lately there have been discussion in many tech forums about the future of Flash because of the emerging HTML5 and Apple's denial to implement the Flash browser plugin on its mobile devices iPhone and iPad.

Many see Flash being killed in the long run by these developments. The FlexDomino.net team certainly does not. From time to time we will post links to interesting articles that will support our judgment. Today 2 articles about the development of Google Chrome and the impact it will have to the Flash Player's future.

Chrome share gain outpaces browser rivals & Google to build Flash into Chrome browser