Forum Replies Created
-
AuthorPosts
-
You might want to take a look at some of my debatching items on this site.
http://www.biztalkgurus.com/WhitePapers/Debatching-Options-Performance-BizTalk2004.html
XPath really sucks inside a Loop in an Orchestration.
[quote:ef83a50512=\”nwalters\”]You can test a value in a schema three ways:
1) Promoted field: msgABC(namespace.fieldname)
2) Distinguished field: msgABC.fieldname
3) Use the Xpath function to query the value of the field – this is more complex, but sometimes handy:
strTempValue = xpath(msgABC,\”string(//*fieldname[1])\”).
The problem is that the namespace must often be added and the XPath can get very complex.[/quote:ef83a50512]
It works fine with XPath.
But I think there is simple way to insert a row: with a [color=orange:ef83a50512][b:ef83a50512]looping functoid[/b:ef83a50512][/color:ef83a50512].
Here is my [color=orange:ef83a50512][b:ef83a50512]source schema[/b:ef83a50512][/color:ef83a50512] (this is the result of my incoming flat file where TVA1 and TVA2 attributes are on [b:ef83a50512]1 line[/b:ef83a50512]):
[code:1:ef83a50512]<ns0:Record xmlns:ns0=\"http://TVASolution.sTVAin\">
<Transaction TVA1=\"19.6\" TVA2=\"0.0\"></Transaction>
</ns0:Record>[/code:1:ef83a50512]
But with a [color=orange:ef83a50512][b:ef83a50512]looping functoid[/b:ef83a50512][/color:ef83a50512], I obtained the following XML :
[code:1:ef83a50512]<ns0:rAgresso xmlns:ns0=\"http://TVASolution.sTVAout\">
<rTVA TVA=\"19.6\" />
<rTVA TVA=\"0.0\" />
</ns0:rAgresso>[/code:1:ef83a50512]
So as a result, I will have 2 rows in my output flat file, just as desired !Don’t you think this is less complex than adding C# code in the Orch. ?
[quote:48df13b7c9=\”Stephen W. Thomas\”]Is the user you are running under a member of the SSO Affiliate Admin and a BizTalk Server Admin?
If all else fails, you might want to try making the user a local Server Admin.[/quote:48df13b7c9]
Yep. One of the first things I did was threw my user into the administrators group.
[quote:603f7fa574=\”reader25 \”]Looking fo ra good book to get me started on Biztalk. Any recommendations will be appreciated.
Regards,[/quote:603f7fa574]
What about BizTalk tutorials ? I think it the best way to understand how works BizTalk basis like schemas, maps, pipelines and orchestration.
You can find tutorials here :
[url]http://www.microsoft.com/downloads/details.aspx?FamilyID=6A5F6EF4-AEB8-4D8D-A521-37333A875CE4&displaylang=en[/url]Hi,
Well, inside the loop, I am doing XPaths and Mapping some.
Ah i see…
Thanks for clearing out some issues for me…
Many Thanks,
FredAtomic transactions reduce persistence points. Those are when the Orchestration saves it state back to the database.
Depending on how you are looping, you could see poor performance due to the persistence points.
Are you XPathing out the message to map within the loop?Without seeing your Orchestration, it’s hard to say what’s really causing the problem.
All in all, I do not think you will match or even come close to the pure .net component in this scenario.
No, the loop is not inside the Atomic Transaction. The Loop is in a Long Running Transaction Orchestration. The Orchestration is a long transaction because it calls some atomic transactions, then there were also Map Transformation inside the loop too. What difference does it make if the loop is inside the atomic transaction and the long running transaction? Is atomic transaction more advisable than long running transaction?
Well, on the difference side, my sample biztalk took about 4 millisecond difference between Biztalk & assembly however on actual Biztalk application, the difference was pretty big. I’ve tried the actual change on another Biztalk project by putting the loop from Biztalk to Assembly. It takes 5 to 7 seconds to run through per line time in Biztalk, and in the end it would take more than 1 minute for 20 line items. I’ve tried it in assembly it was less than a minute, even less than about 30 sec as a whole. My point here is that what if the line items would go over 500, then it would take more 30 minutes to process 500 records on Biztalk, that would be bad.
Are you running the whole loop inside an Atomic Transaction? If so, there shouldn’t be that much of a difference I would guess.
What kind of a difference are we talking about? One takes 3 seconds and the other 2 or more like one takes 60 seconds and the other 1?
In general, BizTalk will run slower than any .net code. Due to persistence and database interactions. No way to get around that. But, BizTalk adds value in other ways other then pure speed.
Right now, there is really only one for 2004:
http://rcm.amazon.com/e/cm?t=lightningcomcoll&o=1&p=8&l=as1&asins=0672325985&fc1=000000&IS2=1<1=_blank&lc1=0000ff&bc1=000000&bg1=ffffff&f=ifrIt’s the BizTalk 2004 Unleashed Book.
I think the Microsoft Virtual Labs on MSDN are a great place to start.
Hi,
No, there is no send/receive shapes inside the loop.
Actually the reason why I was asking this is because I have an actual biztalk application that I need to optimize because it is taking too much time.
The biztalk application that I was talking about in this question was a simplified Biztalk application to test and compare the speed when using Biztalk Orchestration and using assembly with the same process.
Inside the loop of the really Biztalk application that I am trying to optimize contains processes, repetitive processesing the Message using xmlDocument. The Message contains multiple Line Items, which I need to process, so I need to loop through each line items.
Now, upon creating the simplified Biztalk App, which does nothing but to loop 300 times and do only one thing and that is to replace a value of a node, I also created this assembly which does the same thing, looping 300 times and replacing a value of a node. It appears that assembly is faster than biztalk app.
So I am wondering why is that so…In knowing the reason, I would be able to know how should I handle this situation.
Regards,
FredI’m creating a test orchestration for a class (it’s a backport of the Scatter/Gather example that Microsoft published for 2006).
I drop my file, the orchestration \”starts\”, but I never get my debug messages and if I try \”Orchestration Debugger\” in HAT it says:
\”Tracking Database doesn’t have any records about the selected service instance\”.I have not \”Terminated\” several of these orchestraitons, but they still show up in HAT. The \”Pending Job\” column has the value \”Terminate\”.
So apparently the \”Terminate\” has not started or has not finished???I cannot undeploy/redploy until it terminates.
Any ideas?
Thanks.
Have you already been through all the examples on this page of this website:
Getting the following error message when I try to deploy my BizTalk 2006 project.
Error 1 Deployment cannot initialize the connection to the database \”Dev_BizTalkMgmtDb\” on server \”XXXXX\”. Verify that you have the required security permissions and that communication between Distributed Transaction Coordinator services on the machines involved is not prevented by current DTC security, firewall or authentication settings. The database or the database version is incompatible with the installed version of this product.
When I right-click project, go to Deployment, enter server. It finds the Configuration database fine. I am also able to connect remotely to this database with no problem. The SQL does allow remote connections. Both named pipes and tcp-ip is enabled from BizTalk config. DTC is config to minimum secuity.
Any ideas?
Thanks!
Good afternoon,
can you please tell me the necessary steps to configure my SAP (and
my biztalk) in order to send idocs from SAP to BT2006 using \”Biztalk adapter for sap\”? I can’t find that information. What kind of PORT do I need to configure in SAP?Thank you
[quote:b9b79bf426=\”nwalters\”]I haven’t done a lot of work with flat files (and most of what I have done is in reading flat files, not writing them), but I think this is all you need to do:
1) Create a flat file schema
2) Create a map and map from xml schema to flat file schema
3) Create a \”Send Pipeline\”. Drag the \”Flat File\” assembler shape in the toolbox to the \”Assemble\” phase of the pipeline. Probably specify the property \”Document Schema\”.[/quote:b9b79bf426]Actually I wasn’t far from the truth…
So, thank you one more time Neal ! -
AuthorPosts