itHUB - Part 4

January 01, 2014

Reading time ~9 minutes

Continuing from where we left off in Part 3, lets start exploring the application integration aspects of itHUB a little more in this post.

E. External Service Provider’s Products and Services Integration

This section will discuss the integration of Walmart’s products and services to itHUB using the Walmart Data Feed API [10].

1) Data Integration

To get a list of items by category, we have to register with the Walmart Open API and acquire an apiKey. Once the apiKey is acquired, there are several methods available to retrieve items as follows:

  1. Lookup API - Get Items - /v1/items/id
  2. Taxonomy API - Get Taxonomy - /v1/taxonomy
  3. Search API - Get Search - /v1/search
a) Data Semantics

Walmart’s product data semantics is shown below:

<items>
    <item>
        <itemId></itemId>
        <parentItemId></parentItemId>
        <name></name>
        <salePrice></salePrice>
        <upc></upc>
        <categoryPath></categoryPath>
        <shortDescription></shortDescription>
        <longDescription></longDescription>
        <thumbnailImage></thumbnailImage>
        <productTrackingUrl></productTrackingUrl>
        <standardShipRate></standardShipRate>
        <marketplace></marketplace>
        <modelNumber></modelNumber>
        <productUrl></productUrl>
        <customerRating></customerRating>
        <numReviews></numReviews>
        <customerRatingImage></customerRatingImage>
        <categoryNode></categoryNode>
        <bundle></bundle>
        <availableOnline></availableOnline>
    </item>
</items>
b) Data Format

Data Feed API can either return data in the XML or JSON format. An example product is shown in the JSON format below:

{"items": [
    {
        "itemId": 24699992,
        "parentItemId": 24699992,
        "name": "HP Black 110-023 Desktop PC Bundle with Intel Pentium G2020T Processor, 8GB Memory, 20\" Monitor, 1TB Hard Drive and Window 8 Operating System",
        "salePrice": 498.0,
        "upc": "887758272657",
        "categoryPath": "Electronics/Computers/Desktop Computers",
        "shortDescription": "The HP 110 sticks to the basics, providing the competitive performance and familiar, essential features you need for routine tasks like email and social networking, homework and personal finances or casual Web browsing and online shopping. The clean modern styling makes it reliable, easy-to-use and extremely affordable.",
        "longDescription": "&lt;br&gt;&lt;b&gt;HP 110-023 Desktop PC Bundle:&lt;/b&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Key Features and Benefits:&lt;/b&gt;&lt;ul&gt;&lt;li&gt;Intel Pentium G2020T processor&lt;br&gt;2.50GHz, 3MB Cache&lt;br&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;8GB DDR3 SDRAM system memory (expandable to 16GB)&lt;br&gt;Gives you the power to handle most power-hungry applications and tons of multimedia work&lt;br&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;1TB SATA hard drive&lt;br&gt;Store 666,000 photos, 285,000 songs or 526 hours of HD video and more&lt;br&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;SuperMulti DVD Burner&lt;br&gt;Watch movies, and read and write CDs and DVDs in multiple formats&lt;br&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;10/100Base-T Ethernet&lt;br&gt;Connect to a broadband modem or wired broadband router with wired Ethernet&lt;br&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;20&quot; LED-backlit LCD monitor&lt;br&gt;Intel HD Graphics with up to 1664MB total available graphics memory&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;b&gt;Additional Features:&lt;/b&gt;&lt;ul&gt;&lt;li&gt;6-in-1 memory card reader&lt;/li&gt;&lt;li&gt;6 x USB 2.0 ports, 1 x headphone jack, 1 x microphone jack, 1 x RJ-45 Ethernet port, 1 x VGA+DVI-D port&lt;/li&gt;&lt;li&gt;1 x PCI Express x 0.5 slot, 1 x external 5.25&quot; bays, 1 x internal 3.5&quot; bay&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;b&gt;Software:&lt;/b&gt;&lt;ul&gt;&lt;li&gt;Genuine Microsoft Windows 8 Operating System&lt;/li&gt;&lt;li&gt;Norton Internet Security (60-day subscription)&lt;/li&gt;&lt;li&gt;HP Recovery Manager&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;b&gt;Support and Warranty:&lt;/b&gt;&lt;ul&gt;&lt;li&gt;1-year limited hardware warranty; 1-year limited monitor warranty; 24/7 technical assistance available online or toll-free by phone&lt;/li&gt;&lt;li&gt;Restore discs are not included (unless specified by supplier). We recommend you use the installed software to create your own restore and backup DVD the first week you use the computer.&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;b&gt;What's In The Box:&lt;/b&gt;&lt;ul&gt;&lt;li&gt;Power cord&lt;/li&gt;&lt;li&gt;HP USB keyboard&lt;/li&gt;&lt;li&gt;HP optical mouse&lt;/li&gt;&lt;li&gt;Quick Start Guide&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;b&gt;&lt;i&gt;To see the manufacturer's specifications for this product, click &lt;a href=&quot;http://i.walmart.com/i/rb/0088775827265.pdf&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;br&gt;&lt;br&gt;To see a list of our PC Accessories, click &lt;a href=&quot;http://www.walmart.com/cp/accessories-peripherals/132959&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;br&gt;&lt;br&gt;Trade in your used computer and electronics for more cash to spend at Walmart. Good for your wallet and the environment - click &lt;a href=&quot;http://gazelle.com/register_click?campaign=electronics_trade_in&amp;media_type=text&amp;network=walmart&amp;destination_url=http%3A%2F%2Fwalmart.gazelle.com&amp;placement=product_computers&amp;creative=learn_more&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;/i&gt;&lt;/b&gt;",
        "thumbnailImage": "http://i.walmartimages.com/i/p/00/88/77/58/27/0088775827265_100X100.jpg",
        "productTrackingUrl": "http://linksynergy.walmart.com/fs-bin/click?id=|LSNID|&offerid=223073.7200&type=14&catid=8&subid=0&hid=7200&tmpid=1081&RD_PARM1=http%253A%252F%252Fwww.walmart.com%252Fip%252FHP-Black-110-023-Desktop-PC-Bundle-with-Intel-Pentium-G2020T-Processor-8GB-Memory-20-Monitor-1TB-Hard-Drive-and-Window-8-Operating-System%252F24699992%253Faffilsrc%253Dapi",
        "standardShipRate": 0.0,
        "marketplace": false,
        "modelNumber": "110-023wb",
        "productUrl": "http://www.walmart.com/ip/HP-Black-110-023-Desktop-PC-Bundle-with-Intel-Pentium-G2020T-Processor-8GB-Memory-20-Monitor-1TB-Hard-Drive-and-Window-8-Operating-System/24699992",
        "customerRating": "4.432",
        "numReviews": 37,
        "customerRatingImage": "http://i2.walmartimages.com/i/CustRating/4_4.gif",
        "categoryNode": "3944_3951_132982",
        "bundle": false,
        "availableOnline": true
    }
]}

