Tamer is finally blogging!

Thought at the end of the day

  Home  |   Contact  |   Syndication    |   Login
  14 Posts | 0 Stories | 3 Comments | 22 Trackbacks

News

Archives

Post Categories

Image Galleries

For Presentations

Squash links

Tuesday, May 08, 2007 #

For the ultimate geek, and a tribute to http://www.unbox.it/ here is unboxing a BIGIP: http://devcentral.f5.com/weblogs/dctv/archive/2007/03/08/2784.aspx


Saturday, March 04, 2006 #

Dave Morris and I will be presenting a session on the second day of the under solutions titled: "Delivering Agile Business Process & Integration Solutions". This session will cover architecting and implementing Business Process and Integrations solutions (BPI) the Agile way. We believe that a traditional waterfall process often demands unrealistic skills and accuracy that inevitably leads to the architecture either being invalid or out of date even before development starts. An Agile approach t

Wednesday, March 01, 2006 #

Using Agile Project Management with Integration Projects

 

I have been recently involved in a number of BizTalk 2004 integration projects using Agile Project Management (Also known as Scrum). Conchango (http://www.Conchango.com) has also been involved with Microsoft in designing and implementing the Agile add-in for VS2005.

 

If you are unfamiliar with Agile Project Management, have a look at the following links:

 

http://www.controlchaos.com/ (Its all about common sense) The official Website with all the resources

http://www.scrumalliance.org/ For Certified Scrum Master Resources

http://wiki.scrums.org/index.cgi?HomePage  and http://c2.com/cgi/wiki?ScrumProcess

 

 

Background

 

First, a bit of background, I don’t want to assume that you are an expert on the subject and will try to give a bit of info to get you going for this post.

 

Agile project management was introduced for development projects. The standard sprint duration is 30 days and at the end of each sprint the project team presents “Production Quality” features. At the beginning of the project the team organise their deliverable (Called Products) in a “Product Backlog”. A representative (Called Product Owner) from the stake holders helps them identify the products and prioritise the product backlog. The team starts with the most valuable tasks first, then the less valuable till they deliver the entire system or run out of budget. The emphasis is on two things: The stake holders are seeing results very early on. So after four working weeks the team would have produced real business value. The second is that the products of each sprint are production ready. So, if the stake holders decide to put this to live today, they can do that.

 

The Chickens and the Pigs

The first time I was called a chicken I was insulted! Then I was called a pig and I was insulted again, well not really because by then I knew what it meant! The story is that a pig and a chicken wanted to open a restaurant. The pig asked: What should we call our restaurant, and the chicken replied: Let’s call it Ham and Eggs. The pig thought about it for a minute and said, I can’t have a restaurant with you because I would be committed and you would only be involved.  Therefore, only the scrum master, product owner, and members of the team are pigs (Committed), all the rest are chickens (Only involved). The advantages of this are countless: How many times were projects ruined/delayed, went over budget and/or lost focus because of restrictions imposed by non relevant people. How many times did meetings drag on because you had to involve everyone in the department? How many times where you misinformed because you could not find the correct answer or talk to the right person. Being a pig (If you excuse the expression) not only empowers you, it also clears unnecessary obstacles, and gives you direct access to other pigs.    

 

The scrum meeting

The scrum meeting is the hallmark of Agile project management. It is a daily meeting, capped at 15 minutes, held in the same place, only pigs are allowed to talk, chickens can listen. Each person (Pig) tells the team what he/she has done yesterday, what he/she are intending to do today and finally mention any impediments they have.

 

Tip1: Have the scrum meeting standing up and away from your desks. This ensures people focus on the meeting, and prevents the quick peak to the old email inbox

Tip2: Pigs stand in a circle, chicken outside the circle. This enforces the separation between committed and non committed resources

Tip3: Establish a fine for those who are late for the scrum meeting. Mine is a pack of Bahlsen Choco Leibniz dark chocolate biscuits (http://www.bahlsen.co.uk/), or two if you someone has been really naughty!! Most people though tend to gather the money and later donate it to a charity of their choice.

Tip4: The daily scrum time is very important. If you make it too early, you might have people stuck in traffic and start having problems with people missing very often. Having your scrum meeting too late, say at 10 am or 10:30 am, people will tend to do whatever (not work related) waiting for the scrum to begin. Scrum time of 9:30 am is on average a good time.  

 

Semi-committed pigs*

Sometimes you require resources for a short time only, or have to share them with other projects. I call these Semi committed pigs. The first problem with having semi committed pigs is time management and estimation. They will often say: “I have to work on this other project, so you can have 40% of my time.” This is very difficult to estimate because they will not always give 40% every day. The second problem is that you always try to have the team in the same room. Semi committed pigs will generally not be able to do that because of their other engagements. This introduces plenty communication issues.  

 

* The term “Semi-committed pigs” is truly my term and you will probably not find it in any of the books. If you do find an equivalent please let me know.

 

Why use Agile for integration projects?

So far I have been involved in four (and counting) BizTalk project using Agile. I am a certified Scrum Master. I had the privilege of working on the first integration scrum project ever.  The following is why I think Agile is very well suited for Integration and BizTalk Projects.

 

Communication

Having daily scrums with relevant involved stakeholders is the biggest advantage Agile projects have over other Traditional approaches. In addition, there is a benefit of delivering functionality early to business users:

-         The feedback is much more relevant to what has been delivered so far. Therefore if the delivered functionality is not completely correct, it could be easily altered as you did not build any additional functionality on top of it, and the development knowledge is still fresh in developers’ minds

-         The feedback is immediate, and updates the team’s knowledge of the system. This is very important especially if in the next sprints there will be functionality that either uses this feature or extends it.

-         Reprioritising functionality: Very often stakeholders will re-evaluate their priorities because they have identified additional benefits in what has been delivered making other products on the backlog either redundant or less attractive. This is key as, in traditional projects, we see large budgets being spent on features that are rarely used. This is because the business did not get to see the solution until development was completed for all the features of the system.

 

Project Inception vs. Scrum Sprint 0

In traditional waterfall projects business analysts, technical architects, and project managers spend considerable amount of time identifying the business requirements, business processes (Existing and changing) existing legacy applications to integrate with, human interaction, etc. They try to define this for the entire product they are supposed to deliver at the end of the long term project. Not only is this a very complicated task, but by the time you reach, say, user acceptance, this is often outdated because everyone would have gained much better understanding of what actually needs to be done. Also the complexity of the systems we usually build forces us down routes that were not anticipated at the beginning of the project. The end result is a change request process that usually drags on, as well as out of date documentation. The other problem with the waterfall approach, and I had this recently, the inception process is very loose and undefined by definition. The room for error is very large especially that the waterfall model does not enforce the concept of daily update meetings. The result is that business analysts, Technical architects,  PMs would have initial project meetings with the stakeholders, go away for few weeks and think about it, and come back with a design and a project plan that they feel would solve the problem. Doing this, the stakeholders are led down a road that the “Experts” thought through, and they will trust them to have considered all the options. The point is, that there was no daily involvements from the stakeholders on the decisions being made during this very important phase of the project. The end of inception is usually one or very few options that are presented and discussed. In my experience, we started a project using scrum after the inception phase produced an invalid solution. I was lucky because I was critical and questioned everything before I started development. It took some time to discuss the shortfalls of the proposed solution and convince my client to adopt what I called “Sprint 0” or Sprint Zero. Because it was agile, we had daily scrum meetings with a representative from the stakeholders, a product owner. Every morning we discussed our options, and made decisions together because we were on the same level. At the end of sprint 0, we presented our alternatives to the rest of the stakeholders and really felt that by that time we have reached a decision together. Everyone was much more involved just because they were part of the decision making process.

 

So what should be in Sprint 0?

Basically this should include everything to get the project started with Sprint 1. Therefore, this sprint could include everything from identifying the business case for the solution or project, identifying business benefits, revenue potential, and cost savings, present the different cost options, rollout strategies, etc This sprint could also include decisions regarding vendor selection, pricing models for hosting systems, leasing hardware, evaluating Components Off the Shelf (COTS), identifying the tasks that could potentially be on the product backlog, and the team structure that could be required and their skill sets. In one project we talked about peeling the onion, i.e. identifying the layers of complexity and costs with the knowledge that we still have to be agile and account for changes and modifications in later sprints. At the end of sprint 0 you should end up with a working product backlog, or at least one that will let you start the first sprint. Also consider that you might finish the project without doing all the items of the backlog, as well as being prepared to stop the project after each sprint review and deploy your application to production.

 

Sprints and Sprint Duration

The standard sprint duration is 30 days. Sprint durations should be equal. I used 10 day sprints for my first agile BizTalk project. The advantage is that it fits with the average time you need to build a demonstrable BizTalk Project, or part of it. In that project I had to write a custom BizTalk adapter that allows us to integrate with Chip and Pin devices. That was easily done “Production quality” in a ten day sprint. On the other side of the interface was integration with the AS400 system using Attunity. Again this was easily done in a ten day sprint. I passed this by Ken Schwaber (The father of Agile) and he was fine with. He said: As long as you are fine with it I’m fine with it! The disadvantage of a ten day sprint was that external vendors usually fund our pace overwhelming and struggled to keep up with our demands. We were too agile for then and I think they were not used to that. The second disadvantage was with Semi committed pigs. The short sprints allowed little room for error and if the semi committed resource is stuck with another non project related task you could not compensate easily.

 

Architecting SOA the Agile Way

It is now agreed that SOA increase the flexibility and the reusability of software components. As enterprise applications evolved and the adoption of SOA increased, integration among all the services became critical. By definition, each service is an independent component, has its own schema(s), unit tests, architectural views, etc. Architecting SOA the agile way is about incremental delivery of production quality services. This could mean that in certain sprints the development team will deliver production quality incomplete services but they are complete in the context of the sprint. In other words, the service would do the functionality required for this sprint and subsequent sprint will extend that service further. The result is a business targeted delivery rather than an IT based approach. At the end of each sprint, it is the decision of the stakeholders if they would want to move this service to production and reap the rewards of that functionality. This is a very strange concept to developers as they are used to dealing with complete architecture, and technical specifications when they start coding. In fact, if the agile process is implemented, the development team should have an incremental architecture with every sprint, which should be much more accurate and up to date in comparison with what would have been produced in a waterfall planning session. Architecting SOA the Agile way is really about implementing corrective incremental steps towards the end result. In golf talk, in a waterfall context the architect is expected to score a “hole in on” every time, while Agile is all about taking steps in the right direction.

 

Coping with Change

If I had a pound for every time someone changed his/her mind on a project I would have been a very rich man indeed. Actually, it is more likely that business analysts, stakeholders, project managers, developers, and admit it even architects, will change their minds during the duration of the project. In fact, the longer the project, the more likely change will be introduced. Last year I worked on a large project integrating SAP, Siebel, and AS400 legacy applications. Change was the only thing that hasn’t changed throughout the project. Even during “Code freeze” periods, we where often asked to implement the changes in the middleware interfaces because of the code freeze in SAP and Siebel. Modular delivery does help cope with change, for a start you don’t have to design everything up front and change it later. In addition, you don’t have to spend a lot of time designing everything only to implement part of it, or even none of it. Delivering incrementally will put the team in the right frame of mind required for the change because you only plan for this sprint, and if things change then you will plan for them in the next sprint and so on. Of course if things change for this sprint then the team will have a problem, but I think this is where a shorter sprint duration comes in handy. In integration projects things can change all the time. Even when we were doing the SAP and Siebel interfaces we knew exactly needed to be delivered, but testing was an issue; not everything could be tested the same way or by the same testers. Therefore planning for what takes place when and what to work on next is a challenge. Shorter sprint durations, say ten days, might be an advantage during some integration projects, especially if you want to deliver small modules and reach you goal quicker coping with change along the way. On another project I had to share some resources, and my project was not the most critical. With shorter sprints I could re-organise the sprints to cope with resource availability, a situation not ideal but will be the difference between frustrated demoralised project team, and well, not!

 

And Finally

These were few points from my personal experience, and every time a new agile project starts and finishes there are loads to learn. If you are still reading, I hope you have found this useful, and I look forward to your comments and questions


Friday, February 24, 2006 #

Here is something I’m sure I’ll come across again. So this is a note to self (I’m very forgetful), and a little helper if anyone out there gets the same issue.

 

If you have multiple messages in your BizTalk map ( if you don’t know how then Google for “biztalk map multiple schema”), and then you need to update one of the messages’ schema, the schema in the source pane does not show the add fields! I think this mainly happens if you update the schema of the second, third, etc but not for the first message (The one that has the ns0 prefix).

 

The simplest way to correct this is to open the map in another editor, say the HTML/XML editor, or notepad if you are feeling lucky! Then fine the “import” lines. The should look like this:

 

<xs:import schemaLocation="..\schemas\[[FileName]].xsd" namespace="http://YourNamespace\Whatever1"/>

<xs:import schemaLocation="..\schemas\[[FileName]].xsd" namespace="http://YourNamespace\Whatever2"/>

<xs:import schemaLocation="..\schemas\[[FileName]].xsd" namespace="http://YourNamespace\Whatever3"/>

 

Depending on the number of imports you have in your map, you should have a few of these. All you have to do is swap them around, save the map file and reopen it in the BizTalk editor. By swapping them around I mean move the import line using cut and paste. This seems to “magically” refresh the map file. I know! Sad but true!


Tuesday, October 04, 2005 #

I posted about this earlier on http://blogs.conchango.com/tamershaaban/archive/2005/01/24/873.aspx after a very good project integrating SAP and Siebel, working with Deloitte and Axon. People found it difficult to find through Google (I’ll have to talk to someone about that) So here is the link and apologies for the Google trouble.

 

http://blogs.conchango.com/tamershaaban/archive/2005/01/24/873.aspx

 

Thanks

 


This is in response to an email I got from Edgardo (www.geekswithblogs.com/evega), I post it here hoping it will benefit more people out there.

 

You can call a webservice from inside a workflow in Siebel, and you can have a webservice that starts a workflow. The first thing I do is test the webservice using XMLSpy Enterprise (Pricey but well worth it, and saved me a lot of time). XMLSpy will generate the test SOAP message for you, and you can override the parameters to make sure you test all the cases with the webservice.

 

Once you are happy with the tests copy the link to your Visual Studio BizTalk Project, select add a web reference, insert the url in the address line, and check the webmethod(s) that come back, they will be the same ones detected by XMLSpy . Once you have added the webReference, create and orchestration that calls it. If you create the ports in the orchestration and you select "Specify Now" rather than "Specify Later" then the url settings for the webservice included in the wsdl will be used. This is the url that the Siebel workflow developer assigned when he/she generated the wsdl (Siebel has a wizard for doing that). When you deploy your application, BizTalk will create your SOAP send port with that url in it. If you Choose “Specify Later” then you will have to create the port(s) manually or using script.

 

I hope this helps and good luck.


I’m guilty of not blogging for a long time, but trust me I have been very busy recently with lots of very interesting projects. When I emerged from my project work though, I discovered that I have missed out on the Windows Workflow stuff which really looks quite impressive. They have announced it at PDC and obviously lots of people have been working on this. Check http://blogs.msdn.com/pandrew/default.aspx

 from the PDC sessions. I think Paul will be the new Scott Woodgate for us integration specialists. I’m currently reading his book with great interest. Have a look at http://search.barnesandnoble.com/booksearch/isbnInquiry.asp?isbn=0672328488.

 

I'll blog about this once I'm done with the book and tried out few things.


Wednesday, January 19, 2005 #

You can tell I'm doing alot of documentation today. Here is another quick tip.

If you get a “Delivered not consumed” message in HAT sending a message using MSMQT (I think this will be the same with MSMQC) this means that your message did not reach the MSMQ Queue for some reason. Either the Server name / Queue name is wrong or the server is not available.


In BizTalk 2004 you will end up with a dehydrated orchestration if the Siebel web service would fail. The reason is that the return error type mentioned in the WSDL is not returned. Instead, and depending on the type of error, HTTP error in this case, you see something like this in the event log

 

 

The adapter "SOAP" raised an error message. Details "Client found response content type of 'text/html;charset=UTF-8', but expected 'text/xml'.

The request failed with the error message:

--

<html><head><title>Message:</title></head>

<body>The server you are accessing is either busy or experiencing difficulties. Please close the web browser, start a new one and try logging in again. For further support, please copy and send the full message text to your system administrator.[15:05:39]

<p>

--.".

 

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

 

Some times I even got something like this:

  <?xml version="1.0" encoding="UTF-8" ?>

- <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

- <SOAP-ENV:Body xmlns:siebelf="http://www.siebel.com/ws/fault">

  <faultcode>Client</faultcode>

  <faultstring>There is no active Web Service with operation named 'http://www.CompanyName.co.uk/xml/BBT_Account_And_Address_Inbound:RunProcess4'.(SBL-EAI-04313)</faultstring>

- <detail>

- <siebelf:errorstack>

- <siebelf:error>

  <siebelf:errorsymbol />

  <siebelf:errormsg>There is no active Web Service with operation named 'http://www.CompanyName.co.uk/xml/BBT_Account_And_Address_Inbound:RunProcess4'.(SBL-EAI-04313)</siebelf:errormsg>

  </siebelf:error>

  </siebelf:errorstack>

  </detail>

  </SOAP-ENV:Body>

  </SOAP-ENV:Envelope>

 


Siebel consultants use a wizard to build Web service WSDLs from their integration objects. One thing to watch out for is the value for ElementFormDefault in the WSDL. Sometimes (Not sure why) they will generate the WSDL and will have the following line:

 

<xsd:schema xmlns:xsdLocal0="http://www.CompanyName.co.uk/103Product/BBTErrorReturn" targetNamespace=http://www.CompanyName.co.uk/103Product/BBTErrorReturn xmlns:xsd="http://www.w3.org/2001/XMLSchema">

 

Which is fine but then the return value you get from the web service call is qualified, which looks like this:

 

 

xml version="1.0" encoding="UTF-8" ?>

- <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

- <SOAP-ENV:Body xmlns="http://www.CompanyName.co.uk/xml/BBT_Account_And_Address_Inbound/BBT_Account_And_Address_Inbound">

- <BBTErrorReturn xmlns="http://www.CompanyName.co.uk/103Product/BBTErrorReturn">

  <ErrorCode xmlns="http://www.CompanyName.co.uk/103Product/BBTErrorReturn">0x6cbe -- 0x6b0c -- 0x80d8ErrorCode>

  <ErrorMessage xmlns="http://www.CompanyName.co.uk/103Product/BBTErrorReturn">'Street Address' is a required field. Please enter a value for the field. (SBL-DAT-00498) -- Stack trace: Service [BBT_Account_and_Address_Inbound].Service_PreInvokeMethod(), Line: 282 -- Error invoking service 'BBT_Account_and_Address_Inbound', method 'AccountAddressInbound' at step 'Update Account And Address'.(SBL-BPR-00162)ErrorMessage>

  BBTErrorReturn>

  SOAP-ENV:Body>

  SOAP-ENV:Envelope>

 

You end up having a dehydrated orchestration because you will are not able to read the SOAP response. If you use the SOAP Tool Kit as a proxy you can see the response coming back ok In addition if you use debug view to output the message from inside the orchestration, you will only see the top element without the sub elements.

 

The way around this is by manually editing the WSDL to add the attribute elementFormDefault="qualified". So that line should look like this:

<xsd:schema elementFormDefault="qualified"

 targetNamespace="http://www.siebel.com/xml/BBT Admin Product Definition"

 xmlns:xsdLocal1="http://www.siebel.com/xml/BBT Admin Product Definition"

 xmlns:xsd="http://www.w3.org/2001/XMLSchema"

> 

 

Then regenerate your schemas again from the Web reference. I tried just changing the schemas generated from the WSDL but that did not work. My best guess is that BizTalk 2004 uses the WSDL rather than the xsd file that VS2003 produces.

 

I hope this helps few people.

 


Tuesday, January 18, 2005 #

Ok, let's keep the blogging momentum going. Here is something to consider if you want to use the DBLook functoid in BizTalk 2004. The DBLookup functoid produces the wrong results under load. Despite installing the Rollup version, as well as Q884887. Still there seems to be an issue with the DBLookup functoid returning either empty or the wrong results under load (200+ messages). The most recent hotfix looks good (Q888309), but I don’t think it will be included in SP1. You would have to get that from premier support


This is what I believe is going to be included in SP1 Of BizTalk 2004, I'm sure there will be more


811250 FIX: You experience high CPU utilization and no timeout exception
when using a timed scope in orchestration

813845 BizTalk Server 2004 rejects reliable receipts from BizTalk Server
2000 and from BizTalk Server 2002

814041 BizTalk Server may fail persisting state to the database and may
end the orchestration instance

821934 FIX: BizTalk Server 2004 rejects BTF receipts in Coordinated
Universal Time (Greenwich Mean Time) + X time zones

831307 FIX: You cannot use content-based routing with a solicit-response
port in BizTalk Server

837441 FIX: The BizTalk Server 2004 HTTP Adapter does not support
setting HTTP headers on response from the server

838221 FIX: You receive an "unhandled exception" error message in the
event log when you use the flat file parser in BizTalk Server 2004

838225 FIX: You experience slow performance when large maps contain many
logical functoids in BizTalk Server 2004

838226 FIX: You experience slow performance when you use the
CrossReference APIs in BizTalk Server 2004

838441 FIX: "A service or property can only be accessed on the current
service" error message when one orchestration references another
orchestration in the same project in BizTalk Server 2004

838454 FIX: You cannot access information about messages in the
MessageBox database or track messages in your archives in BizTalk Server
2004

838458 FIX: Rule sets may not be evaluated correctly when you use the
NOT operator in BizTalk Server

838535 FIX: The HTTP adapter fails when you try to send large messages
in BizTalk Server 2004

838572 FIX: The xsl:for-each statement is put at the parent field of the
child field of the destination schema in BizTalk Server 2004

838763 FIX: The Database Lookup functoid/Value Extractor functoid
produces inconsistent results

838795 FIX: Element references do not resolve in BizTalk Server 2004

838836 HTTP send port properties do not override HTTP Adapter properties
in BizTalk Server 2004

838977 FIX: You receive an error message when you use the WMI
MSBTS_DeploymentService API to deploy large assemblies in BizTalk Server
2004

838991 FIX: Rules may not be re-evaluated correctly when you use the
Update facts function in BizTalk Server 2004

839336 FIX: BizTalk Server 2002 rejects reliable receipts over HTTP from
BizTalk Server 2004

839440 FIX: A BizTalk Server project may stop responding when you add
schemas and the schemas are opened in Visual Studio .NET

839450 NEED TITLE IN PROGRESS: Many running csc.exe processes when call
RPC WS from BTS Orchestration

839524 FIX: The BizTalk Server 2004 Business Rule Engine may use
incorrect values when it evaluates a rule

839663 You cannot disable HTTP chunked encoding in BizTalk Server

839723 FIX: ConfigFramework.exe fails while granting access to the
Single Sign-On Database in BizTalk Server 2004

839818 FIX: The Backup BizTalk Server SQL job reports success when the
backup has failed in BizTalk Server 2004

840008 FIX: You cannot access the headers and the body of an HTTP
failure response in a SOAPException exception

840113 FIX: The BizTalk Server EDI Adapter only supports a limited set
of document types

840177 FIX: Some nodes are not expandable in Tracking Profile Editor in
BizTalk Server 2004

840262 FIX: The BPEL Import Wizard quits unexpectedly at the last step
in BizTalk Server 2004

840296 FIX: A BizTalk 2004 project may stop responding when you add a
schema or pipeline to the project and then you open the project

840537 FIX: You cannot view the Message Details in HAT when BizTalk
Server 2004 is running under a heavy load condition

840588 The BizTalk Server 2004 MIME/SMIME Decoder component cannot
decrypt incoming messages

840740 FIX: "Exception caught: Object reference not set to an instance
of an object" error message when you compile a large map in BizTalk
Server 2004

840831 You experience an OutOfMemory exception in Visual Studio when you
open or close maps

841275 FIX: The scoping parameter of the Cumulative Sum functoid does
not generate the results that you expect in BizTalk Server 2004

841333 FIX: You receive error messages when you build your BizTalk
Server project or when you validate the schema in the project

841396 FIX: The appID column of the xref_IDXRefData table is limited to
50 characters

841543 The Target charset property may output the incorrect encoding
type in an XML document in BizTalk Server 2004

841563 FIX: The CDATA section and formatting is removed when you use a
custom XSLT file in BizTalk Server 2004

841564 FIX: Pipeline-initiated transactions are not aborted when message
publishing fails in BizTalk Server 2004

841778 FIX: The Openness property is not promoted by the IInterchange
shim in BizTalk Server 2004

841781 BUG: You receive an "XSD2EDI failed to convert XSD" error message
when you try to validate an EDI instance in BizTalk Server 2004

841994 FIX: The BizTalk Server 2004 HTTP adapter does not support adding
custom headers or modifying standard headers

842138 FIX: BizTalk Server 2004 RTM Version does not support the
transactional protocol in the BAM API

842495 FIX: You receive an "XSL transform error" error message when you
test a map in BizTalk Server 2004 Mapper

842703 FIX: BizTalk Server 2004 may experience high CPU utilization when
you use a custom pipeline with the XML Assembler component or with the
XML Disassembler component

842860 FIX: The effect of the Constraint.IsPositive property is reversed
in Human Workflow Services (HWS) in BizTalk Server 2004

842931 FIX: Outbound maps do not work on a request-response receive port


843031 BUG: BizTalk Server 2004 Health and Activity Tracking shows a
completed business process as incomplete

843040 FIX: Changes in an EDI schema in BizTalk Server do not take
effect

843269 FIX: Generated data is incorrect in BizTalk Server 2004 when you
test a map by using sample XML data as input in Visual Studio .NET

843405 FIX: The complete Electronic Data Interchange interchange is
suspended if any one of the subdocuments fails validation in BizTalk
Server 2004

843529 FIX: The orchestration stops responding (hangs) on an HTTP Send
request, and you receive an unhandled exception error message in BizTalk
Server 2004

867449 FIX: Recovery of a lost database connection causes many messages
to be put in the BizTalkServerIsolatedHostQ table of the BizTalkMsgBoxDb
database

867769 FIX: You receive a "schemaLocation could not be resolved"
compiler error message when you import schemas from assemblies in
BizTalk Server 2004

870619 FIX: A memory leak in Visual Studio .NET may occur when you
deploy a project that contains a schema with a number of roots and then
you edit or you create ports in BizTalk Server 2004

870720 NEEDTITLE IN PROGRESS: BizTalk Server 2004 EDI - Multiple TS
session executing "Validate Instance" at the same time cause an error

870996 FIX: Certain characters in the UNOC character set and certain
Swedish characters may not translate when an EDI document is processed
with Microsoft BizTalk Server 2004

871198 FIX: Receive locations are disabled in BizTalk Server 2004 when
you fail over the MessageBox database

872773 You must back up all the BizTalk Server 2004-related databases
when you want to back up an instance of BizTalk Server

872780 FIX: You cannot use the Electronic Data Interchange (EDI) Adapter
and use the Uniform Naming Convention path for the receive handler
location in BizTalk Server 2004

872805 FIX: Two messages are suspended in the BizTalk Server 2004 Health
and Activity Tracking (HAT) tool when one exception occurs in an
orchestration

872809 FIX: A transaction is deadlocked and your job fails in BizTalk
Server 2004

873385 NEED TITLE IN PROGRESS: (HOLD)Message may not always be
transmitted when you configure Message Queuing and Microsoft BizTalk
Server 2004 MSMQT in a side-by-side configuration

873394 FIX: The "Wrap segments" property for the EDI Adapter send port
may be ignored when documents are serialized in BizTalk Server 2004

873442 FIX: Event ID 23 is repeatedly logged in the Application log on a
computer that is running BizTalk Server 2004

875494 FIX: You receive a "Public Responder encountered a processing
error on receiving a Asynchronous action" error message in BizTalk
Accelerator for RosettaNet 3.0

875497 FIX: Processing seems to stop when you use ordered delivery
ports, and you have an increased load of messages in Microsoft BizTalk
Server 2004

875499 FIX: BizTalk Server 2004 may slow down when you use MSMQT to send
messages

875540 FIX: You receive a "Specified cast is not valid" error message in
BizTalk Server 2004 when you use a rule set in Rules Composer or you use
a rule set in an orchestration

883663 FIX: You may receive a "hexadecimal value 0x3A, cannot be
included in a name" error message in BizTalk Server 2004

883674 FIX: You may receive an "InitializeSecurityContext failed" error
message when you try to use the EDI Adapter in BizTalk Server 2004

884519 NEED TITLE IN PROGRESS:Fix: Activity Model observers cannot get
the activity flow information if they are not participate in the
activity flow

884535 You may receive a "failure executing the receive pipeline" event
log error message when you deploy a schema assembly in BizTalk Server
2004

884565 FIX: Event ID 5701 and Event ID 5699 are logged in the
Application log in BizTalk Server 2004

884873 FIX: Error message details for pipeline failures for a Receive
Location are not entered in the event log in BizTalk Server 2004

884876 FIX: Context properties of messages are not saved in the Message
Box database for incoming non-seekable large messages in BizTalk Server
2004

884887 The result of the Index functoid is an empty string when you
specify the Attribute FormDefault property of the source schema as
Qualified in BizTalk Server 2004

885405 NEED TITLE IN PROGRESS: ACK / NACK Subscriptions From Singleton
Orchestrations Need To Be Deleted

885448 FIX: You receive an "An exception occurred" error message when
you use a .NET class in the Business Rule Composer

885847 FIX: You may receive a "The Record Tag is not within the total
length of the record" error message when you compile a flat file schema
in BizTalk Server 2004

885888 FIX: Business Activity Monitoring (BAM) data may not be written
to the database if tracking is not enabled in BizTalk Server 2004

885902 FIX: You receive an "Invalid URI" error message when you
configure the "Logical address" property for the send handler that is
used by the EDI Adapter

885905 FIX: You receive a "SQL Server does not exist" error message when
you connect to a BizTalk Server 2004 Management database from BizTalk
Explorer

885913 FIX: The "Backup BizTalk Server" SQL Server job is unsuccessful
when SQL Server is not listening on the default TCP port of 1433

885935 FIX: You receive a "The chosen transport HTTP does not support
solicit-response protocol" error message in BizTalk Server 2004

886226 NEED TITLE IN PROGRESS Fix: File Receive Adapter (in
BTSNTSVC.EXE) may cause NonpagedPool memory leak

886966 FIX: Slow startup performance when you process a high volume of
messages through the BizTalk Server 2004 SOAP adapter

887575 FIX: BizTalk Server 2004 stops responding when you use the file
adapter to receive messages that are larger than 100 KB

887692 FIX: You receive a "NullPartException" error message when you use
nested orchestrations in BizTalk Server 2004

887795 FIX: You receive a "COMException" exception event message when
you run an orchestration in BizTalk Server 2004

887918 FIX: A data loss may occur in a published BizTalk one-way Web
service in Microsoft BizTalk Server 2004

887959 You may notice significant loss of performance in BizTalk Server
2004 when the bts_PurgeSubscriptions stored procedure is used to delete
subscriptions

891844 FIX: You may receive compilation error messages when you create
orchestrations that have a very specific relationship in BizTalk Server
2004

 


Monday, September 20, 2004 #

I'm working on a project integrating SAP and Siebel using BizTalk 2004. Last week I discovered that Siebel (By default) generates RPC based web services, and I was wondering why I can't capture the response of these web services using BizTalk SOAP adaptor! Turns out that you need to set the webservice to Doc literal, a setting in the WSDL of the Web service, this is the setting the adaptor supports. I think you would have the same problem using BizTalk with WebLogic Integration or a webservice generated by Integration.

Enjoy!


Sunday, September 12, 2004 #

I came accross this problem trying to recieve files on remote servers using the file adpter: "File transport does not have read/write privileges for receive location 'G:\if067\outbox\'". I read there:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/troubleshooting/htm/ebiz_prog_adapt_owtd.asp

that you need to map a network drive to the recieve location and specifiy the user name and password that has access rights to this share. So I did, and you can see it in the error message I get in the event viewer. The recieve host runs under the same account I used. To test I logged on with this user and sure enough, I have full access and can read, write, modify and delete files on the share. A good collegue of mine (who always helps me out with infrastructure issue might I add) mentioned that the shared drive is flaky and I would be better off sticking with the UNC (e.g. \\servername\share name) instead of the G:\ mapped drive. He also suggested using Filemon to find out what is going on. So now I can't wait till Monday to solve this! So far I can't read, or write to the remote share.