Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 133189
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T06:23:11+00:00 2026-05-11T06:23:11+00:00

As part of an ecommerce system I need to design and implement a blackbox

  • 0

As part of an ecommerce system I need to design and implement a blackbox of sorts. This needs to accept customers and orders from various internal and external data sources (i.e., web site, extranet, yahoo store, amazon xml feeds, etc.) and insert/update a backend system. The api’s to insert/update customer and order data are in place for the web site and working well. Now we need to add the ability to process orders from other data sources.

I’ve been leaning towards the provider model (one provider for each data source) and using it to standardize data into sql server tables before calling the api’s to actually add customers and place orders. Are there other models or patterns that I should consider? Have you dealt with this issue before and how did you solve it? Are there any resources (articles, books, projects, etc) I should look at?

  • 1 1 Answer
  • 1 View
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T06:23:11+00:00Added an answer on May 11, 2026 at 6:23 am

    You may find an ETL (Extract-Transform-Load) tool will make your life easier than trying to solve your problem in code.:

    • SSIS (SQL Server Integration Services)
    • ODI (Oracle Data Integrator)
    • Informatica PowerCenter
    • Many others

    These are designed specifically for the type of data loading work that you described.

    EDIT

    While I still maintain that an ETL tool will best serve your needs, if you insist on doing it in code, you should think about implementing ETL as a pattern. The reason for this is that ETL is a well established best practice for loading data from various sources. You should take some time to study how ETL is implemented.

    At a basic level, you should have three layers, an extraction layer, a transformation layer, and a loading layer.

    The extraction layer should be responsible for retrieving the data from the source. It should not worry about the shape of the data at this points. To keep the layer clean, you should only implement code that ‘gets’ the data here. Worry about shaping it in the transformation layer.

    The transformation layer should be responsible for taking data extracted from various sources and transforming it to the destination’s shape. ETL tools do this very efficiently by treating the data as pipelines. These can be split and parallelized. You probably won’t have the time or resources to do this. An alternative may be to load the data into staging tables (a less normalized representation of the data).

    The load layer takes the transformed data (in the above case from the staging tables) and loads them in to the final destination location.

    This sufficiently separates your layers so that you can protect yourself from future change. Keep in mind, however, that you’re really just doing what an ETL tool will do for you out of the box.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

As part of my ecommerce application, I have this interesting problem, I've been trying
Part of my web application is a background script that polls from a beanstalkd
Part of my table design is to include a IsDeleted BIT column that is
Part of my code I get the OuterHTML propery <LI onclick=TabClicked(this, 'SearchName', 'TabGroup1');>Name so
Part of my code goes like this: while(1){ my $winmm = new Win32::MediaPlayer; $winmm->load('1.mp3');
I am planning to implement a basic recommendation system that uses Facebook Connect or
Im interested in providing part of magento ecommerce as a SAAS solution. However, it
I need to make an Print product feature on my ecommerce site and the
In Django, settings are stored in a file, settings.py. This file is part of
Part of this assignment includes printing out on the display the current equation that

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.