|
Home > Archive > BizTalk Server General > December 2005 > Correlation type
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
|
|
| Samuel L 2005-12-19, 7:48 am |
| Hi!
I am passing a correlation set as parameter to a called orchestration.
My question is why the called orch must know the correlation type at
design-time?
I think this reduces the flexibility quite much, doesn't it?
Thanks for your comments!
| |
| Scott Colestock 2005-12-19, 5:54 pm |
| One reason is that, if it is a content-based property (as opposed to
context-based), the compiler can enforce that the messages involved in the
correlation actually have the corresponding properties present (that are
involved in the correlation.)
Without type information, this would be tough to do.
Scott Colestock
www.traceofthought.net
"Samuel L" <SamuelL@discussions.microsoft.com> wrote in message
news:88736651-61B1-4AFF-B04C-D14BAFB948BD@microsoft.com...
> Hi!
>
> I am passing a correlation set as parameter to a called orchestration.
> My question is why the called orch must know the correlation type at
> design-time?
>
> I think this reduces the flexibility quite much, doesn't it?
>
> Thanks for your comments!
>
| |
| Samuel L 2005-12-19, 5:54 pm |
| Thanks Scott! Now I see one reason for it.
But I still think that this makes a big decrease of the flexibility.
To me the gain seems less important than the loss. Do you agree?
"Scott Colestock" wrote:
> One reason is that, if it is a content-based property (as opposed to
> context-based), the compiler can enforce that the messages involved in the
> correlation actually have the corresponding properties present (that are
> involved in the correlation.)
>
> Without type information, this would be tough to do.
>
> Scott Colestock
> www.traceofthought.net
>
>
>
> "Samuel L" <SamuelL@discussions.microsoft.com> wrote in message
> news:88736651-61B1-4AFF-B04C-D14BAFB948BD@microsoft.com...
>
>
>
| |
| Scott Colestock 2005-12-19, 5:54 pm |
| Well...I'm having trouble understanding the behavior that you'd *like* to
see.
A correlation set is an instance of a type. The type information is vital
for ensuring that the correlation can happen (since it identifies the
relevant portion of the message we are interested in.)
Are you envisioning a way that the system could get by without this
information?
Scott Colestock
www.traceofthought.net
"Samuel L" <SamuelL@discussions.microsoft.com> wrote in message
news:19323A81-F80E-480B-8CCF-0B3BF84B1D70@microsoft.com...[vbcol=seagreen]
> Thanks Scott! Now I see one reason for it.
>
> But I still think that this makes a big decrease of the flexibility.
> To me the gain seems less important than the loss. Do you agree?
>
>
> "Scott Colestock" wrote:
>
| |
| Samuel L 2005-12-19, 5:54 pm |
| Well, probably you're right... Probably I don't see the whole picture of it.
I think of a correlation set like a mapping between property names and
property values. Then it seems easy to me pass an arbitrary such mapping to
an orchestration. If we specify a receive shape to follow it, then we it
would just be to check if the properties given by the set has got the same
values as in the message.
But maybe what I don't see here is the motivation for having correlation
types...!?!
Thanks Scott!
"Scott Colestock" wrote:
> Well...I'm having trouble understanding the behavior that you'd *like* to
> see.
>
> A correlation set is an instance of a type. The type information is vital
> for ensuring that the correlation can happen (since it identifies the
> relevant portion of the message we are interested in.)
>
> Are you envisioning a way that the system could get by without this
> information?
>
> Scott Colestock
> www.traceofthought.net
>
>
> "Samuel L" <SamuelL@discussions.microsoft.com> wrote in message
> news:19323A81-F80E-480B-8CCF-0B3BF84B1D70@microsoft.com...
>
>
>
| |
| Scott Colestock 2005-12-19, 5:54 pm |
| Oh, I see what you are saying now.
I guess you could imagine something more loosely typed, but the correlation
type defines one (or more!) property names and the associated property
namespaces. (You might have multiple criteria to define a correlation
match.) Properties in the system also have a guid association.
It seems like the formal type is warranted, but you could probably debate
that.
There are many situations in which mutliple orchestrations will coordinate
via correlation even though each has its own definition of correlation type
(referencing the same underlying property.) So sharing the correlation type
isn't always necessary - just for the call/start orch shape case when you
pass a correlation set as a parameter. (Not needed for direct binding,
though.)
Scott Colestock
www.traceofthought.net
"Samuel L" <SamuelL@discussions.microsoft.com> wrote in message
news:71058192-6486-4153-9130-4D8B247DE9F3@microsoft.com...[vbcol=seagreen]
> Well, probably you're right... Probably I don't see the whole picture of
> it.
>
> I think of a correlation set like a mapping between property names and
> property values. Then it seems easy to me pass an arbitrary such mapping
> to
> an orchestration. If we specify a receive shape to follow it, then we it
> would just be to check if the properties given by the set has got the same
> values as in the message.
>
> But maybe what I don't see here is the motivation for having correlation
> types...!?!
>
> Thanks Scott!
> "Scott Colestock" wrote:
>
| |
| Samuel L 2005-12-19, 5:54 pm |
| Thanks Scott... I see more clearly now! =)
"Scott Colestock" wrote:
> Oh, I see what you are saying now.
>
> I guess you could imagine something more loosely typed, but the correlation
> type defines one (or more!) property names and the associated property
> namespaces. (You might have multiple criteria to define a correlation
> match.) Properties in the system also have a guid association.
> It seems like the formal type is warranted, but you could probably debate
> that.
>
> There are many situations in which mutliple orchestrations will coordinate
> via correlation even though each has its own definition of correlation type
> (referencing the same underlying property.) So sharing the correlation type
> isn't always necessary - just for the call/start orch shape case when you
> pass a correlation set as a parameter. (Not needed for direct binding,
> though.)
>
> Scott Colestock
> www.traceofthought.net
>
>
> "Samuel L" <SamuelL@discussions.microsoft.com> wrote in message
> news:71058192-6486-4153-9130-4D8B247DE9F3@microsoft.com...
>
>
>
|
|
|
|
|