DevX Home    Today's Headlines   Articles Archive   Tip Bank   Forums   

Results 1 to 4 of 4

Thread: Choosing Development Language for COM+ Components

  1. #1
    Jim Anderson Guest

    Choosing Development Language for COM+ Components


    I was wondering if I could get some feedback/advice on what are
    the factors in deciding what language to use to build COM+
    components.

    I am working on a project building business and data access objects to be
    deployed in MTS on Windows 2000 - currently on a single server but eventually
    across multiple servers. I am
    experienced and comfortable creating ActiveX DLL's in Visual Basic. However,
    my client is concered that components created in
    VB won't scale as well as ones created with C++ and wants all
    components to be created in C++ instead. Is this really true
    (VB components don't scale as well)?

    I now the resulting COM objects are language independent but do components
    created in VB add more overhead. Are they less scalable than those created
    in C++?

  2. #2
    ranga raghunathan Guest

    Re: Choosing Development Language for COM+ Components


    "Jim Anderson" <anderson_jim@excite.com> wrote:
    >
    >I was wondering if I could get some feedback/advice on what are
    >the factors in deciding what language to use to build COM+
    >components.
    >
    >I am working on a project building business and data access objects to be
    >deployed in MTS on Windows 2000 - currently on a single server but eventually
    >across multiple servers. I am
    >experienced and comfortable creating ActiveX DLL's in Visual Basic. However,
    >my client is concered that components created in
    >VB won't scale as well as ones created with C++ and wants all
    >components to be created in C++ instead. Is this really true
    >(VB components don't scale as well)?
    >
    >I now the resulting COM objects are language independent but do components
    >created in VB add more overhead. Are they less scalable than those created
    >in C++?


    Good question. Hope several folks express their opinions on this topic. Here
    is mine.

    You might have heard that ATL(c++) components have a smaller footprint than
    other components. Regarding vb components, you need to consider several factors.
    First, the cost of development
    with c++/atl versus the cost of development using vb.. obviously vb will
    cost much less. As far as scalability, vb components cannot take advantage
    of object-pooling feature of com+ whereas c++/atl components can.. but then
    it will take a huge effort to write c++ components that take advantage of
    object pooling. But vb components can take advantage of component load balancing
    service (in appcenter server) , which will help you in scaling.
    So, eventhough vb components, theoretically, carry a larger footprint, there
    are services(like clbs,com+ JIT activation/deactivation) that they can utilise
    to scale. If your staff is vb-trained, then you may decide to stick with
    vb -- unless you want to re-train them on c++/atl which will cost you quite
    a bit. I have talked to several microsoft employees about this and the answer
    i get is that vb components as well as c++ componets, if not better. Particularly
    when your production server will be around 2GB RAM, vb's runtime footprint
    should be immaterial. If you take advantage of clustering and loadbalancing,
    you will get good results with vb itself.

    Hope to see other viewpoints

    ranga


  3. #3
    Jim Anderson Guest

    Re: Choosing Development Language for COM+ Components


    Ranga, Thank you for your response. It is very helpful and gives me some
    more areas to look in to.

    "ranga raghunathan" <ranga1@msn.com> wrote:
    >
    >"Jim Anderson" <anderson_jim@excite.com> wrote:
    >>
    >>I was wondering if I could get some feedback/advice on what are
    >>the factors in deciding what language to use to build COM+
    >>components.
    >>
    >>I am working on a project building business and data access objects to

    be
    >>deployed in MTS on Windows 2000 - currently on a single server but eventually
    >>across multiple servers. I am
    >>experienced and comfortable creating ActiveX DLL's in Visual Basic. However,
    >>my client is concered that components created in
    >>VB won't scale as well as ones created with C++ and wants all
    >>components to be created in C++ instead. Is this really true
    >>(VB components don't scale as well)?
    >>
    >>I now the resulting COM objects are language independent but do components
    >>created in VB add more overhead. Are they less scalable than those created
    >>in C++?

    >
    >Good question. Hope several folks express their opinions on this topic.

    Here
    >is mine.
    >
    >You might have heard that ATL(c++) components have a smaller footprint than
    >other components. Regarding vb components, you need to consider several

    factors.
    >First, the cost of development
    >with c++/atl versus the cost of development using vb.. obviously vb will
    >cost much less. As far as scalability, vb components cannot take advantage
    >of object-pooling feature of com+ whereas c++/atl components can.. but then
    >it will take a huge effort to write c++ components that take advantage of
    >object pooling. But vb components can take advantage of component load balancing
    >service (in appcenter server) , which will help you in scaling.
    >So, eventhough vb components, theoretically, carry a larger footprint, there
    >are services(like clbs,com+ JIT activation/deactivation) that they can utilise
    >to scale. If your staff is vb-trained, then you may decide to stick with
    >vb -- unless you want to re-train them on c++/atl which will cost you quite
    >a bit. I have talked to several microsoft employees about this and the answer
    >i get is that vb components as well as c++ componets, if not better. Particularly
    >when your production server will be around 2GB RAM, vb's runtime footprint
    >should be immaterial. If you take advantage of clustering and loadbalancing,
    >you will get good results with vb itself.
    >
    >Hope to see other viewpoints
    >
    >ranga
    >



  4. #4
    Scott Guest

    Re: Choosing Development Language for COM+ Components


    In addition to dev time and cost you must consider VB 7. Most experts agree
    that because of the limited threading support that VB offers, scalability
    becomes and issue. C++ AND VB can both be hogs and not scale. Remember
    the move toward stateless objects under MTS. If your COM Servers maintain
    state between calls, it doesn't matter which language you choose, MTS will
    flounder in servers that consume resources. The major benefit of MTS is
    the connection pooling to databases features. Also remember to Shared proerty
    manager within MTS for shared non-dynamic data such as look ups etc. state
    codes can be loaded into SPM and greatly reduce the time a component is active.

    Use SetAbort and SetComplete often. If you are also passing large abounts
    of data to the client/Web Server tier, look out for cross machine calls.


    I have developed both and if a client does not have deep pockets or your
    deadline is close, VB is very scalable IF you design and test approproiatly.
    Threading and true OO will come with VB 7.









    "Jim Anderson" <anderson_jim@excite.com> wrote:
    >
    >I was wondering if I could get some feedback/advice on what are
    >the factors in deciding what language to use to build COM+
    >components.
    >
    >I am working on a project building business and data access objects to be
    >deployed in MTS on Windows 2000 - currently on a single server but eventually
    >across multiple servers. I am
    >experienced and comfortable creating ActiveX DLL's in Visual Basic. However,
    >my client is concered that components created in
    >VB won't scale as well as ones created with C++ and wants all
    >components to be created in C++ instead. Is this really true
    >(VB components don't scale as well)?
    >
    >I now the resulting COM objects are language independent but do components
    >created in VB add more overhead. Are they less scalable than those created
    >in C++?



Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center
 
 
FAQ
Latest Articles
Java
.NET
XML
Database
Enterprise
Questions? Contact us.
C++
Web Development
Wireless
Latest Tips
Open Source


   Development Centers

   -- Android Development Center
   -- Cloud Development Project Center
   -- HTML5 Development Center
   -- Windows Mobile Development Center