Sunday, May 24, 2009

After seeking the web for a good ORM mechanism in regards of developing scalable and generic DAL + BL tier (or service), I bumped into a great article that tested the EF (Entity Framework) hosted in WCF service (SOA architecture).

You can read it here. A short summary of this post says that the EF is still premature and couldn’t perform complex actions (like updating multiple tables that doing some transactions).

Performance and Scalability are also has been tested and the results weren’t so good!

So, after getting some advices from friends and colleges I think I’ll use NHibernate in order to publish my ORM relations to the DB.

Any suggestions or comments to this will be complimented to my email.

Posted by: Eran Nachum (c)
Post Date: 5/24/2009 11:30:00 AM (Jerusalem Standard Time, UTC+02:00)
Disclaimer | | Trackback   #
 Sunday, May 10, 2009

I am new to Silverlight 2 and starting these days to develop my first Silverlight application hosted on asp.net web application, which is going to be a large and complex management system for a new product of the company I am working for.

I going to use some new technologies from Microsoft house (like Silverlight, ADO.NET Data Services over WCF and Entity Framework), therefore I started to read some tutorials in regards these topics and must say that there are good tutorials on the web but I read a nice and long post: “Understanding WCF Services in Silverlight 2” that explains how to create WCF Service and more and more (which is quite basic for those that has some knowledge in WCF), but the good paragraph is the detailed info in regards the consuming this service in a Silverlight 2 application.

Check it out here.

Posted by: Eran Nachum (c)
Post Date: 5/10/2009 10:16:00 PM (Jerusalem Standard Time, UTC+02:00)
Disclaimer | | Trackback   #
 Friday, October 10, 2008

Microsoft come out with a new paper of comparing performance of WS in Microsoft platform and on IBM WebSphere.
MS comes out better (the purple bars graph) but then that is not surprising since this is an MS paper :-)

 

An interesting point is to see the comparison of different WCF configurations. Using NET-TCP gives almost double performance then using HTTP and self hosting http also gives a bit more then IIS hosted services.

 

Another significant point is that they calculated performance you get for what you pay for it and then MS solutions comes out the better deal by a few scales (the graph with the green bars).

More details in the spec here

Posted by: Eran Nachum (c)
Post Date: 10/10/2008 9:07:35 AM (Jerusalem Standard Time, UTC+02:00)
Disclaimer | | Trackback   #
 Wednesday, September 10, 2008

I am building these days another WCF service in order to perfom some actions, but the different between this WCF than others is that I have a base class that implements and describes common peroperties fro the derived classes, because I want to perfom actions generically.

Now, when I called the service method and sending the generic base class (that 'holds' the explicit class type of course) I bimped into a CommunicationException that claimed that the service failed to serialize thet the specific parameter that has been sent.

The solution for this failure is to add KnownType attribute above the base entity in order to specify types that should be recognized by the DataContractSerializer when serializing or deserializing a given type.

Some code snippet:

[DataContract]
[KnownType(typeof(User))]
public abstract class Entity
{
   [DataMember(IsRequired = true)]
   public int Id { get; set; }

   [DataMember(IsRequired = true)]
   public string Name { get; set; }

   public Entity() { }
}

[DataContract]
public class User : Entity
{
   [DataMember(IsRequired = true)]
   public List<string> PossibleActions { get; set; }
}

This should solve the problem in the definition of KnownType in the base class. Now you can call your service method using non excplicit type (Entity) smoothly.

WCF
Posted by: Eran Nachum (c)
Post Date: 9/10/2008 9:50:55 AM (Jerusalem Standard Time, UTC+02:00)
Disclaimer | | Trackback   #
 Tuesday, January 08, 2008

While search some interesting and innovating technological stuff on the web, I bumped into 2 articles regarding performance comparison between the classic .NET Remoting (published by Microsoft some years ago) and between WCF technology that ships as part of the .NET Framework 3.0.

The first one has being published by Marcin Celej that claims that: "Sending DataSet with .NET Remoting is faster (in any of cases I tested) than sending it with WCF".

On the other hand, MSDN published also a comparison article, and the evidences were other than the above ones: "When migrating distributed applications written with ... .NET Remoting to WCF, the performance is at least comparable to the other existing Microsoft distributed communication technologies ... WCF is ... approximately 25% faster than .NET Remoting".

Graphs and schemes were published to illustrate the great findings by each one of them.

I am a fan of Microsoft technologies - I admit it, but this issue sounds interesting and worth testing not? What do you think about it?

Posted by: Eran Nachum (c)
Post Date: 1/8/2008 1:57:58 AM (Jerusalem Standard Time, UTC+02:00)
Disclaimer | | Trackback   #