US 20050198087 A1
A business application integrates a company's internal business systems with an e-commerce web site, so that company personnel can manage their business with a business application that seamlessly exports relevant, up-to-date data to a web site designed to interact with customers across the Web. The business application provides business functions for manipulating merchandising data stored in a merchandising database. In addition, to accommodate an intermittent connection to the Internet or otherwise to the web hosting server, the business application supports the generation of a replica, from the merchandising database, that can be exported to a web hosting server. A web application executing at the web hosting server generates web pages based on merchandising data stored in the partial replica. The customer can provide feedback, possibly representing purchase orders or customer information changes, for example, that can be automatically entered into the company's business system. Alternatively, the customer can download a client replica, generated from the partial replica at the web hosting server, for use during periods of disconnection from the web hosting server. Thereafter, the client replica and the partial replica can be synchronized to update each other with modified data. Furthermore, the partial replica and the merchandising database can also be synchronized.
1. A system for providing product data to a web hosting server, the system comprising:
a primary database that stores product data from one or more vendors, including order data pertaining to customer orders;
a business application that is capable of modifying the product data in the primary database;
a replica generator that generates a replica of the primary database, wherein the replica shares tables and fields with the primary database;
a web host interface that transmits the replica to the web hosting server, wherein the replica provides the product data for presentation in a web page served by the web hosting server and the product data in the replica can be modified through the web page; and
a synchronization module that synchronizes modifications between the shared tables and fields of the primary database and the replica, after the replica is resident on the web server.
The present application is a continuation of U.S. application Ser. No. 09/658,286, entitled “A MERCHANDISING SYSTEM UTILIZING AN INTERMITTENT NETWORK CONNECTION” and filed on Sep. 8, 2000, which claims benefit of U.S. Provisional Patent Application No. 60/153,410 entitled “A MERCHANDISING SYSTEM TO ACCEPT AND RELAY PURCHASE ORDERS ONLINE WITH METHODS FOR MAINTAINING THE DATABASE UTILIZING AN INTERMITTENT CONNECTION” and filed Sep. 10, 1999, and U.S. Provisional Patent Application No. 60/189,755, entitled “MERCHANDISING SYSTEM UTILIZING A CLIENT REPLICA FOR ACCEPTING AND RELAYING ORDERS” and filed Mar. 16, 2000, all of which are specifically incorporated herein by reference for all that they disclose and teach.
The invention relates generally to electronic commerce systems, and more particularly to a merchandising system utilizing an intermittent network connection.
Electronic commerce (“e-commerce”) is relevant to many segments of the economy. For many years, companies have used Electronic Data Interchange (EDI) technology to communicate data, such as purchase orders, invoices, and electronic payments, via a communication network with other companies. Because EDI relies on contractually established procedures and interfaces, EDI primarily addresses a predetermined set of company-to-company transactions. Furthermore, setup and maintenance of EDI systems can be an expensive prospect, often precluding its use by smaller companies.
In the past, the communications connections between companies have included dial-up access and direct connections between the companies' networks. Furthermore, the technical sophistication that is required to support an EDI system is significant. With the advent of the Internet, more companies have easy access to the Web sites and extranets of other companies, promising to lower the costs of EDI for the foreseeable future. Nevertheless, cost and technical requirements remain significant obstacles preventing some companies from employing EDI.
Another more recently developing segment of e-commerce involves retailers and customers. In the retailing segment of e-commerce, a customer can go online to access a retailer's e-commerce web site to conduct business, such as researching and purchasing products and services, managing their financial assets, and obtaining technical support. The web site provides an interface to data, such as customer data, product data, and transaction data, and applications, such as a purchase application or a credit card processing application. It is said that most retailers must now have an Internet presence to be competitive players in their markets. However, the costs and technical complexity of developing and maintaining an e-commerce web site also prevent some retailers from doing business on the Web.
A third segment of e-commerce relates to wholesale transactions between vendors and retailers. For example, a grocery store may order a shipment of cheese from a cheese vendor, such as KRAFT or a small specialty cheese supplier/distributor. For some vendors, particularly smaller vendors, the grocer places such orders through a wholesale broker, who represents multiple vendors. Typically, such orders are placed via telephone calls or faxes between the grocer and the broker, who calls or faxes the vendor to place the order. While a large vendor may have the resources to maintain an e-commerce web site for such orders, smaller vendors and brokers tend to be left out of the e-commerce world because of cost and technical complexity issues.
Typically, an e-commerce website is hosted on a web server computer. Some companies internally maintain the web server and develop the software executing on the web server. Alternatively, many companies exist to provide such Web hosting services to a wide variety of businesses. Likewise, the development of web pages and application executed on the web server can also be contracted out to web development companies. However, to smaller companies, the costs and/or technical sophistication required to establish and maintain a web presence, even with the assistance of these Web hosting and development companies, may prevent their participation in the e-commerce revolution. Often, the economies of scale that would initially allow such a larger company to invest the resources into developing and maintaining an e-commerce solution are not available to a smaller company. Even approaches that allow a company to access and maintain its e-commerce web site (on another company's web hosting server) through a browser interface present financial obstacles (e.g., significant storage, connection, and bandwidth charges) and technical obstacles (e.g., the time and substantial technical understanding to make customizations through an interface that is not the same as the company's standard business application's interface). Accordingly, another approach for providing an easy, low-cost e-commerce solution is desirable.
The above and other problems are solved by a system that integrates a company's internal business systems with an e-commerce web site, so that company personnel can manage their business with a business system that seamlessly imports and/or exports relevant, up-to-date data to a web site designed to interact with customers across the Web. Furthermore, an embodiment of such a system may provide feedback, possibly representing purchase orders or customer information changes, for example, that can be automatically entered into the company's business system.
In one embodiment of the present invention, a user can maintain the web site data and display characteristics (e.g., web site fonts, layout, images, etc.), as well as process consumer and vendor transactions, without having to maintain the data and operation via an alternative user interface. For example, the business application can provide the exclusive interface to the merchandising data, web site display characteristics, and order processing. In such an embodiment, no intermediary or translation module is required to map data (more particularly, data in given tables, rows, and fields) into alternative data configuration for use on the web site. Instead, the databases associated with the business application and the replica used by a web application at the web site may be consistent (and still need not be identical) so as to facilitate rapid synchronization. For example, in one embodiment, only marked differences between the merchandising database and the replica are synchronized, thereby reducing the time and bandwidth required for synchronization, although the present invention is by no means limited to this particular embodiment.
In one embodiment of the present invention, a merchandising system for processing a customer order in association with a Web hosting computer, a client computer, and a business application computer is provided. The Web hosting computer and the business application computer are intermittently connected by a communications link. A merchandising database contains order data. A web host interface establishes the communications link with the web hosting computer. A replica generator executes on the business application computer to filter out at least the order data from the merchandising database, to create a replica, and to transmit the replica to the web hosting computer across the intermittent connection. A web application executes on the web hosting computer to generate an order guide that displays data from the replica on the client computer system.
In another embodiment of the present invention, a merchandising system for processing a customer order in association with a Web hosting computer, a client computer, and a business application computer is provided. The Web hosting computer and the business application computer are intermittently connected by a communications link. A merchandising database contains order data and display characteristic parameters. A business application accesses the merchandising database and generates a replica of at least a portion of the merchandising database. A web application receives the replica at the Web hosting computer and generates an order guide displaying data from the replica on the client computer system. The order guide includes display characteristics configured in accordance with display characteristic parameters recorded in the replica.
In another embodiment of the present invention, a method of processing orders using a merchandising database storing merchandising data is provided. The orders are generated responsive to at least one selection entered at a client computer coupled to a Web hosting computer. A replica is generated containing at least some of the merchandising data from the merchandising database. A communications link is established between a business application computer system executing a business application and the Web hosting computer. The replica of the merchandising database is transmitted to the Web hosting computer for display in a web page on a client computer. The communications link is disconnected between the business application computer system and the Web hosting computer, responsive to the operation of transmitting the replica. An order based on the replica and originating at the client computer is received after the disconnecting operation via an independent communications link. The merchandising database is modified in accordance with the order.
In other implementations of the present invention, articles of manufacture are provided as computer program products. One embodiment of a computer program product provides a computer program storage medium readable by a computer system and encoding a computer program for executing a computer process for processing orders using a merchandising database storing merchandising data. Another embodiment of a computer program product may be provided in computer data signal embodied in a carrier wave by a computing system and encoding the computer program for processing orders using a merchandising database storing merchandising data. The computer program product encodes a computer program for executing on a computer system a computer process for processing orders using a merchandising database storing merchandising data. The orders are generated responsive to at least one selection entered at a client computer coupled to a Web hosting computer. A replica is generated containing at least some of the merchandising data from the merchandising database. A communications link is established between a business application computer system executing a business application and the Web hosting computer. The replica of the merchandising database is transmitted to the Web hosting computer for display in a web page on a client computer. The communications link is disconnected between the business application computer system and the Web hosting computer, responsive to the operation of transmitting the replica. An order based on the replica and originating at the client computer is received after the disconnecting operation via an independent communications link. The merchandising database is modified in accordance with the order.
These and various other features as well as other advantages, which characterize the present invention, will be apparent from a reading of the following detailed description and a review of the associated drawings.
For clarification of the exemplary embodiment involving the broker agency, it should be understood that a broker agency typically employees for contracts with one or more independent sales representatives. Another term for a broker, provided by the U.S. Department of Labor, is a “manufacturer's agent”, wherein a broker agency is a “manufacturer's agency”. Each sales representative represents a set of manufacturers, distributors, or service providers to other entities in a supply chain. In a concrete example, a representative may represent a specialized tea vendor in wholesale transactions with a regional retailer (e.g., grocery store or tea shop). The retailer would contact the representative and place an order for a given tea. The representative would then contact the vendor to place the order and have the tea shipped to the retailer. Each of the parties to the transaction (i.e., the retailer, the representative, and the vendor) gain benefit from this relationship. For example, the retailer can contact a representative to order a variety of products from multiple vendors, rather than contacting each vendor individually. The vendors receive marketing and customer contact services through the brokerage in exchange for a commission provided to the brokerage and the representatives for each order.
Continuing with the example of a broker agency, the business application 100 provides the broker agency with an interface to the agency's business, such as data relating to vendors, customers, orders, products, prices, commissions, and individual agents/representatives employed by the agency. Such data may be stored in a merchandising database 116 of storage medium 102, which is coupled to the business application 100. The business application 100 also provides important business functionality, such as conditions tracking, order processing, reporting, and automated pricing. The business function capabilities of an exemplary business application are discussed in more detail relative to other Figures in this description.
The business application 100 may also include a communications link 110 for communicating with the computer systems of one or more vendors. The communications link 110 represents a logical or physical data link between two or more entities. In embodiments of the present invention, a communications link may include without limitation the Internet, the WAN, a LAN, a broadband network, a satellite or otherwise wireless communications link (e.g., such as wireless link supporting WAP, the Wireless Application Protocol), a dial-up connection, and other known communications links. Through the communications link 110, the business application 100 may receive relevant merchandising data from each vendor the agency represents. Exemplary merchandising data may include without limitation product and service catalogs, invoices, price lists, status of orders, payment terms, shipping terms, and communications from the vendor. The merchandising data communicated by communications link 110 may be stored by the business application 100 in the merchandising database 116 along with other business and merchandising data generated by or collected from other sources.
In addition, the business application 100 also allows the agency to export a relevant portion (i.e., a filtered replica 114) of its merchandising database 116 to a storage medium 108 of a Web hosting server 104 to support an e-commerce application 106, which executes on the server 104. The filtered or partial replica 110 is a subset of the merchandising database 116 and may also be considered another merchandising database in its own right. For example, in the illustrated embodiment, the replica is used to support a consumer's placement of orders. As such, historical order details are not required through an e-commerce application 106 and may be filtered out when the replica is generated. Replicas may contain a unique identifier to assist in determining the level of trust associated with the replica and its user. Such an identifier may be encrypted, signed, or authenticated by certificate. In addition, although a partial replica is associated with the illustrated embodiment in
The e-commerce application 106 provides the agency with the capability of marketing products for the agency-represented vendors to a larger market (i.e., potentially unrestricted by geographical limitations). In addition, the e-commerce application 106 presents the agency with the opportunity to market products and process orders more efficiently than via the traditional telephone and fax communication channels.
When the business application 100 exports the filtered replica 114 to the Web hosting server 104 via a communications link 120, the application 100 preferably connects with the server 104 via an intermittent connection (i.e., the connection is established during the transfer of data between the business application 100 and the Web hosting server 104, and thereafter terminated). Alternatively, the connection may remain in place while communications over the connection are intermittent. By maintaining intermittent connections or communications, the agency may save communication charges and preserve resources by updating the filtered replica 114 periodically, rather than continuously. For example, the filtered replica 114 can represent a “snapshot” of a relevant subset of the business and merchandising data exported from the merchandising database 116.
It should be understood that a connection between a business application computer system and a Web hosting computer may be logical in nature and does not imply a physical connection. Indeed, wireless communications are also contemplated within the scope of the present invention. In contrast to a physical connection, a logical connection can be established between two computers on the basis of various communication protocols in which the sender and the receiver are identified in accordance with a predefined scheme. For example, TCP/IP (“Transmission Control Protocol/Internet Protocol”) connections employ an addressing scheme in which a communications link is established between a sender and a receiver on the basis of unique address assigned to both. As such, the sender can transmit a message addressed to the receiver into the Internet. Within the Internet, routers direct the message to the appropriate receiver based on the message's destination address.
An alternative communications link can be established by email, in which addressing is based on an email address of a receiver. Although some email systems may be based on TCP/IP addressing at one level of the communications protocol stack (e.g., the email addresses of the sender and receiver may sometimes be resolved to individual TCP/IP addresses), email itself is based on a different type of addressing (e.g., “firstname.lastname@example.org”). In fact, email origins and destinations, and indeed some forms of email itself, need not be based on TCP/IP addressing. As such, the TCP/IP connection between the Web hosting computer and the business application computer is deemed to be an independent communications link to that established by email. In addition, individual logical connections, separated by one or more intermittent disconnections, are deemed to be independent communications links. Alternative communications links may also be employed, including without limitation telephone communications, fax communications, dial-up connections, wireless communications including wireless Internet connections and satellite links, and postal mail.
In an embodiment of the present invention, a retailer or other purchasing entity (e.g., a “customer” or a customer's representative) may use a browser 112 on client system 128 to access via a communications link 122 a web page generated or otherwise provided by the e-commerce application 106. Through this web page interface, the customer may browse product information, place or modify orders, and communicate with the agency or vendors associated with the merchandising information (e.g., product numbers, descriptions, available quantities, lead times, back orders, inventory characteristics, etc.) of the partial replica 114 stored in the storage media 108.
In an alternative embodiment, another replica 126 may be exported from the replica 114 and stored on client storage medium 124. This embodiment allows a customer to take advantage of an intermediate connection with the host 104. The replica 126 may be full or partial, depending on the given application of the system. Once exported to the client system, the replica 126 can be accessed by a client-based application 130. Such an application 130 can allow the customer to read or modify the replica 126 or select items for ordering via communications link 118, which provides a logical connection between the client system 128 and the business application 100 that is independent of the logical connection between the host 104 and the business application 100. The partial replicas 126 and 114 also support bi-directional synchronization there between.
In one embodiment, the communications links 118, 120, and 122 may be Internet connection through an Internet Service Provider (ISP) or some other network access point. Alternatively, direct dial-up connections or any other direct or indirect connections to the host server 104, the browser 112, and the business application 100 are contemplated within the scope of the present invention. It should be understood, however, that although three separate communication links are shown in
The partial replica 114 can also be bi-directionally synchronized with the merchandising database 116 with sufficient frequency, despite the intermediate connection, to maintain adequate consistency between the two sets of data. For example, if a user merely read accesses the merchandising database 116 or if a customer merely read accesses the partial replica 114, no synchronization is necessary. Likewise, if the customer places an order for one item based on an available quantity represented in the partial replica, the application 106 can flag that one item as tentatively purchased while the order is communicated to the business application 100 via communications link 118. If the order is consummated within the business application 100 and the merchandising database 116, a synchronization between the business merchandising database and the partial replica 114 can occur upon the next scheduled synchronization event, in response to an acknowledgement of the order from the vendor, or in response to another asynchronous event that triggers a synchronization (e.g., an inventory update received from a vendor). At the time of the synchronization, modifications in either or both of the merchandising database 116 and the partial replica 114 can be communicated via communications link 120 to maintain consistency between the two databases.
In an embodiment of the present invention, an order generally consists of two parts: (1) an order header, and (2) line item details. The order header may include without limitation shipment and payment information, such as parties to the order, a shipping address, a billing address, payment terms, order date, contact phone numbers, and a cancel date. In the line item details portion of an order, information such as an order identifier, an item or product number, the quantity, the price, and other order options (e.g., color or size) may be included for each product ordered. Other information may also be included within the order header and line item details within the scope of the present invention.
In an embodiment of the present invention, incoming orders may be processed by the business application 200 to detect and potentially resolve variances before being authorized and communicated to a vendor. Variances can be detected based on expected value (e.g., variances may include an order having an amount greater than a given credit limit or a lapsed shipping date). A notice of a variance may be presented to a business user for resolution (e.g., authorizing a higher credit limit or modifying the shipping date).
A filtering process (i.e. used in a replication operation), represented by the funnel symbol 208, processes the merchandising data in the merchandising database 202 and generates a replica 210 of some or all of the merchandising data. The merchandising database 202 can include a wide variety of merchandising data, some of which is unnecessary to the operation of an e-commerce application 212. Accordingly, the replica 210 is preferably, although not necessarily, smaller than the original merchandising database 202. The filtering process, therefore, minimizes the bandwidth required to transmit the replica to the Web hosting server 214 and minimizes the storage space occupied by the replica at the Web hosting server 214. The replica 210 is then transferred via a communications link 224 for storage in a storage medium of the Web hosting server 214. Because use of communication channels and Web hosting servers are commonly charged on a communications bandwidth/time basis and a storage space basis, respectively, generation and transmission of (and synchronization with) the minimized replica 224 is a more cost-effective Web-resident representation of relevant merchandising data than the entire merchandising database 202.
The filtering processing may also be employed during synchronization so that only fields included in both the merchandising database 202 and the replica 224 are synchronized, and furthermore, fields that are not to be included in one or the other are removed from the appropriate database 116 or replica 114. For example, in one embodiment of the present invention, order details are omitted from the replica 114 during replication and synchronization. However, between synchronization, order details from new orders may be placed by consumers via the web site and thereafter recorded in the replica 114. Accordingly, during synchronization, the new order details in the replica 114 are added to the merchandising database 116 and deleted from the replica 114. In this manner, orders can be communicated via the synchronization operation through the replica without historical order details being perpetually maintained in the replica 11.4. Alternatively, orders may be communicated to the business application 200 via an independent communication link, such as email.
In an alternative embodiment of the present invention, a client replica generator 250 can be executed on the Web hosting server 214 upon request from a customer using the client system 216. The client replica generator 250 can generate a client replica (see client replica 126 in
In an embodiment of the present invention, a retailer or other purchasing entity may use a browser on a client system 216 to access one or more web pages 218 generated by the e-commerce application 212. Through this web page interface, the purchaser may browse product information, place or modify orders, and communicate with the agency or vendors associated with the product information of the replica 210, which is preferably stored in a storage medium coupled to or within the Web hosting server 214. A client-based replica 232 in the client system 216 may also be exported from and synchronized with the web-hosting server 214 to support intermittent connection there between.
The e-commerce application 212 in the illustrated embodiment employs an Active Server Page (ASP) that is coupled to the replica data to dynamically generate the web page 218. Alternatively, other means of generating authoring language data (e.g., data in formats such as Hypertext Markup Language (HTML), Standard Generalized Markup Language (SGML), Jscript, Java, Extensible Markup Language and (XML)) and communicating with back end databases and applications (i.e., Common Gateway Interface (CGI)) are contemplated within the scope of the present invention. Screenshots of exemplary web pages are illustrated in
It should be understood at the communications link 222 by which the order 220 is transferred to the business application 200 may be independent of or different than the communications link 224. This distinction is particularly important when the communications link 224 is used to establish an intermittent connection between the business application 200 and the Web hosting server 214. A purchaser may access the merchandising data in the replica 210 on the Web hosting server 214 and place orders to the business application 200 even when the business application 200 is not connected to the Web hosting server 214. Alternatively, the communications link 222 may be the same as the communications link 224, particularly if the connection between the business application 200 and the Web hosting server 214 is active (i.e., not terminated).
In one embodiment of the present invention, the order 220 is communicated to the business application 200 through an e-mail subsystem 226. For example, the purchaser submits the order 220 through the web page 218, and an e-mail subsystem 226 causes the order 226 to be included in an e-mail message addressed to an authorized entity that has an account in the business application 200. It should be understood that the email subsystem 226 in an embodiment of the present invention can be coupled to an email server via a network connection to assist in the delivery of the order 220. It should also be understood that the web page 218 may be a displayed representation of authoring language data received from the Web hosting server (e.g., in a Hypertext Transport Protocol (HTTP) response).
In a vendor setup operation (e.g., the process of adding a new vendor to the merchandising database 202 for display the “Vendor” window shown in
Each block is marked in association with a “1” or a “∞”. If two blocks are connected by a line having a “1” on one block and a “∞” on the other block, the connection represents a “one-to-many” relationship. Alternative, if the connection is marked with a “1” on each side, the connection represents a “one-to-one” relationship. In a relational database, unique identifiers associated with given table rows are used to relate data in one table to data in another. A “one-to-one” indicates that a Table A can have only one matching record in Table B, and each recordin in Table B can have only one matching recording in Table A. A “one-to-many” relationship indicates that a record in Table A can have many matching records in Table B, but a record in Table B can have only one matching record in Table A.
In one embodiment of the present invention, the order and order details are filtered out when generating or synchronizing with the replica that is stored to the hosting server. In many circumstances, the order and order detail data comprise a significant portion of the merchandising database size, and therefore, the automatic filtering of such data from the replica minimizes the storage, time, and bandwidth costs of maintaining the e-commerce web site using the replica. Alternatively, other filtering schemes may also be employed in accordance with the data needs of the web application on the hosting server. In one embodiment, the entire merchandising database may be generated as a replica on the hosting server.
Likewise, custom filtering schemes may be applied to generating and synchronizing between a server replica (see replica 114 in
In addition, the synchronization between the merchandising database and replica (or between the client replica and the hosting server replica) synchronizes only changed data between the two databases. No intermediate copy or translation operation is required. Instead, the system synchronizes changed fields in both databases, resolving any conflicts in accordance with user input or other conflict resolution mechanisms.
In an embodiment of the present invention, the merchandising database also includes display characteristics parameters that configure the presentation of the order guide (i.e., an order web page) to the consumer. In one embodiment, an order guide may be referred to as a “purchase order guide). The display characteristic parameters are set by the business user in a setup and configuration module (not shown) provided by the embodiment of the business application. The display characteristic parameters are recorded in the merchandising database in the form of a BLOB (“Binary Large Object”). A BLOB is a database field that can hold large amounts of arbitrarily formatted data, including custom formatted display parameters, images, audio, video, long text blocks, or any digitized information. The display characteristics can specify any display characteristics of the order web pages, including data that would be defined in a web page style page. The BLOB is included in the server replica when the replica is generated. The web application reads the BLOB to configure the display characteristics of the order web pages, just as a style sheet might be read by a web application.
When the replica is synchronized with the merchandising database, changes to the BLOB caused by user access to the setup and configuration modules are updated in the replica's BLOB, thereby updating the display characteristics of the order web pages. In this manner, a business user can maintain and customize his or her web site without maintaining a prolonged connection to the web server and without dealing with the complexities of style sheets and web programming. This approach takes advantage of an embodiments support for intermittent connections between the business application and the server.
When configuring an e-commerce system of the present invention, a user can generate a partial replica for export to a web server. In the illustrated embodiment, the replica generator 414 filters merchandising data stored in the merchandising database 412 for exportation in a partial replica. In one embodiment of the present invention, the replica generator 414 employs predefined filtering rules to minimize the data communicated to and stored at the Web hosting server. Although not required in the present invention, the partial replica is likely to include only a partial subset of the merchandising data from the merchandising database 412 to minimize bandwidth requirements, upload times, and storage requirements on the host server. In an embodiment of the present invention, a set of tables and fields from the merchandising database 412 are configured in a filter, which accesses the merchandising database through the database interface 404 and outputs the resulting partial replica through the web host interface 418 for storage on the Web hosting system 420. After the partial replica is exported to the Web hosting server 420, the communication link between Web hosting server 420 and the business application 400 may be terminated (i.e., hence, an intermittent connection).
To maintain consistency between the partial replica in the Web hosting server 420 and the merchandising database 412, the partial replica and the merchandising database 412 may be synchronized. Responsive to a synchronization event (e.g., triggered by a synchronization schedule, a user command, or a modification to the merchandising database), a synchronization module 416 performs a bi-directional synchronization of data in the partial replica (see replica 210, for example) and the merchandizing database. In this synchronization process, for example, modified fields in the replica are written to corresponding fields in the merchandising database and vice versa.
During synchronization, corresponding fields in the replica and the merchandising database, for example, may have been changed since the last synchronization event, resulting in “conflicts” in the current synchronization. As such, an embodiment of the present invention may include functionality for resolving such conflicts. One embodiment, for example, displays the data from the modified fields to the user, who -may select the data that he or she wishes to be applied in the next synchronization. In order to maintain the most current synchronization between the merchandising database and the replica, a user may immediately resynchronize after resolving the conflicts. In the resynchronization event, the conflicting fields are resolved according to the user's selection. Alternatively, some resolutions may be accomplished through the use of heuristic processes, predetermined conflict resolution rules, or other conflict resolution mechanisms.
In an embodiment of the present invention, merchandising data exported in the partial replica is not limited to product information. Merchandising information may also include customer information, contract information, prices, web page style information, customer preferences, promotional material, etc. When such data is modified (e.g., through the business function module 402), synchronization will then update the corresponding material in the partial replica, assuming the fields are included in the filtering configuration of the replica generator 414.
As discussed, the partial replica is exported to the Web hosting server to allow a customer to access the merchandising data in the partial replica. In one embodiment, such access is facilitated through a web page that is populated with a given subset of the merchandising data from the partial replica and transmitted to the customer's client system 426. Thereafter, the customer may send order data for one or more given products through the order interface 424. The order data is then processed by the order processing module 422, which updates the merchandising database 412 with the order parameters. Alternatively, the order processing module 422 can communicate directly with or be integrated with the business function module 402, which can also access and modify the merchandising data in the merchandising database 412. For example, instead of sending the order data directly to the business application 400, the client system can send order data via the partial replica at the Web hosting server. Accordingly, when the partial replica and the merchandising database are synchronized, the order data will be recorded in the merchandising database, where the business function module 402 can process the order data and communicate the order to the appropriate vendor. The business function module 402 can also transmit the order parameters to the appropriate product source (e.g., vendor) for fulfillment of the order.
Across the top of the main window extend a standard Microsoft® Access application menu bar 500 and toolbar 502. A set of tabs extends across the top of a child window. In the illustrated embodiment, the “Parent” tab 506 is selected; therefore, the elements of a “Parent” window are displayed. Other tabs supported in the illustrated embodiment include “Customer”, “Vendor”, “Contact”, “Product”, “Order”, “EDI”, and “Representative”, although other types of tabs may also be supported within the scope of the present invention. The windows associated with other tabs are described with regard to other Figures.
The “Parent” window provides access to merchandising data relating to a given parent company (i.e., “parent company data”). A Parent company may be associated with merchandising data shared by multiple customers, vendors, representatives, contacts, and products. Exemplary fields may include without limitation a company name field 508, electronic communications fields 510, account representative and referral information fields 512, and a notes field 514. Fields 516 represent a billing address at the indicated parent company. Fields 518 represent a shipping address at the indicated parent company. Fields 520 represent contact information at the indicated parent company. The data in these fields are stored in the merchandising database and are available for reading and writing through the “Parent” window of the business application.
The line card check box 724 enables the inclusion of a given vendor's products on the e-commerce web site. If the line card check box 724 is not checked, the vendor and its products may be omitted from the replica, either through a replication or synchronization event. Alternatively, a flag may be set in the replica that signals the web application to ignore information for the given vendor when generating web site information. The inventory check box 726 controls whether inventory fields should be displayed on web-based product forms (See
The “Promotions” control group 908 provides access and controls to promotional information (e.g., sale items and terms). If more than two promotions are available for a given product, the “Promotions” control group 908 supports a scrollbar to allow access to all promotions. In the illustrated embodiment of the present invention, the promotions are allocated in accordance with a price list, such as Distributor or Wholesale. Accordingly, the “Price List” field 912 indicates the price list corresponding to a given promotion. The “Begin” and “End” fields 914 indicate the term or duration of the promotion. The “Price” field indicates the price for the selected product and the associated price list. In a field not displayed in the illustrated screenshot, the commission associated with a given promotion is also indicated. A “delete” button 910 allows a user to delete an expired or incorrect promotion. The “Filter Products?” check box 916 allows a user to filter the vendor's products to display only those products with a promotion associated with them. In table 918, the vendor's products and other details are displayed. In an embodiment of the present invention, the data in the fields described relative to
The “Order” window provides access to merchandising data relating to a given order for one or more products (i.e., “order data”). In the illustrated embodiment, an “order” represents a request for product(s) from a customer to a vendor. In an embodiment of the present example, the order information may be received from the customer via an automatically processed order form received in email. Alternatively, the order information can be entered manually by the business user in response to a phone call, fax, email, or other communication. Exemplary fields may include without limitation a Vendor name field 1002 (i.e., the vendor by which the ordered products will be provided) and a department field 1004 that identifies a given department at the customer (e.g., produce, bakery, floral, etc.). A billing address and other contact information are provided in fields 1006. A shipping address and other contact information are provided in fields 1008.
The order type field 1010 indicates order characteristics, such as Normal, Opening Order, Over 90 days, Preorder File, Replacement, Samples, Show Order, Special Order, Thanksgiving, Trade Show, Valentines, and Weekly. The status field 1012 indicates the status of the order, including Archive, Backorder, Bid, Canceled, Credit Hold, Disputed, Incomplete, Invoiced, Outstanding, Paid, Pending, Rejected, Rep Paid, Sample, and Shipped. The invoice number may be indicated in field 1014. The date that the invoice was sent by the vendor to the customer may be indicated in field 1016. The invoice amount maybe indicated in field 1018. The corresponding Vendor purchase order number may be indicated in VendorPO field 1020. The terms field 1022 indicates the terms of payment between the customer and the vendor for the indicated order.
Fields 1024 indicates the customer identification number, the associated sales representative, the date that the order was placed by the customer, and a desired shipping date (or the begin ship date). The fields 1024 also include a date by which the order can be cancelled by the customer without penalty, a customer purchase order number, and shipping information (i.e., “Ship Via” and “FOB”). Field 1026 indicates a discount to be applied to the order. The “Order” window also includes a “Notes” field 1028 indicating instructions entered by the customer when placing the order. The UPC indicator 1030 allows products look-up based on UPC codes that are scanned in with a UPC scanner. The pricing field 1032 indicates the type of pricing employed for the present order, including options such as “Wholesale”, “Distributor”, “Volume1”, “Volume2”, and “Contract”. The anticipated weight of the order is identified in field 1034 for shipping cost purposes. The quantity of items in the order is indicated in field 1036. The total amount of the order (minus shipping) is indicated in Amount field 1038.
Table 1040 identifies the individual products ordered, including item numbers, descriptions, sizes, quantities, prices, discounts, pricing types for individual products, and the status of the orders for individual products, etc. “Unit” indicates how the product is billed (e.g., by the case or each). “BillQty” indicates an adjustment factor for items ordered in one unit but billed in another (e.g., 1 wheel of cheese=20 lbs×$4.50/lbs). “Extended” indicates a subtotal for a line item (e.g., Extended equals Qty−Price−Discount×BillQty). Field 1042 may indicate the URL to the indicated vendor's web site. Fields 1044 may indicate a log of transmissions relating to the order (e.g., to the vendor, to the customer, etc.). Fields 1046 indicate calculations and totals for the indicated order. The data in these fields are stored in the merchandising database and are available for reading and writing through the “Order” window of the business application.
In addition, the EDI window provides access to other EDI functions, such as synchronization and replication. After specification of a replica indicator (e.g., a pathname or URL to a given replica) and a merchandising database indicator (e.g., a pathname or URL to a given merchandising database), the synchronization module 416 of
Some elements of the displayed web page 1300 are standard elements provided by the web application, while other elements are specific to the individual agency. The agency's specifications and custom display elements can be exported in the partial replica for use by the web application. The name, font, and size of the agency's title 1302 can be specified by the agency in the illustrated embodiment. Furthermore, the logo may be exported to the partial replica. If either of these display elements, or other display elements, are modified by the agency, a synchronization between the merchandising database and the partial replica will update the generated web pages.
Fields 1304 includes a customer name field, a requested ship date field, and a selected vendor field. The customer name is determined based on a login process for entering the web site. Notice that the login process also invokes a secure communication connection between the client computer and the host server, as evidenced by the padlock icon 1305. After login, the customer specifies a desired ship date and selects the vendor from whom he or she wishes to order products. As a result of this operation, a web page resembling the screenshot of
One enhancement to the “Order” web page involves the method of recalculating the data in the “Totals” fields 1402. In one embodiment, all data fields are re-looked up in the replica and re-processed when the consumer depresses the “Add/Recalculate”. This operation can be quite time consuming when many line items are included in an order. As such, in an enhanced embodiment, a flag is maintained for each line item element. As such, if a consumer changes a quantity in one line item, the “changed” flag for the quantity data in that line item is set. If other line item elements are modified, corresponding flags are also set. When the consumer depresses the “Add/Recalculate” button, line items having changed elements are looked up again in the database (e.g., if the Item# has been modified), the Extended (Price) for the changed line items is recalculated (e.g., if the Qty or Price is modified), and/or the data in the Totals fields are recalculated (e.g., (e.g., if any Qty or Price in the order is modified). In this manner, only changed line items are re-looked up, significantly improving the web server response time.
The I/O section 1602 is connected to keyboard 1605, display unit 1606, disk storage unit 1609, and disk drive unit 1607. Generally, in contemporary systems, the disk drive unit 1607 is a CD-ROM driver unit capable of reading the CD-ROM medium 1608, which typically contains programs 1610 and data. Computer program products containing mechanisms to effectuate the systems and methods in accordance with the present invention may reside in the memory section 1604, on a disk storage unit 1609, or on the CD-ROM medium 1608 of such a system. Alternatively, disk drive unit 1607 may be replaced or supplemented by a floppy drive unit, a tape drive unit, or other storage medium drive unit. The network adapter 1611 is capable of connecting the computer system to a network via the network link 1612. Examples of such systems include without limitation SPARC systems offered by Sun Microsystems, Inc., personal computers offered by IBM Corporation and by other manufacturers of IBM-compatible personal computers, and other systems running a UNIX-based or other operating system. In accordance with the present invention, software instructions directed toward accepting and relaying purchase orders using an intermittent connection to a merchandising database, a partial replica, or a client replica may be executed by CPU 1603, and merchandising data may be stored on disk storage unit 1609, disk drive unit 1607 or other storage medium units coupled to the system.
In some embodiments, automatic processing can result the merchandising database being updated with appropriate order information. The business user can then manually contact the appropriate vendor through traditional channels (e.g., phone, fax, email, dial-up). In alternative embodiments, the new order information can also be communicated directly and automatically to the appropriate vendor, through an additional email ordering process to the vendor, through a fax to the vendor, through EDI with the vendor, and through other automatic means.
Operation 2008 receives an order from a consumer via an independent communications link (i.e., not the identical communications link in which the replica was transmitted to the Web hosting server). Operation 2010 modified the merchandising database in accordance with the order. For example, a new order header and new order details are added to the merchandising database.
The embodiments of the invention described herein are implemented as logical steps in one or more computer systems. The logical operations of the present invention are implemented (1) as a sequence of processor-implemented steps executing in one or more computer systems and (2) as interconnected machine modules within one or more computer systems. The implementation is a matter of choice, dependent on the performance requirements of the computer system implementing the invention. Accordingly, the logical operations making up the embodiments of the invention described herein are referred to variously as operations, steps, objects, or modules.
The above specification, examples and data provide a complete description of the structure and use of embodiment of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.