2) Process Integration

a) Interface Process

The requestor of the data feed will make a call as follows:

Walmart Interface Process

Request Management component needs a translator service to enable the processing of product data to and from Walmart API services.

b) Workflow

One of the attributes, productUrl, shown in the JSON code block, represents the deep linked URL that directly links to the product page of the item on walmart.com, and uniquely identifies the affiliate (itHUB in this case) sending this request via a linkshare tracking id |LSNID| [11]. In this case, the ordering process with the external service provider can be as simple as a link-out to the deep linked web page on the Walmart.com website.

3) Application Integration

To seamlessly integrate with the request management component as described in the previous section, the products and services data from the external service providers such as Walmart and Staples have to be translated to and from the itHUB product and service vocabulary. One of the methods of implementation design is shown below:

itHUB Application Integration with External Service Providers

a) Walmart Product Mapper

The responsibility of the Product Mapper is to extract all the necessary attributes from the “item” response XML/JSON string and create an itHUB-compatible external product item that can be represented using a common web interface. By the same token, for item inquiry or item order details, the mapper will convert the “Request” to Walmart API specific item specification.

b) itHUB Walmart Gateway

The responsibility of the Walmart Gateway is to receive and submit the product data from and to the Walmart Open API.

F. User Management

As discussed in the previous section, to create a singular view about the customer, itHUB user management component might have to assemble the information from a wide variety of data sources – user directory, ERP systems such as SAP, employee management software systems such as PeopleSoft to name a few. The following entity relationship diagram (ERD) shows a simplistic implementation of some of the attributes needed to properly service customers:

User Management

To pull customer-related information from multiple data sources, the following design could be implemented.

E-R Diagram for User Management Integration

1) Repository

The responsibility of the repository is to encapsulate storage, retrieval, and search behavior and to emulate a collection of objects (Evans, 2003).

a) ERP Repository

This is a specialized implementation of the Repository to deal with ERP systems and can be further specialized to deal with a specific ERP system – e.g. SAP Repository.

b) User Repository

This is a specialized implementation of the Repository to extract user details of customers from a user store such as an Active Directory. This can also be further specialized to deal with specific user stores.

2) User Service

The responsibility of the User Service is to retrieve and assemble user details, billing details etc. from a wide variety of repositories described above.

I’ll contiunue my discussion in the next post.


[10] Walmart. (2011). Walmart Open API - Data Feed API. Available: https://developer.walmartlabs.com/docs

[10] Walmart. (2011). Walmart Open API - Data Feed API. Available: https://developer.walmartlabs.com/docs

[11] Walmart. (2012). Walmart Open API - Item Response Groups. Available: https://developer.walmartlabs.com/docs/read/Item_Field_Description

Technology Stack for Web Applications

Choices abound when it comes to developing websites and to managing them efficiently. This paper outlines a set of web technologies that ...… Continue reading

itHUB - Part 6

Published on February 15, 2014