locked
Will WCF increase the application performance? RRS feed

  • Question

  • Win App and Batch jobs are using same COM+ component (Actually it is migrated from VB6 to .Net 1.1). We are trying to migrate (re-write) the COM+ component to WCF. Will WCF increase the application performance?

    We are not exposing any service. We are just using the component for Batch job and windows application.

    Current batch job is taking 35 to 40 mins to process 3500 records. If we replace the COM+ component with WCF; will it reduce the execution time. Please suggest.

    Thanks,

    Prakash T

    Thursday, January 12, 2012 10:02 AM

Answers

  • Moving to WCF will be strongly determined by WCF's enterprise application features like security, reliability and transactions as compared with COM+ services especially with respect to configuration and programming. The easy and yet powerful programming style of WCF versus the complexity of understanding COM and COM+ will certainly be a big plus.

    WCF services are significantly easier to scale out than COM+ services, because they compose well with standard IP load-balancing solutions and they are easier to manage because they have predictable port ranges and can communicate efficiently. This way i would say WCF is faster than COM +.

    If i assume your COM+ is is legacy VB stuff than i amsure there are many RCW operation with unmanaged code would happen which may brings down the performance for COM+

    anyway you can link to below URL by MSDN for performance comparision.

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


    Lingaraj Mishra
    • Marked as answer by Prakash Sugan Thursday, January 12, 2012 1:30 PM
    Thursday, January 12, 2012 11:55 AM
  • Yes Window Service would do the job for you. WCF got a many Hosting option like Windows Service / WAS/IIS and self hosting option. For Enterprise application you could think of hosting it in IIS 7.0 or a Windows Service.

    Your Win Application and Batch Jobs both can share the same EndPoint and invoke Request. You can use nettcpBinding or netPipe binding for that.

     In future if a Java application want to use your service, you do not need to re-write just you need to configure a new endPoint with basichttpbinding or WShttp binding.

    For migrating to WCF from COM+, You Can read Integration and Migration of COM+ services to WCF guidelines from here

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


    Lingaraj Mishra
    Thursday, January 12, 2012 12:46 PM

All replies

  • I don't know the answer exactly in combination with COM+, but in general WCF will not increase performance. Normally it is just the opposite site. With WCF you are making something like a remote call and this will always be slower than a local call.

    If you're not exposing the web service to distribute your application or to follow any architecture (like I understand), why don't you're using Windows Services to the batch job?


    Best Regards. Please Mark Answered, If my solution solves your problem.
    Thursday, January 12, 2012 10:18 AM
  • On 1/12/2012 5:02 AM, Prakash Karasu wrote:
    > Win App and Batch jobs are using same COM+ component (Actually it is
    > migrated from VB6 to .Net 1.1). We are trying to migrate (re-write) the
    > COM+ component to WCF. Will WCF increase the application performance?
    >
    > We are not exposing any service. We are just using the component for
    > Batch job and windows application.
    >
    > Current batch job is taking 35 to 40 mins to process 3500 records. If we
    > replace the COM+ component with WCF; will it reduce the execution time.
    > Please suggest.
    >
     
    No, WCF is not going increase performance in this situation. It's
    probably going to be slower.
     
    Thursday, January 12, 2012 11:47 AM
  • Moving to WCF will be strongly determined by WCF's enterprise application features like security, reliability and transactions as compared with COM+ services especially with respect to configuration and programming. The easy and yet powerful programming style of WCF versus the complexity of understanding COM and COM+ will certainly be a big plus.

    WCF services are significantly easier to scale out than COM+ services, because they compose well with standard IP load-balancing solutions and they are easier to manage because they have predictable port ranges and can communicate efficiently. This way i would say WCF is faster than COM +.

    If i assume your COM+ is is legacy VB stuff than i amsure there are many RCW operation with unmanaged code would happen which may brings down the performance for COM+

    anyway you can link to below URL by MSDN for performance comparision.

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


    Lingaraj Mishra
    • Marked as answer by Prakash Sugan Thursday, January 12, 2012 1:30 PM
    Thursday, January 12, 2012 11:55 AM
  • Thanks for replay!

    Colud you please let me know how can we replace COM+ component?

    Thanks,

    Prakash T

    Thursday, January 12, 2012 11:56 AM
  • Thanks!

    Win App and Batch jobs are using same COM+ component (re-use concept). If we go for Windows service; will it used for Win App also?

    Most of the time Win App (by manually) and Batch jobs (by scheduled) are doing same work.

    Please suggest that the Window Services will help for both purpose or not.

     

    Thanks and Regards,

    Prakash

    Thursday, January 12, 2012 12:06 PM
  • Thanks Lingaraj!

    Thanks and Regards,

    Prakash

    Thursday, January 12, 2012 12:20 PM
  • Yes Window Service would do the job for you. WCF got a many Hosting option like Windows Service / WAS/IIS and self hosting option. For Enterprise application you could think of hosting it in IIS 7.0 or a Windows Service.

    Your Win Application and Batch Jobs both can share the same EndPoint and invoke Request. You can use nettcpBinding or netPipe binding for that.

     In future if a Java application want to use your service, you do not need to re-write just you need to configure a new endPoint with basichttpbinding or WShttp binding.

    For migrating to WCF from COM+, You Can read Integration and Migration of COM+ services to WCF guidelines from here

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


    Lingaraj Mishra
    Thursday, January 12, 2012 12:46 PM
  • Thanks a lot Lingaraj!

    Thanks and Regards,

    Prakash T

    Thursday, January 12, 2012 1:29 PM