Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeDevelopment and...Development and...Building ExtensionsBuilding ExtensionsProvidersProvidersChange the data access layer to use web servicesChange the data access layer to use web services
Previous
 
Next
New Post
5/23/2012 7:54 AM
 

I have some question about DotNetNuke before making a decision to use it for my customer. They want to split data access layer to another back end system machine behind firewall and they want to use web services  as the communication method. In other word, all methods called to query the database in the DotNetNuke should be changed to call web services instead to get some kind of data.  So can the DotNetNuke do this? and How? Do you have recommendations or suggestions? Thank you. 

 
New Post
5/23/2012 5:26 PM
 
its possible as dotnetnuke supports a provider for data access so you could create a seperate provider implementation. However this would be a lot of work - and any modules that try to execute sql tasks based on the connectionstring would fail.

Buy the new Professional DNN7: Open Source .NET CMS Platform book Amazon US
 
New Post
5/23/2012 9:18 PM
 
Thank for your reply, Cathal. Do you have some suggestions about this or how it can be accomplished? As my understanding, I should change every methods in DataProvider.cs in Core code or (write new one) to call web services? However, most methods in DataProvider return the type of IDataReader. So, I should convert the object of web services to IDataReader? and it will be converted back to object again from CBO. This way is quite slow and waste of computation time. Are there any better way? Another thing, you said that it has a lot of work. Can you point out those works for me? I need to clarify this before sending quotation to my customer.

Thank you!!!
 
New Post
5/24/2012 4:10 AM
 

yes, thats correct - you need to create a concrete implementation that inherits from the base dataprovider and return the type's it expects - so you would need to convert your webservice data (presumably json) to the various types - many are primitive (int/string) but you would need to write a function to convert to IDataReader. The wiki has some short notes http://www.dotnetnuke.com/Resources/W....

As mentioned this is a large amount of work - it's a lot easier if you use another database as many of them have relevant ado.net objects with the same base e.g. oracledatareader is subclassed from IDataReader.

There is no better way as this is the extensibility point for swapping out the data layer.


Buy the new Professional DNN7: Open Source .NET CMS Platform book Amazon US
 
Previous
 
Next
HomeHomeDevelopment and...Development and...Building ExtensionsBuilding ExtensionsProvidersProvidersChange the data access layer to use web servicesChange the data access layer to use web services


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out