|
Home > Archive > BizTalk Server Orchestration > July 2005 > newbie quest on ftp orchrestration
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]
| Author |
newbie quest on ftp orchrestration
|
|
| whidbeywave 2005-07-06, 2:48 am |
| Hello Gurus,
I like to know how to do the following process using biztalk 2004. On
every Wednesday 12:25am, a delimited flat file needs to be ftp from
external site. This file contains list of users. The process needs to
check for duplicate records by firstname (assume the record have
first,last name and city). if any duplicate records are found, they
need to be mailed to somebody@otheroffice.com. Other records needs to
be send to a .net service GAC component, which does pass it into other
system.
I need to implement this GAC component too.
My first assumption was just to configure and everything would be fine,
but later on it looks like a task of rolling sleeves on with creating
custom pipeline components or customize adapter. What is the
recommendation? Thank you for helping me out. Any code or link would be
cool.
Thanks
Wave.
| |
| brad more 2005-07-06, 5:51 pm |
| Hi Wave ---
Not a guru, but see if this makes sense to you: I don't think you need a
custom adapter.
a) Use a flat file schema to convert from delimited to "something else",
i.e. some flavor of xml
b) Use a looping shape in orchestration to iterate through records
c) Use an external component to check each record against the whole, either
by sending your component both the record and the whole every time (very
inefficient) or initialize a little temporary storage in a database
somewhere, then clean up at end of orchestrration (much more efficient if
you can guarantee only one message at a time, as you seem to indicate ...
i.e. once nightly)
d) Use a simple decision shape to examine results of your dupe search
e) Use SMTP adapter to fire off a little mail as required based on decision
rule
f) Repeat
As for timing, if you have to go out and FTP at a certain time, the easiest
way I've ever found to do this is use a very simple little timer app outside
BizTalk to drop a "starter" file in a directory, monitored by a file
adapter, that initiates the orchestration. The message/file doesn't
actually have to be anything useful, as it's just used to activate first
receive shape of orchestration. Alternative might be use SQLAgent to drop a
record at a specific time? Something like that should work fine, as BTS has
no event timer that I know of ...
Might be a nice addition, don't you think product team?
r/Brad
"whidbeywave" <indianiowan@yahoo.com> wrote in message
news:1120623781.044074.27200@g49g2000cwa.googlegroups.com...
> Hello Gurus,
> I like to know how to do the following process using biztalk 2004. On
> every Wednesday 12:25am, a delimited flat file needs to be ftp from
> external site. This file contains list of users. The process needs to
> check for duplicate records by firstname (assume the record have
> first,last name and city). if any duplicate records are found, they
> need to be mailed to somebody@otheroffice.com. Other records needs to
> be send to a .net service GAC component, which does pass it into other
> system.
> I need to implement this GAC component too.
>
> My first assumption was just to configure and everything would be fine,
> but later on it looks like a task of rolling sleeves on with creating
> custom pipeline components or customize adapter. What is the
> recommendation? Thank you for helping me out. Any code or link would be
> cool.
>
> Thanks
> Wave.
>
| |
| Jeff Lynch 2005-07-06, 8:47 pm |
| The only other recommendations I'd make is to use the BTS2004 Rules Engine
or an external .NET assembly to "check" for your duplicate records in your
instance document using XPath. You can also enable the Service Window on the
FTP Receive Location and set the properties to activate every day at say
12:00PM - 1:00PM and set the Interval property to every hour. This will
effectively run the FTP Receive Adapter once a day. If the file is there it
gets it. For all the days it's not there, nothing happens.
--
Jeff Lynch
"A BizTalk Enthusiast"
http://codebetter.com/blogs/jeff.lynch
"brad more" <bmore@online.blackdogs.com> wrote in message
news:e$$V5YkgFHA.3616@TK2MSFTNGP12.phx.gbl...
> Hi Wave ---
>
> Not a guru, but see if this makes sense to you: I don't think you need a
> custom adapter.
>
> a) Use a flat file schema to convert from delimited to "something else",
> i.e. some flavor of xml
> b) Use a looping shape in orchestration to iterate through records
> c) Use an external component to check each record against the whole,
> either by sending your component both the record and the whole every time
> (very inefficient) or initialize a little temporary storage in a database
> somewhere, then clean up at end of orchestrration (much more efficient if
> you can guarantee only one message at a time, as you seem to indicate ...
> i.e. once nightly)
> d) Use a simple decision shape to examine results of your dupe search
> e) Use SMTP adapter to fire off a little mail as required based on
> decision rule
> f) Repeat
>
> As for timing, if you have to go out and FTP at a certain time, the
> easiest way I've ever found to do this is use a very simple little timer
> app outside BizTalk to drop a "starter" file in a directory, monitored by
> a file adapter, that initiates the orchestration. The message/file
> doesn't actually have to be anything useful, as it's just used to activate
> first receive shape of orchestration. Alternative might be use SQLAgent to
> drop a record at a specific time? Something like that should work fine,
> as BTS has no event timer that I know of ...
>
> Might be a nice addition, don't you think product team?
>
> r/Brad
>
> "whidbeywave" <indianiowan@yahoo.com> wrote in message
> news:1120623781.044074.27200@g49g2000cwa.googlegroups.com...
>
>
| |
| whidbeywave 2005-07-31, 5:52 pm |
| Thank you Gurus. Excuse me for delay, had some show stoppers in life.
Brad I do think the one who enlighten others is a guru. :-o)
FTP stuff was fine, about dropping file from external application, but
definately it would be cool to get as one of transport methods. SMTP, a
prototype looks good, have still to implement in enterprise way.
I understood something what Jeff meant by using Biztalk rule engine to
check duplicate, and liked it. One way I was able to think is by adding
extra IsDuplicate xml node, which gets evaluated by rules engine. But I
wonder if this is usual way to do it.
Can someone suggest me about how to create/maintain or categories rules
vocabulary in enterprise wide application, where functionality is
growing (like 70% more of its initial scope).
Thanks
Wave
Jeff Lynch wrote:[vbcol=seagreen]
> The only other recommendations I'd make is to use the BTS2004 Rules Engine
> or an external .NET assembly to "check" for your duplicate records in your
> instance document using XPath. You can also enable the Service Window on the
> FTP Receive Location and set the properties to activate every day at say
> 12:00PM - 1:00PM and set the Interval property to every hour. This will
> effectively run the FTP Receive Adapter once a day. If the file is there it
> gets it. For all the days it's not there, nothing happens.
>
> --
> Jeff Lynch
> "A BizTalk Enthusiast"
> http://codebetter.com/blogs/jeff.lynch
>
>
> "brad more" <bmore@online.blackdogs.com> wrote in message
> news:e$$V5YkgFHA.3616@TK2MSFTNGP12.phx.gbl...
|
|
|
|
|