Abstract:
A method for providing business information comprises receiving a request, a selected industry, and a selected region, then generating report data, and providing a printable industry report. The industry report has charts and a map and is divided into a national market overview section, a market dynamics section, and a company information section. A system for providing business information has an application server, a web server, and a memory, such as a database. The application server fabricates a data product. The web server processes requests from the application server and provides the data product in an industry report. The web server includes charting and mapping components. For rapid retrieval, the database stores a table of company information.

Description:
CROSS REFERENCE 
   This application claims priority of U.S. Provisional Patent Application Ser. No. 60/358,918, filed on Feb. 22, 2002. 

   BACKGROUND 
   1. Field of the Invention 
   The present invention relates to systems and methods for providing a business information service, and more particularly, to providing an industry report. 
   2. Description of the Related Art 
   Small businesses frequently need to know if entering a specific market is a wise or risky proposition. They focus on sales and opportunity analysis. However, it is often difficult for small businesses to get the information they need. Conventional sources of gathering information are too slow. Some reports do not present information in an appealing manner and many do not cover the appropriate geographical regions. There is a need for a visually appealing industry report for small businesses that generates immediate impact and interest. 
   The industry report according to the present invention overcomes the disadvantages of conventional reports and quickly identifies the top players in the industry within particular geographic regions. The present invention provides a unique report that can be used to:
         Analyze a specific industry   Find potential new customers   Find suppliers for goods and services   Identify competitors   Compare my business to an industry
 
