开发者

what is a sharepoint data layer?

i need to understand a sharepoint project . this project has 3 components

  1. a sharepoint web application.
  2. a desktop air application

these 1 and 2 exist over the 3rd component

  1. a sharepoint data layer

well this is what is described in the specifications of the project.

what i understand is that the first two component are the applicat开发者_如何学JAVAions which use data stored in the 3rd component. however the picture is not very clear what is the sharepoint data layer. does sharepoint also has a database part in it , which can be used to store data or what ?


The data layer being described is a SharePoint Site Collection. Inside this site collection you store data in lists or document libraries (very similar but slightly different). To access the lists you use a combination of the SharePoint API or Web Services.

Part of sharepoint.microsoft.com includes a Silverlight control that access data from SharePoint lists (very similar to what you are doing with Air). Take a look at this "How We Did It Article" to get an idea of the conceptual architecture. http://blogs.msdn.com/sharepoint/archive/2009/06/18/how-we-did-it-sharepoint-microsoft-com.aspx

Good Luck.


The conceptual data model of sharepoint revolves around lists. under the covers, lists are stored in MS SQL (RDBMS).

If you need to read/write data, you should do so using the appropriate sharepoint webservices. see:

http://msdn.microsoft.com/en-us/library/ms479390.aspx

So, you should not touch the undelying database directly - rather, you'd issue HTTP requeests to these service, and these take care of the persistence.


Out of the box, SharePoint gives you many ways to manipulate it's data - through the API (tons of code classes whose names begin with SP like SPSite, SPWeb etc.). This API is however accessible only when you run code on the server.

If you wan t to do something on the client side, you can use SharePoint's Web services or WebDAV.

However, it would be awkward to use the Web service API if you execute the code on the server itself.

So, if I had to create an application that has both web application AND a desktop application, I would make my own class library with domain-specific objects inside that that exploit the possibilities of regular SharePoint API. I would then make some part of my class library available to desktop client applications as SOAP Web services (these would be more specific than the ones built into Sharepoint, such as "lists.asmx") and would provide the client with the functionality it needs. If I needed to call the same method from the web application, I wouldn't use Web services, but rather load my assembly from GAC and call into it.

After I wrote all of it, I think this is something more than simply 'data layer', since data layer wouldn't normally contain business logic.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