Hi, this is probably the wrong forum for Expressor questions, I'd suggest you post this question in the Expressor discussion form here: http://community.qlik.com/community/discussion-forums/qlikview-expressor-desktop-%26-server
With regard to transforms, in Expressor Desktop version 3, if the input attributes have the same name as the output attributes, they are automatically propagated through. You only need to map when the names are different. That is, if you wind up doing this:
output.ID = input.ID
That is not needed. You would need it for this sort of mapping:
output.target_name = input.source_name.
There are mechanisms to use the input and output schemas to map to a semantic name, so that within the transformations you have common names for the same data types, so you reduce the amount of mapping you have to do.
There are also drag and drop mappings you can do in a transform that will visually complete the mapping without having to add a transform rule and write datascript to do the mapping.
With regard to custom operators, the closest we come to is using either Read Custom or Write custom operators to invoke a command line invocation of a Java program. It utilizes the io.popen function to exchange data over stdin/stdout. I don't know if you can adapt the dll to be executed like a program and use the same integration mechanism.