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 9002269
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 16, 20262026-06-16T00:32:53+00:00 2026-06-16T00:32:53+00:00

So in the past, the website I work on has relied on a single

  • 0

So in the past, the website I work on has relied on a single layer architectural that mixes data access directly with application and view code. I’ve recently convinced the team of the advantages of implementing a Data Access Service Layer (API); Especially with recent talk of horizontal scaling (native mobile applications, etc).

Right now the implementation that comes to mind is involves using Entity Framework to map the database to Data Contract classes which the client will request using a WCF service.
I’ve used this approach in the past on a smaller scale but now with the scope of a large collection of data objects, each with numerous criteria they may be queried off, I’m having problems envisioning how to structure the API.

Example List of data classes:

  • Product
  • Merchant
  • Brand
  • Taxonomy
  • Coupon
  • User
  • Reviews
  • Questions
  • Answers
  • Etc

(hopefully the way these objects are related is obvious enough to make my points)

Service Requirements

  • Service must be language independent (.net, php, java, objective c)
  • Pattern must allow for several different datasources acting as one api (say our users are stored in a MSSQL server, our Reviews system in MySQL, and our products come from an XML feed)
  • Must be able to implement object caching from the API side

Each of these data objects essentially needs to be queryable based on several of it’s columns (to either return a single object or a collection). While I could write a new API method for each of the different scenarios, I’m thinking there must a more elegant way of doing this.

Example Requests:

  • Get single Product by id.
  • Get list of products from a specific merchant, brand, or taxonomy ordered by ‘create date’, ‘price’, or ‘percent-off’.
  • Get all Reviews Submitted by a User
  • Get all Reviews of a Product
  • …

In my research I came across this MSDN Article outlining several standard approaches for creating an API. I would be interested in hearing advantages and disadvantages of each, as well as which approach seems to fit the model I’ve described above best.

  • 1 1 Answer
  • 0 Views
  • 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. Editorial Team
    Editorial Team
    2026-06-16T00:32:53+00:00Added an answer on June 16, 2026 at 12:32 am

    Essentially there are many patterns that do exactly this.
    UI Layer => Data Access layer => Core layer
    EF used in DAL, The model and Logic in CORE.
    Core declares interfaces and models for Other other layers to use.

    Do some reading on “Repository pattern” Unit of Work Pattern” Inversion of Control optional extra.
    If you are prepared to put 50USD on the table, there are some excellent video tutorials on http://Pluralsight.com to walk you through these concepts. Even sample apps etc. The 50USD is well spent in my view (1 month subscription).

    I particular recommend the video on pluralsight by Julie Lerman on EF and Enterprise architecture.
    Some very good tips there.

    I use such a pattern. And it works very well.

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

Sidebar

Related Questions

I have an application written in PHP (Not website, an application), that has an
i have some html files as part of a regular website that has been
Over this past Christmas holiday week, when the website I work on was experiencing
I am currently creating a website in php that has a database backend (can
I recently launched a website I have been developing over the past year -
We have a ASP.NET website project. In the past, we had been using asmx
Past scenario - Work with Tomcat and start in debug mode and Remote Debug
In the past I've heard that it can be dangerous to rename the Plone
I need to select past 30 days data and find the no: rows....i am
My university has quite a lot files (like past papers etc) which I need

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.