This thread looks to be a little on the old side and therefore may no longer be relevant. Please see if there is a newer thread on the subject and ensure you're using the most recent build of any software if your question regards a particular product.
This thread has been locked and is no longer accepting new posts, if you have a question regarding this topic please email us at support@mindscape.co.nz
|
Hi everyone, We have had a number of requests from customers looking to use Lightspeed in remoting style situations where Lightspeed entities can be loaded from a remote endpoint, modified and then have their changes saved back to the server. We have put together a small sample for you to download which implements this scenario across the top of our SampleQueries application and would value your feedback at this point in time to evaluate if there are more advanced scenarios we need to be catering for as we build this in to the product. Once we have this capability built out, we will be looking at providing some other scenarios around usage such as working with ADO.NET Data Services.
Kind regards, Jeremy |
|
|
A quick observation. The samples won't work of SOAP as they are not using a wsHttp basicHttp.
|
|
|
Can you explain the use of the IDataService interface and how I can use it with ADO.NET Data Services? Me and my team is about to start a very large LOB Silverlight project and I am working to find the best way to do data access. That's including CSLA, EF, NH, XPO and to get the data ADO.NET DataServices and of curse WCF Hope you can help me. |
|
|
Could you clarify whether you are interested in: * Exposing LightSpeed entities using ADO.NET Data Services (so that your Silverlight application can query and update them, with LightSpeed running only on the server and behind the scenes); or * Consuming ADO.NET Data Services using LightSpeed I am guessing it is the first but wanted to check before diving in! |
|
|
I vote for number one. The entities must be able to compile in Silverlight. Maybe using partial classes to split the properties from the lightspeed specific classes. and then using linked files in visual studio. Like there are doing in prism and csla for silverlight. Have you used ADO.NET dataservices? - there is a client tool to automatic create proxy classes for the model. and then you can use the webdatacontext to query the model. But the proxy classes is only a start and bad design becuse if you deside to use them you end up implementing bizz logic and validation on the client and the server. And you are not able to reuse the model outside the Silverlight context like in a windows service. Hope this helps - and remeber to vote for ..... |
|
|
Have you looked at the new Windows Azure services? It seems there is an option to use "Table Storage Services" there which uses ADO.NET Data Services, so maybe that's what you had in mind? It would be great if Lightspeed could be used to map and communicate with both the Table Storage and the SQL Data Storage services on Azure. |
|
|
Hi Azure services can not be called from a SL client. What I need is an object with bizz rules and validation that I can use on the server and the SL client. To make this work all LightSpeed specific classe must be able to compile in SL. As a minimum this is
The persistent part can take part on the server |
|
|
Hi, I also vote for mhnyborg's suggestion, as long as LightSpeed entities can be passed to SilverLight side, it would be much easier and more possible to use LightSpeed in SilverLight application. I found it's too difficult and complex the use LightSpeed with SilverLight without this support. Regards
|
|
|
Thanks to everyone who has contributed suggestions and ideas on this -- we find this really useful, so keep 'em coming! I thought I would quickly update people on where we are with ADO.NET Data Services and Silverlight clients. We have got a rudimentary proof of concept working of surfacing LightSpeed entities via an ADO.NET Data Service with a REST API, and communicating with that from a Silverlight client using a sort of "client-side entity" class (the vague idea being that you could build your LightSpeed model against the "LightSpeed for Databases" assembly for the server, and against the "LightSpeed for Services" assembly for the client). As mhnyborg suggests, the "client side entity" class would provide the same API and features as the standard LightSpeed entity, but would back onto an ADO.NET Data Service instead of a database. However, there are a couple of nasty technical issues with our proof of concept. In particular, due to some questionable implementation decisions within ADO.NET Data Services, in order for our LightSpeed service to work, we have to take a dependency on .NET 3.5 SP1 in the core LightSpeed DLL, and we also incur a formal but aggravating CLS-compliance issue. We don't much like the idea of either of these and we do not yet know how to resolve them. Even once we have resolved these issues, we still have some work to do in finishing and cleaning up our server implementation, and in completing the "client-side entity" design that would allow the use of LightSpeed models over a DataServiceContext (and specifically within Silverlight). So I am afraid we do not yet have anything that is in a fit state to release, even as a preview or sample. But we are listening and we are moving forward. Keep the ideas and feedback coming, and keep holding our feet to the fire for updates! A quick footnote on cloud data services and Azure, as mentioned by robbam. We don't yet have enough knowledge of Azure SQL Services to figure out how LightSpeed would fit into this. My vague impression is that Azure SQL Services will be much like ADO.NET Data Services, but I could well be completely wrong about this. If that is the case, then hopefully a "LightSpeed for Services" component would be able to back onto Azure in the same way that it would back onto a standard ADO.NET Data Service. We will hopefully have more to say about this when we have a better understanding of Azure. |
|
|
It's looks like you got a lot of you mind I don't know if Lightspeed implements IQuerable but that's the first requirement to query a Lightspeed model with ADO.NET Data Service. To read about implementing a IQueryable please go to this blog http://blogs.msdn.com/mattwar/archive/2008/07/14/linq-building-an-iqueryable-provider-part-xi.aspx An remember there is going to be a huge market for a easy to build service layer for silverlight applications. So far Rockford and his CSLA framework is the only framework out there that is addressing the SL client needs like Bizz rules, Databinding and Transport layers.
|
|
|
Yes, we implement IQueryable via our LINQ provider (and the strong-typed unit of work generated by the designer). That's not the problem: the problem is getting ADO.NET Data Services to play nicely with the Entity type. |
|
|
Hi there,
Is there any progress on the Silverlight / LightSpeed integration? I have the following scenario: I need to build a several silverlight applications and I didn't know that silverlight does not allow LightSpeed entities. I'm building all UI's using the M-V-VM pattern. So I was hoping that I can use the LS-Entities as base entities so that I don't have to create clone entities and implement my own validations. Any help will be appreciated. Thank you, Johan |
|
|
Hello Johan, We are considering options for Silverlight support in 3.0 but we are not yet committing to it (and are not sure what level of support we will be able to offer if we do deliver it). If you could tell us what features you would specifically need from a Silverlight framework then we can see if we can prioritise these and get you involved in beta testing. You mentioned validation: is that the main concern, or are you looking for a full unit of work / change tracking / automatic association loading / etc. implementation? Do you need to be able to use your C#/VB entity classes directly within Silverlight (perhaps with reduced capabilities), or would it be okay to generate different, simplified implementations off the same .lsmodel file? |
|
|
Hi there, We're using silverlight as the presentation layer for all our new applications. With this change we are unable to use the LightSpeed.dll in the ViewModel because it lives in the Silverlight application. We need the Entity to be available in the Silverlight application so that we can convert the DtoEntity to the LightSpeed entity in the ViewModel and back when we call the WCF Service. Only extra part that we would need is the validation of then entity so that we have some client side validation. Regards, Johan |
|
|
If you are using the designer then one interim option would be to create a simplified template for the Silverlight objects, which created Plain Old Silverlight Objects instead of LightSpeed entities. Then in the Silverlight project you would reference your .lsmodel but supply your custom template path in the project properties. The template has access to the validations defined in the .lsmodel so you could emit these as attributes (like we do in the normal template), and write a Validate method which reflected over these attributes, or you could emit code directly into a Validate() method, and get your client-side validation that way. We can provide guidance on this if you decide to try this approach. |
|
|
Hi Ivan, At the moment I'm using the Dto's as my entities I can probably just change the template to add the validations to the class. Let me try it. Will let you know what's happening. Thanks for the idea. Johan |
|
|
Jeremy, I have tried your sample code. It is pretty easy to access and update data using WCS through the Lightspeed serviceModel.dll. However we need to add some security check and access control on service side. That means we have implement our own web service and need write similar UnitOfWorkFactory as Mindscape.LightSpeed.ServiceModel.DistributedUnitOfWorkFactory. In the Lightspeed 2.2 package we have, I found the source code for Framework and Framework.Linq. However Framework.ServiceModel is missing. Is it possible to give me access of Framework.ServiceModel source code? Thanks a lot, Jay
|
|