RE: Side-by-Side Deployment Issue

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance



http://msdn.microsoft.com/library/default.asp?url=/library/en-us/deploying/h
tm/ebiz_depl_assemblies_wzyq.asp

HTH,
Doug Girard [MSFT]

Note: This posting is provided "AS IS" with no warranties, and confers no
rights.
--------------------
>X-Tomcat-ID: 473339490
>References: <75D01552-B59C-4181-81CA-F37B6E8E7720@xxxxxxxxxxxxx>
>MIME-Version: 1.0
>Content-Type: text/plain
>Content-Transfer-Encoding: 7bit
>From: dogirard@xxxxxxxxxxxxxxxxxxxx ("Doug Girard [MSFT]")
>Organization: Microsoft
>Date: Fri, 09 Sep 2005 22:03:08 GMT
>Subject: RE: Side-by-Side Deployment Issue
>X-Tomcat-NG: microsoft.public.biztalk.general
>Message-ID: <gEtxFpYtFHA.780@xxxxxxxxxxxxxxxxxxxxx>
>Newsgroups: microsoft.public.biztalk.general
>Lines: 145
>Path: TK2MSFTNGXA01.phx.gbl
>Xref: TK2MSFTNGXA01.phx.gbl microsoft.public.biztalk.general:17413
>NNTP-Posting-Host: TOMCATIMPORT1 10.201.218.122
>
>Glynn,
>
>Yes, be careful with schemas as they have a special resolution behavior
>unless listed specifically in the disassembler's properties. Also watch
>out for version numbers. Standard .NET versioning recognizes assemblies
as
>being different only if the major or minor version is changed (ie: the
>first two numbers). Try 1.2.0.0 rather than 1.0.0.2.
>
>Keep using the same receive ports and locations (yes, receive URIs must be
>unique) and then bind another subscriber to these, i.e. the new
>orchestration version. Then enlist and start the new orchestration
version
>and unenlist the old orchestration. This will prevent future publications
>from going to the old version and direct them to the new one. Running
>orchestration instances on the older version should complete on their own.
>
>Doing the "Then enlist and start the new orchestration version and
unenlist
>the old orchestration" step should ideally be done transactionally to
>prevent duplicate messages. I know there is a way to do this in BTS 2006
>via the object model, committing in one swoop, but don't recall if this
was
>do-able the same way on 2004.
>
>I'm trying to dig up additional documentation on side by side versioning
>which I remember from 2004. I will repost when I find it.
>
>Adding your followup below as well:
>
>----------------
>
>I've got some way towards solving this problem, but would still appreciate
>some advice:
>
>I moved my SQL schemas into their own assembly, and created a custom
>pipeline for the SQL adapter. The custom pipeline XML Disassembler
>references
>only a specific version number of the schema. So 1.0.0.1 only receives
that
>same version of the schema. That has overcome my initial problem, but in
>the
>side-by-side scenario, 1.0.0.2 will also need a pipeline that uses only
>1.0.0.2 versions of the schema. As my ports are late-bound, I specify the
>pipeline for the receive location. But it looks like I need two sets of
>receive locations, one for each version of the assembly. Trouble is, my
>messages are physically available to receive from one location (whether
>they
>be file or SQL "locations") and two receive locations can't point to the
>same
>place. I'm getting in a twist here, so I'd be really grateful if someone
>could spell out the best way to configure receive locations for
>side-by-side
>deployments.
>
>Thanks again!
>
>Glynn
>
>----------------
>
>HTH,
>Doug Girard [MSFT]
>
>Note: This posting is provided "AS IS" with no warranties, and confers no
>rights.
>--------------------
>>Thread-Topic: Side-by-Side Deployment Issue
>>thread-index: AcWfUhm5a4Qo9ZaoTTuGYKJwD475HA==
>>X-WBNR-Posting-Host: 217.140.1.140
>>From: "=?Utf-8?B?R2x5bm4=?=" <Glynn@xxxxxxxxxxxxxxxxxxxxxxxxx>
>>Subject: Side-by-Side Deployment Issue
>>Date: Fri, 12 Aug 2005 08:25:41 -0700
>>Lines: 50
>>Message-ID: <75D01552-B59C-4181-81CA-F37B6E8E7720@xxxxxxxxxxxxx>
>>MIME-Version: 1.0
>>Content-Type: text/plain;
>> charset="Utf-8"
>>Content-Transfer-Encoding: 7bit
>>X-Newsreader: Microsoft CDO for Windows 2000
>>Content-Class: urn:content-classes:message
>>Importance: normal
>>Priority: normal
>>X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
>>Newsgroups: microsoft.public.biztalk.general
>>NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
>>Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGXA03.phx.gbl
>>Xref: TK2MSFTNGXA01.phx.gbl microsoft.public.biztalk.general:16539
>>X-Tomcat-NG: microsoft.public.biztalk.general
>>
>>Hi,
>>
>>I have a long-running orchestration, and need to deploy an update to it
>>without terminating the existing instances (it's an order-to-invoice,
with
>>active instances at all stages of the workflow). I decided the best way
>was
>>to:
>>
>>1. Update the version number of the orchestration, let's say from
V1.0.0.1
>>to V1.0.0.2
>>2. Deploy 1.0.0.2
>>3. Stop the first activate-receive port of 1.0.0.1 (late-bound)
>>4. Bind the ports of 1.0.0.2 to the same ones bound to 1.0.0.1
>>5. Enlist and start 1.0.0.2 (same host instance as 1.0.0.1)
>>6. Un-enlist (but not stop) 1.0.0.1
>>7. Start the receive port.
>>
>>So, everything happens perfectly to begin with. 1.0.0.1 continues to
>process
>>existing instances, doesn't begin new instances. New instances are
instead
>>handled by 1.0.0.2. But then, when 1.0.0.2 reaches the "shipment" stage
of
>>the workflow, it retrieves some data via the SQL adapter. I get this
error:
>>
>>------------
>>Received unexpected message type
>'KCOrchestrationsSSK.schSQLProteanShipment,
>>KCOrchestrationsSSK, Version=1.0.0.0, Culture=neutral,
>>PublicKeyToken=b79a0d6956359be3' does not match expected type
>>'KCOrchestrationsSSK.schSQLProteanShipment, KCOrchestrationsSSK,
>>Version=1.0.0.1, Culture=neutral, PublicKeyToken=b79a0d6956359be3'.
>>-------------
>>
>>So for some reason 1.0.0.2 receives a message with a (strong name schema)
>>type matching assembly version 1.0.0.1. The thing is, it only happens
with
>>one SQL receive location. The SQL receives in the "Order" stage work
fine.
>>Just one port, and I don't know why!
>>
>>I can "fix" the problem by stopping and starting the host instance, but
>then
>>the reverse happens. My Shipment SQL receive fails for 1.0.0.1 instances
>>which receive the message schema type 1.0.0.2. Basically the schema
strong
>>name is always for the wrong assembly version. The SQL schema is in the
>same
>>assembly as the orchestrations.
>>
>>Can anyone tell me how to get around this, and also, how it can happen to
>>only one port of many? Generally though, I'm trying to find a
>straightforward
>>way of upgrading long-running orchestrations without terminating
instances.
>>
>>Any pointers would be greatly appreciated.
>>
>>Many thanks,
>>
>>Glynn
>>
>>
>
>

