BPINirvana

Thursday, May 26, 2005

Toying with those maps

So what i am trying to figure out or prove is XSLT maps are faster than standard BTS maps outputs, reason i believe so is XSLT maps will use standard .NET transformation classes which based on firehose cursor style to process XML messages

however standard maps are basiclly XML document that BTS has a way to process, what i did is i reflected the code for a map that uses XSL and here is what i found
[SchemaReference("LinkDev.BizTalk.Adapters.OracleStaticAdapter.Schemas.CommandExecuteRequest", typeof(CommandExecuteRequest)), SchemaReference("MinistryOfCommerce.eInvestor.BizTalk.Schemas.SuperApprovalSchema", typeof(SuperApprovalSchema))]
public sealed class mapAppFeesSUperAppIn2ExecuteReq : TransformBase
{
// Methods
public mapAppFeesSUperAppIn2ExecuteReq();

// Properties
public override string[] SourceSchemas { get; }
public override string[] TargetSchemas { get; }
public override string XmlContent { get; }
public override string XsltArgumentListContent { get; }

// Fields
private const SuperApprovalSchema _srcSchemaTypeReference0 = null;
private const string _strArgList = "\n";
private const string _strMap = " \n \n \n \n\t --- Rest of XSLT file that i used for the map";
private const string _strSrcSchemasList0 = "MinistryOfCommerce.eInvestor.BizTalk.Schemas.SuperApprovalSchema";
private const string _strTrgSchemasList0 = "LinkDev.BizTalk.Adapters.OracleStaticAdapter.Schemas.CommandExecuteRequest";
private const CommandExecuteRequest _trgSchemaTypeReference0 = null;
}




while trying to reflect a standard map i found:
[SchemaReference("MinistryOfCommerce.eInvestor.BizTalk.Schemas.eInvestorResponseMessage", typeof(eInvestorResponseMessage)), SchemaReference("MinistryOfCommerce.eInvestor.BizTalk.Schemas.eInvestorTransactionMessage", typeof(eInvestorTransactionMessage))]
public sealed class mapInternal2Response : TransformBase
{
// Methods
public mapInternal2Response();

// Properties
public override string[] SourceSchemas { get; }
public override string[] TargetSchemas { get; }
public override string XmlContent { get; }
public override string XsltArgumentListContent { get; }

// Fields
private const eInvestorTransactionMessage _srcSchemaTypeReference0 = null;
private const string _strArgList = "\n";
private const string _strMap = " \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n";
private const string _strSrcSchemasList0 = "MinistryOfCommerce.eInvestor.BizTalk.Schemas.eInvestorTransactionMessage";
private const string _strTrgSchemasList0 = "MinistryOfCommerce.eInvestor.BizTalk.Schemas.eInvestorResponseMessage";
private const eInvestorResponseMessage _trgSchemaTypeReference0 = null;
}



so conclusion so far are:
- even standard BTS maps generates XSLT and being pocessed slightly different check out those var:var statments.
- I still belive that XSLTs are faster and they gave u more flixbility more on this now.
- If i want to create a simple map i will use standard BTS map wizard, while if i want a complex (will be used alot) i will go for XSLT


Kal

1 Comments:

  • This post has been removed by a blog administrator.

    By Anonymous Anonymous, at 7:30 PM  

Post a Comment

<< Home