Workflow Automation - Replacing Scripting Or Code

In most organizations, systems and processes haveIf (dirStatus 1) Then
grown organically. Over a period of time, manual'MsgBox ftp.LastErrorText
scripting and 'workarounds' have been implemented'WScript.Quit
by skilled IT experts to automate what were onceMain = DTSTaskExecResult_Failure
time consuming and resource hungry manual filingEnd If
tasks. Such workarounds would have been welcomed'MsgBox ftp.getCurrentRemoteDir()localInvoiceFile =
into their various settings at the time of"C:Documents and Settings My
implementation, but with business environmentsDocuments2dRMedInvoice_RMed.txt"localPatientFile =
forever in flux, they may become harder and harder"C:Documents and Settings My
to track, implement and integrate. New systems and= "C:ClientsStratFile UploadsCustomer
infrastructure may mean new scripts, different waysUploadsRMedInvoice_RMed.txt"remotePatientFile =
of working, driven by efficiency savings or regulatory"C:ClientsStratFile UploadsCustomer
compliance may render original scripting obsolete. NewUploadsRMedPatient_RMed.txt"
programming standards, turnover of skilled staff, and'MsgBox remoteInvoiceFile
mergers and acquisitions can all expose an'MsgBox remotePatientFiletransferStatus =
organization to expensive costs and out of dataftp.getFile(remoteInvoiceFile, localInvoiceFile)if
systems. Will the new systems, staff, processes and(transferStatus 1) then
programming integrate with the old? As experts on'MsgBox ftp.LastErrorText
Managed File Transfer solutions and AutomatedMain = DTSTaskExecResult_Failureelse
Workflow Engines, we believe that it is important notMain = DTSTaskExecResult_Successend
to let the tail wag the dog.iftransferStatus = ftp.GetFile(remotePatientFile,
We have provided two simple examples which standlocalPatientFile)if (transferStatus 1) then
up on their own to present our case for a'MsgBox ftp.LastErrorText
coordinated approach when it comes to automationMain = DTSTaskExecResult_Failureelse
of workflow for your File Transfer needs.Main = DTSTaskExecResult_Successend if
Below is an example of a rudimentary script to setEND IFftp.Disconnect
up an automated file transfer between a host and aEnd Function
client. This script transfers a file from client to serverHere is how an MFT Automated Workflow Solution
and back again. The script logs the command andwould do it:
return values to a file.1. Select Originating folder
#!/bin/bash2. Select Files by name abc*.*
DATE=`date +%d.%m.%Y-%H.%M`3. Select Destination Folder
SRV=sftexa4. Export Filenames to.csv
#scpg3 putecho "/opt/xxxxx/bin/scpg3 -B -q testfile5. Schedule frequency of task
$SRV:test" >> scpg3_put_$DATE6. Save task
/opt/xxxxx/bin/scpg3 -B -q testfile.datThese two examples are for simple tasks. These
$SRV:testecho $? >> scpg3_put_$DATEtwo tasks do not have any element of security or
#scpg3 getecho "/opt/xxxxx/bin/scpg3 -B -qencryption written into them, which would be
$SRV:test test" >> scpg3_get_$DATEstandard for an MFT automated workflow solution.
/opt/xxxxx/bin/scpg3 -B -q $SRV:test testecho $?There will be savings and improvements that your
0>> scpg3_get_$DATEbusiness can make, and from casting your eye briefly
Here is how an MFT Automated Workflow Solutionat the two examples, you will know where these
would do it.areas are. You may have reservations because of
1. Select Originating folderthe complexity of the scripting you currently employ,
2. Select Destination folderhowever rest assured that mature Automated
3. Select File(s) by name/type/size/date etcWorkflow Solutions do not just perform simple tasks.
4. Schedule frequency of transferGenerally they possess a rich and configurable suite
5. Save taskof preset workflows to cover off the majority of
Here is an example of a script to extract filesyour file transfer needs, and these can be
beginning with "abc" from an FTP server. The filecustomized with minimal training, and without
names are then exported to a csv file.ftp.Hostnameprogramming expertise. Even for those tricky little
= "ftp.test.com"ftp.Username = "User"ftp.Password =processes where you need something that can be
"Pass"ftp.Passive = 1ftp.AuthTls = 1ftp.Ssl =refined even further, a good Workflow Engine will
0connectStatus = ftp.Connect()have modules and APIs that allow further
If (connectStatus 1) Thenprogramming access.
'MsgBox ftp.LastErrorTextThere is irony in manually scripting automated
'WScript.Quitprocesses; Automated Workflow Engines just does
Main = DTSTaskExecResult_Failurenot see it.
ElsedirStatus = ftp.ChangeRemoteDir("RMed")