.



Relevant Pages

  • RE: redeploy BizTalk Server 2004 schema changes
    ... I ended up deleting all send and receive ports in BizTalk Explorer. ... tried to undeploy the schema assembly and Success! ... orchestration all in the same solution occurs. ...
    (microsoft.public.biztalk.general)
  • RE: Side-by-Side Deployment Issue
    ... Then enlist and start the new orchestration version ... I moved my SQL schemas into their own assembly, ... only a specific version number of the schema. ... Start the receive port. ...
    (microsoft.public.biztalk.general)
  • Re: Correlation
    ... I am developing an orchestration that is kicked off by a record being ... port and passed to an activating receive in my orchestration. ... set of SQL Server tables. ... field because, according to the generated schema, it can occur more than ...
    (microsoft.public.biztalk.general)
  • RE: BizTalk FileName Variable?
    ... Jon ), ... file to SQL adapter. ... SQL Schema for the FileName parameter. ... Assuming you are wanting to do this in an orchestration and that you have ...
    (microsoft.public.biztalk.general)
  • Re: Using existing ports created by Sql adapter
    ... You can use the ports in another orchestration of the same project as they ... use your input schema and map it to the request ... >I hv generated Schema for SP using Wizard,as result it adds Biztalk ...
    (microsoft.public.biztalk.general)