n
A Sample SystemA Sample System
by nBoundary Software Inc.
nnTegratorTegrator
n
Fictitious Company:Fictitious Company:
NewTech Services Inc.NewTech Services Inc.
• Cleaning services company
• Formed from merger of three businesses
• Divisions:– Residential Services (“house cleaners”)– Disaster Clean-up– Commercial Maintenance
The NeedThe Need
NewTech Services Revenue Breakdown vs D&B Industry Standards
Month/Year
Division Revenue% of Total Industry %
Residential Services $$ % %Disaster Clean-Up $$ % %Commercial Maintenance $$ % %
________ _______Total $$$ 100%
n
The SystemThe System
Scraper
Download
Format
Custom
Format
COM
Format
ODBC
CombineCombine
CommerclCommercl
CombineCombine
DisasterDisaster
CombineCombine
ResidentlResidentl
Scraper
Download
Scraper
Download
HTMLHTML
CalcCalc
CombineCombine
ReportReport
Dis Com ResD&B
D&B
D&B
D&B
D&B
D&B
Dis Com ResD&B
D&B
D&B
D&B
D&B
D&B
Four Collections…
Six Interface Objects
Custom SQL DBCOM
Data Transport name is object name.
Three database structures
…therefore four collection objects
Six paths
Scraper
Download
Format
Custom
Format
COM
Format
ODBC
CombineCombine
CommerclCommercl
CombineCombine
DisasterDisaster
CombineCombine
ResidentlResidentl
Scraper
Download
Scraper
Download
HTMLHTML
CalcCalc
CombineCombine
ReportReport
Collection name is “Report”
Collection name is
“Residentl”
Object name is “COM”
Scraper
Download
Format
Custom
Format
COM
Format
ODBC
CombineCombine
CommerclCommercl
CombineCombine
DisasterDisaster
CombineCombine
ResidentlResidentl
Scraper
Download
Scraper
Download
HTMLHTML
CalcCalc
CombineCombine
ReportReport
Dis Com ResD&B
D&B
D&B
D&B
D&B
D&B
Month/Year
Division $$ % of Total D&B %
Residential Services $$ % %
Disaster Cleanup $$ % %
Commercial Maintenance
$$ % %
Total: $$$ 100%
Desired result for “Report”:
Scraper
Download
Format
Custom
Format
COM
Format
ODBC
CombineCombine
CommerclCommercl
CombineCombine
DisasterDisaster
CombineCombine
ResidentlResidentl
Scraper
Download
Scraper
Download
HTMLHTML
CalcCalc
CombineCombine
ReportReport
Dis Com ResD&B
D&B
D&B
D&B
D&B
D&B
Month/Year
Division $$ % of Total D&B %
Residential Services $$ % %
Disaster Cleanup $$ % %
Commercial Maintenance
$$ % %
Total: $$$ 100%
<COMBINATION>
<RESIDENTIAL_SERVICES><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</RESIDENTIAL_SERVICES>
<DISASTER_CLEANUP><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</DISASTER_CLEANUP>
<COMMERCIAL_MAINTENANCE><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</COMMERCIAL_MAINTENANCE>
<TOTAL> NNNN.NN </TOTAL>
</COMBINATION>
<COMBINATION>
<RESIDENTIAL_SERVICES><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</RESIDENTIAL_SERVICES>
<DISASTER_CLEANUP><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</DISASTER_CLEANUP>
<COMMERCIAL_MAINTENANCE><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</COMMERCIAL_MAINTENANCE>
<TOTAL> NNNN.NN </TOTAL>
</COMBINATION>
Agent formats data from the XML message for presentation as HTML.
Scraper
Download
Format
Custom
Format
COM
Format
ODBC
CombineCombine
CommerclCommercl
CombineCombine
DisasterDisaster
CombineCombine
ResidentlResidentl
Scraper
Download
Scraper
Download
HTMLHTML
CalcCalc
CombineCombine
ReportReport
Dis Com ResD&B
D&B
D&B
D&B
D&B
D&B
<COMBINATION>
<RESIDENTIAL_SERVICES><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</RESIDENTIAL_SERVICES>
<DISASTER_CLEANUP><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</DISASTER_CLEANUP>
<COMMERCIAL_MAINTENANCE><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</COMMERCIAL_MAINTENANCE>
<TOTAL> NNNN.NN </TOTAL>
</COMBINATION>
<COMBINATION>
<RESIDENTIAL_SERVICES><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</RESIDENTIAL_SERVICES>
<DISASTER_CLEANUP><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</DISASTER_CLEANUP>
<COMMERCIAL_MAINTENANCE><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</COMMERCIAL_MAINTENANCE>
<TOTAL> NNNN.NN </TOTAL>
</COMBINATION>
Month/Year
Division $$ % of Total D&B %
Residential Services $$ % %
Disaster Cleanup $$ % %
Commercial Maintenance
$$ % %
Total: $$$ 100%
Agent calculates total revenues and percentages of the total
Scraper
Download
Format
Custom
Format
COM
Format
ODBC
CombineCombine
CommerclCommercl
CombineCombine
DisasterDisaster
CombineCombine
ResidentlResidentl
Scraper
Download
Scraper
Download
HTMLHTML
CalcCalc
CombineCombine
ReportReport
Dis Com ResD&B
D&B
D&B
D&B
D&B
D&B
Agent combines three XML messages(Standard Agent)
<COMBINATION>
<RESIDENTIAL_SERVICES><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</RESIDENTIAL_SERVICES>
<DISASTER_CLEANUP><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</DISASTER_CLEANUP>
<COMMERCIAL_MAINTENANCE><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</COMMERCIAL_MAINTENANCE>
<TOTAL> NNNN.NN </TOTAL>
</COMBINATION>
<COMBINATION>
<RESIDENTIAL_SERVICES><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</RESIDENTIAL_SERVICES>
<DISASTER_CLEANUP><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</DISASTER_CLEANUP>
<COMMERCIAL_MAINTENANCE><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</COMMERCIAL_MAINTENANCE>
<TOTAL> NNNN.NN </TOTAL>
</COMBINATION>
Data Transport sets path,
manages flow of messages
Month/Year
Division $$ % of Total D&B %
Residential Services $$ % %
Disaster Cleanup $$ % %
Commercial Maintenance
$$ % %
Total: $$$ 100%
Scraper
Download
Format
Custom
Format
COM
Format
ODBC
CombineCombine
CommerclCommercl
CombineCombine
DisasterDisaster
CombineCombine
ResidentlResidentl
Scraper
Download
Scraper
Download
HTMLHTML
CalcCalc
CombineCombine
ReportReport
Dis Com ResD&B
D&B
D&B
D&B
D&B
D&B
<COMBINATION>
<RESIDENTIAL_SERVICES><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</RESIDENTIAL_SERVICES>
<DISASTER_CLEANUP><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</DISASTER_CLEANUP>
<COMMERCIAL_MAINTENANCE><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</COMMERCIAL_MAINTENANCE>
<TOTAL> NNNN.NN </TOTAL>
</COMBINATION>
<COMBINATION>
<RESIDENTIAL_SERVICES><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</RESIDENTIAL_SERVICES>
<DISASTER_CLEANUP><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</DISASTER_CLEANUP>
<COMMERCIAL_MAINTENANCE><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</COMMERCIAL_MAINTENANCE>
<TOTAL> NNNN.NN </TOTAL>
</COMBINATION>
Agent combines two XML messages(Standard Agent)
Data Transport manages flow of messages
Scraper
Download
Format
Custom
Format
COM
Format
ODBC
CombineCombine
CommerclCommercl
CombineCombine
DisasterDisaster
CombineCombine
ResidentlResidentl
Scraper
Download
Scraper
Download
HTMLHTML
CalcCalc
CombineCombine
ReportReport
Dis Com ResD&B
D&B
D&B
D&B
D&B
D&B
<RESIDENTIAL_SERVICES><MONTH_TOTAL> $$$$$.CC </MONTH_TOTAL></RESIDENTIAL_SERVICES>
<RESIDENTIAL_SERVICES><MONTH_TOTAL> $$$$$.CC </MONTH_TOTAL></RESIDENTIAL_SERVICES>
<COMBINATION>
<RESIDENTIAL_SERVICES><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</RESIDENTIAL_SERVICES>
<DISASTER_CLEANUP><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</DISASTER_CLEANUP>
<COMMERCIAL_MAINTENANCE><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</COMMERCIAL_MAINTENANCE>
<TOTAL> NNNN.NN </TOTAL>
</COMBINATION>
<COMBINATION>
<RESIDENTIAL_SERVICES><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</RESIDENTIAL_SERVICES>
<DISASTER_CLEANUP><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</DISASTER_CLEANUP>
<COMMERCIAL_MAINTENANCE><AMOUNT> NNNN.NN </AMOUNT><PERCENT> NN.N </PERCENT><DBPERCENT> NN.N </DBPERCENT>
</COMMERCIAL_MAINTENANCE>
<TOTAL> NNNN.NN </TOTAL>
</COMBINATION>
Agent reformats retrieved data into desired form
Data Transport reads from
external SQL database, converts
to XML(Standard DT)
Scraper
Download
Format
Custom
Format
COM
Format
ODBC
CombineCombine
CommerclCommercl
CombineCombine
DisasterDisaster
CombineCombine
ResidentlResidentl
Scraper
Download
Scraper
Download
HTMLHTML
CalcCalc
CombineCombine
ReportReport
Dis Com ResD&B
D&B
D&B
D&B
D&B
D&B
n
ConstructionConstruction
Scraper
Download
Format
Custom
Format
COM
Format
ODBC
CombineCombine
CommerclCommercl
CombineCombine
DisasterDisaster
CombineCombine
ResidentlResidentl
Scraper
Download
Scraper
Download
HTMLHTML
CalcCalc
CombineCombine
ReportReport
N
N N N
President’s computer
Disaster Clean-up computer
Commercial Maintenance computer
Residential Services computer
Scraper
Download
Scraper
Download
Scraper
Download
NInternet access
computer
NN
Scraper
Download
Format
Custom
Format
COM
Format
ODBC
CombineCombine
CommerclCommercl
CombineCombine
DisasterDisaster
CombineCombine
ResidentlResidentl
Scraper
Download
Scraper
Download
HTMLHTML
CalcCalc
CombineCombine
ReportReport
N
N N NPresident’s computer:
Prepare Agents:1. XSLT script to produce HTML2. VBScript to calculate totals and %3. “Combine” program is a standard ‘parallel’ Agent
President’s computer:
Prepare Agents:1. XSLT script to produce HTML2. VBScript to calculate totals and %3. “Combine” program is a standard ‘parallel’ Agent
NN
N
Scraper
Download
Format
Custom
Format
COM
Format
ODBC
CombineCombine
CommerclCommercl
CombineCombine
DisasterDisaster
CombineCombine
ResidentlResidentl
Scraper
Download
Scraper
Download
HTMLHTML
CalcCalc
CombineCombine
ReportReport
N
N
N N
Residential Services computer: • Standard ODBC Data Transport to
access Residential Services data.
• XSLT Agent to change data name
Residential Services computer: • Standard ODBC Data Transport to
access Residential Services data.
• XSLT Agent to change data name
President’s computer:
Prepare Agents:1. XSLT script to produce HTML2. VBScript to calculate totals and %3. “Combine” program is a standard ‘parallel’ Agent
President’s computer:
Prepare Agents:1. XSLT script to produce HTML2. VBScript to calculate totals and %3. “Combine” program is a standard ‘parallel’ Agent
N NN
Scraper
Download
Format
Custom
Format
COM
Format
ODBC
CombineCombine
CommerclCommercl
CombineCombine
DisasterDisaster
CombineCombine
ResidentlResidentl
Scraper
Download
Scraper
Download
HTMLHTML
CalcCalc
CombineCombine
ReportReport
N
N
N N
Commercial Maintenance computer:
• VBScript Data Transport to access Commercial Maintenance data using COM
• XSLT Agent to change data name
Commercial Maintenance computer:
• VBScript Data Transport to access Commercial Maintenance data using COM
• XSLT Agent to change data name
Residential Services computer: • Standard ODBC Data Transport to
access Residential Services data.
• XSLT Agent to change data name
Residential Services computer: • Standard ODBC Data Transport to
access Residential Services data.
• XSLT Agent to change data name
NNN
Scraper
Download
Format
Custom
Format
COM
Format
ODBC
CombineCombine
CommerclCommercl
CombineCombine
DisasterDisaster
CombineCombine
ResidentlResidentl
Scraper
Download
Scraper
Download
HTMLHTML
CalcCalc
CombineCombine
ReportReport
N
N
N N
Disaster Clean-up computer:
• Custom VBScript Data Transport to access Disaster Clean-up
data• XSLT Agent to change data
name
Disaster Clean-up computer:
• Custom VBScript Data Transport to access Disaster Clean-up
data• XSLT Agent to change data
name
Commercial Maintenance computer:
• VBScript Data Transport to access Commercial Maintenance data using COM
• XSLT Agent to change data name
Commercial Maintenance computer:
• VBScript Data Transport to access Commercial Maintenance data using COM
• XSLT Agent to change data name
N
N
N Scraper
Download
Format
Custom
Format
COM
Format
ODBC
CombineCombine
CommerclCommercl
CombineCombine
DisasterDisaster
CombineCombine
ResidentlResidentl
Scraper
Download
Scraper
Download
HTMLHTML
CalcCalc
CombineCombine
ReportReport
N
N N N
Internet access computer:
•Custom web access Data Transport to access D&B web site(reused twice)
•Three VBScript Agents to ‘scrape’ data
Internet access computer:
•Custom web access Data Transport to access D&B web site(reused twice)
•Three VBScript Agents to ‘scrape’ data
Disaster Clean-up computer:
• Custom VBScript Data Transport to access Disaster Clean-up
data• XSLT Agent to change data
name
Disaster Clean-up computer:
• Custom VBScript Data Transport to access Disaster Clean-up
data• XSLT Agent to change data
name
N Scraper
Download
Format
Custom
Format
COM
Format
ODBC
CombineCombine
CommerclCommercl
CombineCombine
DisasterDisaster
CombineCombine
ResidentlResidentl
Scraper
Download
Scraper
Download
HTMLHTML
CalcCalc
CombineCombine
ReportReport
N
N
N N N
Internet access computer:
•Custom web access Data Transport to access D&B web site(reused twice)
•Three VBScript Agents to ‘scrape’ data
Internet access computer:
•Custom web access Data Transport to access D&B web site(reused twice)
•Three VBScript Agents to ‘scrape’ data
n
Agent / Data Transport Lines of code
“Calc” Agent: VBScript 50
DT to access DB using COM: VBScript 70
DT to access proprietary DB: VBScript 150
“Scraper” Agent 1: VBScript 20
“Scraper” Agent 2: VBScript 20
“Scraper” Agent 3: VBScript 20
Report format Agent: XSL template 50
Change data name Agent 1: XSL template 19
Change data name Agent 2: XSL template 19
Change data name Agent 3: XSL template 19
DT to access D&B website 1: C++ 200
DT to access D&B website 2: C++ 1
DT to access D&B website 3: C++ 1
Agents to combine messages 0
ODBC DT to access SQL DB 1
Total code 640
Boilerplate (80%) 500
Total original code 140