The report according to the present invention is delivered in real-time with no more than 20 seconds required to retrieve and format the data for the report. The present invention also provides a report comprising graphical interfaces, which provide for the dynamic generation and streaming of charts and maps directly to the operator&#39;s browser. The reports according to the present invention are uniquely downloadable in a printable HTML version for easy printing.
       

   SUMMARY 
   A method of providing business information via an industry report, wherein user inputs are sent to a central processing unit (CPU). The user inputs comprising a request, a selected industry, and/or a selected region are received by a CPU. Then, report data is generated and an industry report is produced that includes the report data for the selected industry and the selected region. There may be a purchase confirmation before the report is provided and the industry report may be stored for later retrieval. The industry report may have one or more charts showing the concentration of sales across an industry, company ages, risk of late payment, or sales over a period of time, such as the last three years. In addition, the industry report may include a map indicating a company location and ordered company information for a predetermined number of companies. This ordered company information may include a company name, an address, a phone number, at least one contact name, sales information, a date started, and a total number of employees. The industry report may be organized into three sections: a national market overview section, a market dynamics section, and a company information section. 
   Another embodiment of the present invention is a system for providing business information. The system comprises an application server, a web server, and a memory. The application server fabricates a data product. The web server processes requests from the application server and provides the data product in an industry report. Two web servers may be used in place of one so that the first web server processes requests from the application server and the second web server retrieves the fabricated data product from the memory and provides it in the industry report. In addition, the first web server may have a charting component and a mapping component. The memory provides data to the web server and stores the fabricated data product. The memory may be one or more databases. Two memories may be used in place of one so that the first memory provides data to the web server and the second memory stores the fabricated data product. For rapid retrieval, the memory may store a table of a predetermined number of companies clustered by annual sales. 
   These and other features, aspects, and advantages of the present invention will become better understood with reference to the drawings, description, and claims. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  is a flow chart of an embodiment of a method of producing an industry report according to the present invention. 
       FIG. 2  is a screen layout of an example company information screen for an embodiment of a user interface for the method of  FIG. 1 . 
       FIG. 3  is a screen layout of an example industry selection screen for an embodiment of a user interface for the method of  FIG. 1 . 
       FIG. 4  is a screen layout of an example region selection screen for an embodiment of a user interface for the method of  FIG. 1 . 
       FIG. 5  is a screen layout of an example purchase confirmation screen for an embodiment of a user interface for the method of  FIG. 1 . 
       FIG. 6  is a screen layout of an example industry report produced by the method of  FIG. 1 . 
       FIG. 7  is a screen layout of another example industry report produced by the method of  FIG. 1 . 
       FIG. 8  is a screen layout of another example industry report produced by the method of  FIG. 1 . 
       FIG. 9  is a screen layout of another example industry report produced by the method of  FIG. 1 . 
       FIG. 10  is a screen layout of another example industry report produced by the method of  FIG. 1 . 
       FIG. 11  is a screen layout of an example “My Lists and Reports” folder for an embodiment of a user interface for the method of  FIG. 1 . 
       FIG. 12  is a block diagram of an embodiment of a system architecture for practicing the method of  FIG. 1 . 
       FIG. 13  is flow chart of another embodiment of a method of producing an industry report as one alternative to the method of  FIG. 1 . 
   

   DESCRIPTION OF THE PREFERRED EMBODIMENT 
   In the following detailed description, reference is made to the accompanying drawings. These drawings form a part of this specification and show by way of example specific preferred embodiments in which the present invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the present invention. Other embodiments may be used and structural, logical, and electrical changes may be made without departing from the spirit and scope of the present invention. Therefore, the following detailed description is not to be taken in a limiting sense and the scope of the present invention is defined only by the appended claims. 
   The present invention is directed to a method of providing business information in an industry report. This innovative new product provides users with an overview of an industry at the national, regional, state, or metro-area level. It provides sales information, number of companies, number of employees, and credit risk data. This report is visually appealing and grabs users, generating immediate impact and interest. 
   The industry report is targeted at two main functions, sales and opportunity analysis. The industry report enables small business owners with sales responsibilities to quickly identify the top players in an industry within a geographic region. The industry report is useful in analyzing an industry to determine if entering a market is a wise or a risky proposition. 
   The industry report is delivered in near real-time, with no more than about 20 seconds required to retrieve and format the data for display. Graphic elements, including charts and a map are dynamically generated and streamed to a user&#39;s browser. The industry report is printable and provided in HTML. 
   Selecting an industry report may be done from a company information screen that allows the user to search for a desired industry. The industry report may be stored by the user for later use or updating. For example, the user may store it in “Tracking Folders” or “My Lists and Reports.” In addition, the user may save the industry report on a local disk via the “Save As” function on the user&#39;s browser. 
     FIG. 1  shows a method of producing an industry report. In this example, the user selects the industry report from a “Main Menu Bar”  100  and then goes to an “Industry Report Splash Page”  102 . Alternately, the user selects “Get New Report” from a “Reports Folder More Menu”  104  and then goes to “Industry Report Splash Page”  102 . From “Industry Report Splash Page”  102 , the user does an industry keyword search  106 . This brings up a “Industry List Page”  108 . Alternately, the user may arrive at “Industry List Page”  108  by choosing to display an industry report from a “Company Information Page”  110  or by choosing to get a report for a similar industry from “Reports Folder More Menu”  104 . From “Industry List Page”  108 , there is a decision branch on whether it contains the desired industry  112 . If not, control flows back to where the user can do another industry keyword search  106 . Otherwise, the user chooses a region, state, or metro area  114 . 
   Once the user makes a selection, there is a decision on whether there are enough companies in the region based on a predetermined threshold  116 . If not, control flows back to allow the user to make another region, state, or metro area selection  114 . Otherwise, the user makes a purchase confirmation  118 . Alternately, the user may make purchase confirmation  118  after choosing to update report data from “Reports Folder More Menu”  104 . 
   After purchase confirmation  118 , report data is generated  120  by receiving summary data from an industry cube  122 , which is created from an information and content exchange (ICE) warehouse  124 , and by receiving data on a select number of companies, for example the top 25, from ICE warehouse  124 . A cube is an aggregation of data from a data warehouse. ICE is a protocol for use by content syndicators and their subscribers and it is available as a W3Note dated Oct. 26, 1998. After report data is generated  120 , the industry report is stored in a folder in a data store  125 . Then, the industry report is displayed  126  along with a pop-up printable report  128 . At this point, credit is checked at an evaluator  130 . 
     FIG. 2  shows an example company information screen  200 . Company information screen  200  has a link to a screen for displaying an industry report  202  associated with the currently displayed company  204 . An instant registration icon  206  remains on company information screen  200  for users who are not logged-in. 
     FIG. 3  shows an example industry selection screen  300 . Industry selection screen  300  has an example list  302  of industry names and their associated standard industrial classification (SIC) numbers. For the purpose of classifying companies with an industry code, only the primary SIC field is used and only the 8-digit SIC code is used. A search function  304  is provided so that the user may search for an industry. In addition, a link to an example industry report  306  is provided. Industry selection screen  300  is the first of three steps for requesting an industry report, in this example. 
     FIG. 4  shows an example region selection screen  400 . Region selection screen  400  is the second of three steps for requesting an industry report. The region selection may mirror existing user interface selections or be similar to other standard user interfaces, such as the user interface in Microsoft® Word for selecting what to print. In this example, a top radial button is for national  402 , a next radial button selects regional  404 , a second to last radial button selects state  406 , and a last radial button selects metro area  408 . The regional, state, and metro selections have a drop down menu  410  that displays a list of regions, such as those listed in Tables 1 and 2. 
   
     
       
             
           
             
             
             
           
         
             
               TABLE 1 
             
             
                 
             
             
               Small Business Solutions (SBS) Marketing List Regions 
             
             
                 
             
           
           
             
                 
             
           
        
         
             
                 
               NorthEast 
               South Central 
             
             
                 
               Mid-Atlantic 
               NorthWest 
             
             
                 
               SouthEast 
               SouthWest 
             
             
                 
               North Central 
               Far Pacific 
             
             
                 
                 
             
           
        
       
     
   
   
     
       
             
           
             
             
           
         
             
               TABLE 2 
             
             
                 
             
             
               Common Regions 
             
             
                 
             
           
           
             
                 
             
           
        
         
             
                 
               Mid-Atlantic 
             
             
                 
               Central 
             
             
                 
               South East 
             
             
                 
               North West 
             
             
                 
               South East 
             
             
                 
                 
             
           
        
       
     
   
     FIG. 5  shows an example purchase confirmation screen  500 . Purchase confirmation  500  is the last of three steps for requesting an industry report. Information is displayed about the selected report  502 , its price  504 , and how to order the report  506  such as by using a button. 
     FIG. 6  shows an example industry report  600 . Industry report  600  may be displayed on one or more pages and has four main parts, i.e., a heading  602 , a market overview section  604 , a market dynamics section  606 , and a company information section  608 . Heading  602  has an industry name  610 , region  612 , and date  614 . Market overview section  604  has general information  616 , a concentration of sales across the industry  618  with descriptive text, a map of the location of company headquarters  620  with descriptive text, and ages of existing companies nationwide  622  with descriptive text. Branch locations may be excluded from the report data, using only headquarters and single locations. Market dynamics section  606  has a risk of late payment  624  and sales over a period of time  626 , such as three years with descriptive text. Company information section  608  has an ordered list of selected businesses, such as the top 25, with name, address, phone, contact names, total sales, date started, and number of employees for each company. Financial data and number of employees are rolled up to the headquarters location. In addition, yellow page listings may be included. 
   Some pieces of the industry report are calculated at the national level, while others are specific to the selected geographic region. All data is specific to the selected industry. Table 3 shows some additional information about the example data fields in the industry report. 
   
     
       
             
           
             
             
             
             
           
         
             
               TABLE 3 
             
           
           
             
                 
             
             
               Example Data Fields 
             
           
        
         
             
                 
               National/ 
                 
                 
             
             
                 
               Specific 
             
             
               Report 
               Geographic 
             
             
               Element 
               level 
               Data Source 
               Comment 
             
             
                 
             
             
               Annual Sales 
               National 
               OLAP - sum of 
                 
             
             
               Total 
                 
               annual_sales_us 
             
             
               Count of 
               National 
               OLAP count of 
             
             
               companies 
                 
               uniq_site 
             
             
               # of 
               National 
               OLAP sum 
             
             
               Employees 
                 
               emp_total 
             
             
               Headquarters 
               National 
               OLAP count of 
             
             
               location map 
                 
               uniq_site with 
             
             
                 
                 
               location type of 
             
             
                 
                 
               HQ 
             
             
               Top 25 
               Specific 
               Relational 
               For performance, may 
             
             
               company list 
                 
               database. Top 25 
               need new SBO table 
             
             
                 
                 
               companies based 
               (or extend competitors 
             
             
                 
                 
               on 
               table) with SIC, geo 
             
             
                 
                 
               annual_sales_us. 
               codes, country, 
             
             
                 
                 
               Return list will 
               clustered on annual 
             
             
                 
                 
               need to include 3 
               sales descending. 
             
             
                 
                 
               contact names, 
             
             
                 
                 
               sales, address 
             
             
                 
                 
               information, 3 yr. 
             
             
                 
                 
               sales trend, and 
             
             
                 
                 
               credit score. 
             
             
               Annual Sales 
               Specific 
               OLAP sum of 
             
             
                 
                 
               annual_sales_us 
             
             
               Sales 
               Specific 
               Calculated 
               Using Top 25 list, sum 
             
             
               concentration 
                 
                 
               sales of 1-10, 11-25. 
             
             
                 
                 
                 
               Subtract from region 
             
             
                 
                 
                 
               annual sales for 
             
             
                 
                 
                 
               “others” 
             
             
               Sales trend 
               Specific 
               Calculated 
               Using Top 25 list, 
             
             
               graph 
                 
                 
               count number in list 
             
             
                 
                 
                 
               with 3 yr. sales trend 
             
             
                 
                 
                 
               figures in ranges 
             
             
                 
                 
                 
               &lt;−5%, −5 to +5%, 
             
             
                 
                 
                 
               &gt;+5%. 
             
             
               Risk of late 
               Specific 
               Calculated 
               Using Top 25 list, 
             
             
               payment 
                 
                 
               count number in list 
             
             
               graph 
                 
                 
               with credit score in 
             
             
                 
                 
                 
               certain range. Original 
             
             
                 
                 
                 
               specification request 
             
             
                 
                 
                 
               previous year vs. 
             
             
                 
                 
                 
               current year. Previous 
             
             
                 
                 
                 
               year sales figures are 
             
             
                 
                 
                 
               not currently available 
             
             
                 
                 
                 
               in marketing database. 
             
             
                 
                 
                 
               Suggestion is to use 3 
             
             
                 
                 
                 
               year sales trend figure. 
             
             
               Age of 
               Specific 
               OLAP cube. 
             
             
               existing 
                 
               Count of 
             
             
               companies 
                 
               uniq_site by 
             
             
               graph 
                 
               age_rng_cd. 
             
             
                 
             
           
        
       
     
   
     FIGS. 7-10  show that industry report  600  is printable in its entirety or by section.  FIG. 7  shows another example industry report  700 , which is the entire printable report as shown in  FIG. 6 , but without the browser frame, search icon, folders, and border.  FIG. 8  shows another example industry report  800 , which is the printable market overview section  604  of  FIG. 6 .  FIG. 9  shows another example industry report  900 , which is the printable market dynamics section  606  of  FIG. 6 .  FIG. 10  shows another example industry report  1000 , which is the printable company information section  608  of  FIG. 6 . 
     FIG. 11  shows an example folder entitled “My Lists and Reports”  1100 . “My Lists and Reports”  1100  shows a “Beer Report”  1102 , which is a previously created industry report. Next to the “Beer Report”  1102  is a “More” button  1104 . When the user selects the “More” button  1104 , the report data will be updated as shown in  FIG. 1  on the flow line between “Reports Folder More Menu”  104  and purchase confirmation  118 . Alternately, the user could get a report for a similar industry (flow line between “Reports Folder More Menu”  104  and “Industry List Page”  108  in  FIG. 1 ) or get a new report (flow line between “Reports Folder More Menu”  104  and “Industry Report Splash Page”  102  in  FIG. 1 ). 
     FIG. 12  shows a system  1200 , which may be part of a larger system. System  1200  includes a web server  1202 , an application server  1204 , an information content and exchange (ICE) component  1206 , and a database  1208 . Web server  1202  and application server  1204  may be used for other small business solution (SBS) functionality. Application server  1204  includes a database  1205 . ICE component  1206  includes an ICE server  1210 , an ICE warehouse  1212 , and an ICE cube  1214 . Ice cube  1214  may be an online analytical processing (OLAP) cube. ICE component  1206  uses structured query language (SQL) and multidimensional expression language (MDX). ICE warehouse  1212  may have an optimized table for a selected number of companies such as the top 25, clustered by annual sales, descending, with region and SIC selectors in the table. Additional fields, such as a top three contacts, sales trend, and credit score may be included in the table or a join to a site may be made. In this example, database  1208  is Telebase, an online information service available from D&amp;B in King of Prussia, Pa. 
   System  1200  is involved in fabricating and delivering an industry report product to a user  1216 . Data content in extensible markup language (XML) for the industry report is fabricated on application server  1204 . Application server  1204  makes multiple synchronous XML calls over hypertext transfer protocol (HTTP) to web server  1202 . Simple object access protocol (SOAP) communication may be used for XML and HTTP. Each request provides a block of data from either ICE warehouse  1212  or ICE cube  1214 . The separate data blocks are collated by application server  1204  and returned as a product packet to web server  1202 , after charging is complete. Alternatively, ICE component  1206  may fabricate the complete data product or web server  1202  may collate multiple requests from ICE component  1206 . 
   The data product is stored in database  1205  as item content for later redelivery and may be stored as XML. A storage device for report content may be created to separate data content from operational data. Web server  1202  may retrieve the data product multiple times if the industry report is multiple pages long with a printable version. In addition, if user  1216  reviews the industry report at a later date, system  1200  returns the same data as in the originally sold industry report, not a version based on possibly newer data. Alternatively, free updates may be offered to the user as data is refreshed. There may be various lifetime and purging rules associated with data storage. 
   HTTP formatting is done on web server  1202  through an extensible stylesheet language (XSL) transformation (XSLT) by using, for example, an Microsoft® XML (MSXML) 4.0 processor. References to charts and maps are through image tags pointing back to the website. Charts in the industry report are dynamically generated by a commercially available component object module (COM) component executed on web server  1202  in response to an HTTP image request. The images are not stored on the file system of web server  1202 , but streamed back to the browser immediately. Charting may be performed by ChartDirector available from Advanced Software Engineering Limited, which is headquartered in Kowloon, Hong Kong. Any other similar product may be used for small, file size, charts, such as bar graphs. The industry report includes a nationwide map for counts of headquarters locations. This map is generated by positioning the counts above slices of a static United States map. If the map does not work in some browsers, an HTML table listing the counts per region may be used instead. 
     FIG. 13  shows a method of producing an industry report  1300 . There are three paths to an HTTP request to the application server  1302 , by updating the industry report  1304 , by the original purchase  1306 , and by viewing the industry report  1308 . After purchase, the industry report is generated  1310  with summary data from an industry cube  1312  and company information from an ICE warehouse  1314 . Then, the industry report is stored in a storage device  1316  and a charge is applied  1318 . Also, when application server  1302  fulfills an HTTP request to view the industry report, it accesses storage device  1316 . Finally, there is an HTTP response to the web server  1320  from storage device  1316  and the industry report is displayed  1322 , including a pop-up printable report  1324 . 
   Method  1300  includes object-oriented software having a number of classes, such as a workflow class and a bizlogic class. A number of dynamic link libraries (DLLs) may also be included, such as one for small business operations (SBO) work flow or one for an application proxy, which is a portal class from web server  1202  to application server  1204 . The workflow class includes a function to accept geography, six digit SIC, displayed price, user ID, item ID, and order ID. These are combined into XML format and posted to application server  1204 . The combination tells a processor if user  1216  wants to look at the industry report, buy it, or re-purchase it. After processing in the SBO work flow DLL is finished, the function returns a string to an active server page (ASP) where it is parsed and displayed. Table 4 shows example XML posted from web server  1202  to application server  1204 . 
   
     
       
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
         
             
               TABLE 4 
             
             
                 
             
             
               Example XML 
             
             
                 
             
           
           
             
                 
             
           
        
         
             
                 
               &lt;IND_RPT_RQ&gt; 
             
           
        
         
             
                 
               &lt;USER_ID/&gt; 
             
             
                 
               &lt;RPT_ID/&gt; 
             
             
                 
               &lt;GEO Code=“”&gt; 
             
           
        
         
             
                 
               &lt;AREA/&gt; 
             
           
        
         
             
                 
               &lt;/GEO&gt; 
             
             
                 
               &lt;SIC_6/&gt; 
             
             
                 
               &lt;DISP_PRICE/&gt; 
             
             
                 
               &lt;DEL_ITEM/&gt; 
             
             
                 
               &lt;CRC&gt; 
             
           
        
         
             
                 
               &lt;EMAIL&gt;&lt;/EMAIL&gt; 
             
             
                 
               &lt;USER_ID&gt;&lt;/USER_ID&gt; 
             
           
        
         
             
                 
               &lt;/CRC&gt; 
             
           
        
         
             
                 
               &lt;/IND_RPT_RQ&gt; 
             
             
                 
                 
             
           
        
       
     
   
   An industry report class is added to the SBO biz logic project. The industry report class has functions for HTTP requests to negotiate about window size (NAWS), creation of a storable XML string, and database access functions, such as storing and retrieving. 
   Method  1300  may also include the following example process steps.
         1. Several transaction types are possible when the application server receives the XML from the web server.
           a. If no RPT_ID is present and GEO and SIC — 6 are empty then the process fails.   b. If no RPT_ID is present and GEO and SIC — 6 are not empty then continue processing. Proceed to step 2.   c. If a RPT_ID is present, check for GEO and SIC — 6. If these tags are non-empty then continue processing. Proceed to step 2.   d. If a RPT_ID is present and GEO is empty then get current stored report from the database. The function GetItem is used for this purpose. Proceed to step 6.   
           2. Once the geography and 6 digit SIC have been retrieved a series of HTTP requests are made to the NAWS database.
           a. Each request is synchronous in nature and if any step fails to return data or returns an error then the entire process fails and the user is not charged.
               i. The first request returns a list of the top 25 companies in the industry and the geographic area chosen by the user. Table 5 shows an example of the request.   
               
               

   
     
       
             
           
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
           
         
             
               TABLE 5 
             
             
                 
             
             
               Example of the First Request 
             
             
                 
             
           
           
             
                 
             
           
        
         
             
               &lt;DGX&gt; 
             
           
        
         
             
                 
               &lt;SIGNONMSGSRQV1&gt; 
             
           
        
         
             
                 
               &lt;SONRQ&gt; 
             
           
        
         
             
                 
               &lt;DTCLIENT&gt;20001204160816&lt;/DTCLIENT&gt; 
             
             
                 
               &lt;USERID&gt;doe&lt;/USERID&gt; 
             
             
                 
               &lt;LANGUAGE&gt;ENG&lt;/LANGUAGE&gt; 
             
             
                 
               &lt;APPID&gt;SBO&lt;/APPID&gt; 
             
             
                 
               &lt;APPVER&gt;01.0&lt;/APPVER&gt; 
             
           
        
         
             
                 
               &lt;/SONRQ&gt; 
             
           
        
         
             
                 
               &lt;/SIGNONMSGSRQV1&gt; 
             
             
                 
               &lt;MKTGMSGSRQV1&gt; 
             
           
        
         
             
                 
               &lt;MKTGLSTTRNRQ&gt; 
             
           
        
         
             
                 
               &lt;TRNUID&gt;6627F68F-C63A-11D4-9771-009027865C78&lt;/TRNUID&gt; 
             
             
                 
               &lt;MKTGLSTRQ&gt; 
             
           
        
         
             
                 
               &lt;DELV_REQS&gt; 
             
           
        
         
             
                 
               &lt;DELV_MODE_CD&gt;SYNC&lt;/DELV_MODE_CD&gt; 
             
             
                 
               &lt;DELV_FMT_CD&gt;XML&lt;/DELV_FMT_CD&gt; 
             
             
                 
               &lt;LANG&gt;EN&lt;/LANG&gt; 
             
           
        
         
             
                 
               &lt;/DELV_REQS&gt; 
             
             
                 
               &lt;MKTGLST&gt; 
             
           
        
         
             
                 
               &lt;RSLT&gt; 
             
           
        
         
             
                 
               &lt;NME&gt;LKUP_INDUSTRY&lt;/NME&gt; 
             
           
        
         
             
                 
               &lt;/RSLT&gt; 
             
             
                 
               &lt;FLTR&gt; 
             
           
        
         
             
                 
               &lt;WT:BooleanGroup 
             
           
        
         
             
               xmins:WT=“http://www.dnb.com/WTCriteria”&gt; 
             
           
        
         
             
                 
               &lt;WT:ComparisonSelection&gt; 
             
           
        
         
             
                 
               &lt;WT:Token&gt;PRIM_SIC_8&lt;/WT:Token&gt; 
             
             
                 
               &lt;WT:Operator&gt;=&lt;/WT:Operator&gt; 
             
             
                 
               &lt;WT:Value&gt;01110000&lt;/WT:Value&gt; 
             
           
        
         
             
                 
               &lt;/WT:ComparisonSelection&gt; 
             
             
                 
               &lt;WT:ComparisonSelection&gt; 
             
           
        
         
             
                 
               &lt;WT:Token&gt;CTRY_CODE&lt;/WT:Token&gt; 
             
             
                 
               &lt;WT:Operator&gt;=&lt;/WT:Operator&gt; 
             
             
                 
               &lt;WT:Value&gt;100&lt;/WT:Value&gt; 
             
           
        
         
             
                 
               &lt;/WT:ComparisonSelection&gt; 
             
             
                 
               &lt;WT:ComparisonSelection&gt; 
             
           
        
         
             
                 
               &lt;WT:Token&gt;RGN_CD&lt;/WT:Token&gt; 
             
             
                 
               &lt;WT:Operator&gt;=&lt;/WT:Operator&gt; 
             
             
                 
               &lt;WT:Value&gt;1&lt;/WT:Value&gt; 
             
           
        
         
             
                 
               &lt;/WT:ComparisonSelection&gt; 
             
             
                 
               &lt;WT:ComparisonSelection&gt; 
             
           
        
         
             
                 
               &lt;WT:Token&gt;MSA&lt;/WT:Token&gt; 
             
             
                 
               &lt;WT:Operator&gt;=&lt;/WT:Operator&gt; 
             
             
                 
               &lt;WT:Value/&gt; 
             
           
        
         
             
                 
               &lt;/WT:ComparisonSelection&gt; 
             
             
                 
               &lt;WT:ComparisonSelection&gt; 
             
           
        
         
             
                 
               &lt;WT:Token&gt;PRIM_GEO_AREA&lt;/WT:Token&gt; 
             
             
                 
               &lt;WT:Operator&gt;=&lt;/WT:Operator&gt; 
             
             
                 
               &lt;WT:Value/&gt; 
             
           
        
         
             
                 
               &lt;/WT:ComparisonSelection&gt; 
             
           
        
         
             
                 
               &lt;/WT:BooleanGroup&gt; 
             
           
        
         
             
                 
               &lt;/FLTR&gt; 
             
           
        
         
             
                 
               &lt;/MKTGLST&gt; 
             
           
        
         
             
                 
               &lt;/MKTGLSTRQ&gt; 
             
           
        
         
             
                 
               &lt;/MKTGLSTTRNRQ&gt; 
             
           
        
         
             
                 
               &lt;/MKTGMSGSRQV1&gt; 
             
           
        
         
             
               &lt;/DGX&gt; 
             
             
                 
             
           
        
       
     
       
       
         
           
             
               
                 
                   ii. The second request returns data describing the company&#39;s region and the national totals including annual sales, a national count of the companies in the industry and number of employees. Table 6 shows an example of the second request. 
                 
               
             
           
         
       
     
  
   
     
       
             
           
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
           
         
             
               TABLE 6 
             
             
                 
             
             
               Example of the Second Request 
             
             
                 
             
           
           
             
                 
             
           
        
         
             
               &lt;DGX&gt; 
             
           
        
         
             
                 
               &lt;SIGNONMSGSRQV1&gt; 
             
           
        
         
             
                 
               &lt;SONRQ&gt; 
             
           
        
         
             
                 
               &lt;DTCLIENT&gt;&lt;/DTCLIENT&gt; 
             
             
                 
               &lt;USERID&gt;&lt;/USERID&gt; 
             
             
                 
               &lt;USEREMAIL&gt;&lt;/USEREMAIL&gt; 
             
             
                 
               &lt;LANGUAGE&gt;ENG&lt;/LANGUAGE&gt; 
             
             
                 
               &lt;APPID&gt;SBO&lt;/APPID&gt; 
             
             
                 
               &lt;APPVER&gt;01.0&lt;/APPVER&gt; 
             
           
        
         
             
                 
               &lt;/SONRQ&gt; 
             
           
        
         
             
                 
               &lt;/SIGNONMSGSRQV1&gt; 
             
             
                 
               &lt;MKTGMSGSRQV1&gt; 
             
           
        
         
             
                 
               &lt;ANLYTRNRQ&gt; 
             
           
        
         
             
                 
               &lt;TRNUID&gt;&lt;/TRNUID&gt; 
             
             
                 
               &lt;ANLYRQ&gt; 
             
           
        
         
             
                 
               &lt;ANLY&gt; 
             
           
        
         
             
                 
               &lt;UNVS&gt;INDUSTRY&lt;/UNVS&gt; 
             
             
                 
               &lt;MEAS&gt;Count&lt;/MEAS&gt; 
             
             
                 
               &lt;COLUMNS&gt; 
             
           
        
         
             
                 
               &lt;LEVEL tag=“IND_COUNT” code=“”function=“”/&gt; 
             
             
                 
               &lt;LEVEL tag=“IND_SUM_ANN_SALE_VOL” code=“” 
             
           
        
         
             
               function=“”/&gt; 
             
           
        
         
             
                 
               &lt;LEVEL tag=“IND_SUM_TOT_EMPL_HERE” code=“” 
             
           
        
         
             
               function=“”/&gt; 
             
           
        
         
             
                 
               &lt;/COLUMNS&gt; 
             
             
                 
               &lt;ROWS&gt; 
             
           
        
         
             
                 
               &lt;LEVEL tag=“RGN_CD” code=“”function=“members”/&gt; 
             
             
                 
               &lt;LEVEL tag=“CTRY_CODE” code=“US” function=“”/&gt; 
             
           
        
         
             
                 
               &lt;/ROWS&gt; 
             
             
                 
               &lt;FLTR&gt; 
             
           
        
         
             
                 
               &lt;BOOL_GRP&gt; 
             
           
        
         
             
                 
               &lt;CONJ&gt;AND&lt;/CONJ&gt; 
             
             
                 
               &lt;MBRP_SELN&gt; 
             
           
        
         
             
                 
               &lt;LEVEL tag=“PRIM_SIC_6” code=“” 
             
           
        
         
             
               function=“”/&gt; 
             
           
        
         
             
                 
               &lt;VAL&gt;&lt;/VAL&gt; 
             
           
        
         
             
                 
               &lt;/MBRP_SELN&gt; 
             
           
        
         
             
                 
               &lt;/BOOL_GRP&gt; 
             
           
        
         
             
                 
               &lt;/FLTR&gt; 
             
           
        
         
             
                 
               &lt;/ANLY&gt; 
             
           
        
         
             
                 
               &lt;/ANLYRQ&gt; 
             
           
        
         
             
                 
               &lt;/ANLYTRNRQ&gt; 
             
           
        
         
             
                 
               &lt;/MKTGMSGSRQV1&gt; 
             
           
        
         
             
               &lt;/DGX&gt; 
             
             
                 
             
           
        
       
     
       
       
         
           
             
               
                 
                   iii. The third and final request returns information about company aging across the industry grouped by number of years in business. Table 7 shows an example of the third request. 
                 
               
             
           
         
       
     
  
   
     
       
             
           
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
           
         
             
               TABLE 7 
             
             
                 
             
             
               Example of the Third Request 
             
             
                 
             
           
           
             
                 
             
           
        
         
             
               &lt;DGX&gt; 
             
           
        
         
             
                 
               &lt;SIGNONMSGSRQV1&gt; 
             
           
        
         
             
                 
               &lt;SONRQ&gt; 
             
           
        
         
             
                 
               &lt;DTCLIENT&gt;20001204160918&lt;/DTCLIENT&gt; 
             
             
                 
               &lt;USERID&gt;&lt;/USERID&gt; 
             
             
                 
               &lt;USEREMAIL&gt;&lt;/USEREMAIL&gt; 
             
             
                 
               &lt;LANGUAGE&gt;ENG&lt;/LANGUAGE&gt; 
             
             
                 
               &lt;APPID&gt;SBO&lt;/APPID&gt; 
             
             
                 
               &lt;APPVER&gt;01.0&lt;/APPVER&gt; 
             
           
        
         
             
                 
               &lt;/SONRQ&gt; 
             
           
        
         
             
                 
               &lt;/SIGNONMSGSRQV1&gt; 
             
             
                 
               &lt;MKTGMSGSRQV1&gt; 
             
           
        
         
             
                 
               &lt;ANLYTRNRQ&gt; 
             
           
        
         
             
                 
               &lt;TRNUID&gt;&lt;/TRNUID&gt; 
             
             
                 
               &lt;ANLYRQ&gt; 
             
           
        
         
             
                 
               &lt;ANLY&gt; 
             
           
        
         
             
                 
               &lt;UNVS&gt;INDUSTRY&lt;/UNVS&gt; 
             
             
                 
               &lt;MEAS&gt;Count&lt;/MEAS&gt; 
             
             
                 
               &lt;COLUMNS&gt; 
             
           
        
         
             
                 
               &lt;LEVEL tag=“YRS_IN_BUS_RNG” code=“” 
             
           
        
         
             
               function=“members”/&gt; 
             
           
        
         
             
                 
               &lt;/COLUMNS&gt; 
             
             
                 
               &lt;ROWS&gt; 
             
           
        
         
             
                 
               &lt;LEVEL tag=“RGN_CD” code=“1” function=“”/&gt; 
             
           
        
         
             
                 
               &lt;/ROWS&gt; 
             
             
                 
               &lt;FLTR&gt; 
             
           
        
         
             
                 
               &lt;BOOL_GRP&gt; 
             
           
        
         
             
                 
               &lt;CONJ&gt;AND&lt;/CONJ&gt; 
             
             
                 
               &lt;MBRP_SELN&gt; 
             
           
        
         
             
                 
               &lt;LEVEL tag=“PRIM_SIC_6” code=“” 
             
           
        
         
             
               function=“”/&gt; 
             
           
        
         
             
                 
               &lt;VAL&gt;&lt;/VAL&gt; 
             
           
        
         
             
                 
               &lt;/MBRP_SELN&gt; 
             
           
        
         
             
                 
               &lt;/BOOL_GRP&gt; 
             
           
        
         
             
                 
               &lt;/FLTR&gt; 
             
           
        
         
             
                 
               &lt;/ANLY&gt; 
             
           
        
         
             
                 
               &lt;/ANLYRQ&gt; 
             
           
        
         
             
                 
               &lt;/ANLYTRNRQ&gt; 
             
           
        
         
             
                 
               &lt;/MKTGMSGSRQV1&gt; 
             
           
        
         
             
               &lt;/DGX&gt; 
             
             
                 
             
           
        
       
     
       
       
         
           3. New XML is created based on the three responses. This XML is in a format that the Industry Report can be created from.
           a. The new XML is created from the XML responses from NAWS and formed into a specific image for use on the ASP page.
               i. The CO tag is repeating in an example response.   
               
         
           4. Once the XML is created, it is inserted into the database as a single string in a single column.
           a. XML string, geography, and SIC are inserted into a database, ready to be retrieved and transformed by ASP.   b. The function InsertItem is used for this purpose.   
         
           5. Charge user for report.
           a. This is the last part of the process; it only happens if all earlier functions do not fail.   
         
           5. XML is returned to the web server to be parsed and displayed for the user. 
         
       
     
  
   An example database for use in practicing the present invention includes a schema. An example industry report module has a database table and a small business operations (SBO) attribute table having attributes of the industry reports as shown in Table 8 and stored procedures as shown in Table 9. 
   
     
       
             
           
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
         
             
               TABLE 8 
             
             
                 
             
             
               Example Attributes of the Industry Reports 
             
             
                 
             
           
           
             
                 
             
           
        
         
             
               SBO_ITEM_ATTRIBUTE TABLE: 
             
           
        
         
             
                 
               This table contains attributes for Industry Reports. 
             
             
                 
               Columns: 
             
           
        
         
             
                 
               item_nbr 
             
           
        
         
             
                 
               Int not null 
             
             
                 
               Item_nbr from sbo_item. 
             
           
        
         
             
                 
               seq nbr: 
             
           
        
         
             
                 
               Int not null 
             
             
                 
               Unique identifier when combined with item_nbr. 
             
           
        
         
             
                 
               attribute_name: 
             
           
        
         
             
                 
               Varchar (50) not null 
             
             
                 
               This is the name of the attribute. 
             
           
        
         
             
                 
               attribute_value: 
             
           
        
         
             
                 
               Varchar (255) not null 
             
             
                 
               This is the value of the attribute. 
             
             
                 
                 
             
           
        
       
     
   
   
     
       
             
           
             
           
             
             
           
             
             
           
             
             
           
             
             
           
         
             
               TABLE 9 
             
             
                 
             
             
               Example Stored Procedures 
             
             
                 
             
           
           
             
                 
             
           
        
         
             
               New Stored Procedures. 
             
           
        
         
             
                 
               SboInsertItemAttribute: 
             
           
        
         
             
                 
               This inserts an attribute into the sbo_item_attribute table. 
             
           
        
         
             
                 
               SboGetItemAttribute: 
             
           
        
         
             
                 
               This retrieves all attributes for a specific item_nbr. 
             
             
                 
                 
             
           
        
       
     
   
   Another embodiment of the present invention includes transaction logging. Transaction logging functionality is implemented in a visual basic (VB) class named CuserTrnasactionInfo. This class provides timing, transaction ID (global unique identifier or GUID) generation, user and super user ID containers, configuration holding, tracing, exception reporting, and transaction logging. Each public method in a workflow layer creates the instance of this class and sets the appropriate properties. Each method in a business logic layer takes an instance of this class as a parameter, for use with logging, timing, tracing, etc. Certain methods (mainly in a data access layer) create sub-transactions to track transactions to external systems, database calls, etc. Table 10 shows helpful properties/methods of the CtransactionInfo class. 
   
     
       
             
           
             
             
           
         
             
               TABLE 10 
             
           
           
             
                 
             
             
               Helpful properties/methods of the CtransactionInfo Class 
             
           
        
         
             
               Property 
               Description 
             
             
                 
             
             
               Transaction Unique Identifier. 
               The GUID used to uniquely track a 
             
             
               (TransactionUID) 
               transaction. This is used in the 
             
             
                 
               various SBS, SearchMart and IWS 
             
             
                 
               web logs, transaction logs to track 
             
             
                 
               a transaction across multiple 
             
             
                 
               layers. 
             
             
               Parent Transaction Unique Identifier. 
               If this is a “sub-transaction” the ID 
             
             
               (ParentTRNUID) 
               of the parent txn. This is used to 
             
             
                 
               group transactions together as a 
             
             
                 
               batch of transactions set off from a 
             
             
                 
               single parent transaction. This 
             
             
                 
               allows transactions to be grouped 
             
             
                 
               by batch process. 
             
             
               Status 
               0 = success, otherwise, the error # 
             
             
               Transaction code 
               Code number for transaction type. 
             
             
               TransactionType 
               e.g., Lookup, Match, 
             
             
                 
               GetEvaluatorPacket, 
             
             
                 
               PurchaseEvaluator, AddItem, 
             
             
                 
               AddUser, AddCreditCard, 
             
             
                 
               GetProximityCount, 
             
             
                 
               GetIndustryCount, GetUserInfo, 
             
             
                 
               GetUserBillHistory, etc. 
             
             
               StartTime 
               In GMT 
             
             
               EndTime 
               In GMT 
             
             
               IP address and Host Name 
               IP &amp; Host name of Transaction 
             
             
                 
               server 
             
             
               Process Id 
             
             
               Process Name 
               Name of the script or procedure 
             
             
                 
               that generated the log. 
             
             
               User ID 
             
             
               Super User ID 
               If a super-user is initiating the 
             
             
                 
               transaction 
             
             
               Parameters 
               For instance, search parms, or 
             
             
                 
               DUNS #, SIC codes, etc 
             
             
               Partner 
               Partner ID (1, 2, 3, etc - not SBS, 
             
             
                 
               QB, QBIAP) 
             
             
               Time Zone 
             
             
               Server Name 
             
             
               Transaction Component 
             
             
               Transaction Application 
             
             
               Error severity (if any) 
               Severity of any error that occurs 
             
             
               Error source (if any) 
               Source of any error that occurs 
             
             
               Transaction message 
             
             
               Records Processed 
               The number of records processed 
             
             
                 
               by this transaction 
             
             
               EntryPoint 
               The spot in code the transaction 
             
             
                 
               began (i.e., ASP page name, XML 
             
             
                 
               API, or batch program) 
             
             
                 
             
           
        
       
     
   
   It is to be understood that the above description is intended to be illustrative and not restrictive. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description, including implementation in languages other than visual basic, protocols other than ICE, XML, or HTTP, storage devices other than databases, and other similar differences. The present invention has applicability to applications outside the business information industry. Therefore, the scope of the present invention should be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.