newbie dcom question - post dcom98 fundamentally different? 
Author Message
 newbie dcom question - post dcom98 fundamentally different?

Hi:
forgive the newbie question please, I am still gathering information on the
problem I am tackling.

I am supporting an application written for Win98 and dcom 95/98. So far no
one has been able to get it running on XP or 2000. Someone here is telling
me that these newer OSes have a new version of DCOM that is not compatible,
but I am skeptical.

Can anyone tell me if this compatibility issue is real or invented? And has
anyone dealt with a similar problem successfully that can offer me pointers?

Really, any help at all would be greatly appreciated.

regards,

Pat
(Please post replies to this list, or if you must reply personally, take the
nospam_ out of the reply address)

PS - I am not afraid of technical details... bring them on !
Patrick Harkins

Research Application Support Specialist

Shur-Gain

150 Research Lane Suite 200

Guelph ON

N1G 4T2

(519) 823-7017



Fri, 17 Sep 2004 23:56:14 GMT  
 newbie dcom question - post dcom98 fundamentally different?
P.S. - If anyone can suggest a better place to post that would be helpful
too, i'm sure.


Quote:
> Hi:
> forgive the newbie question please, I am still gathering information on
the
> problem I am tackling.

> I am supporting an application written for Win98 and dcom 95/98. So far no
> one has been able to get it running on XP or 2000. Someone here is telling
> me that these newer OSes have a new version of DCOM that is not
compatible,
> but I am skeptical.

> Can anyone tell me if this compatibility issue is real or invented? And
has
> anyone dealt with a similar problem successfully that can offer me
pointers?

> Really, any help at all would be greatly appreciated.

> regards,

> Pat
> (Please post replies to this list, or if you must reply personally, take
the
> nospam_ out of the reply address)

> PS - I am not afraid of technical details... bring them on !
> Patrick Harkins

> Research Application Support Specialist

> Shur-Gain

> 150 Research Lane Suite 200

> Guelph ON

> N1G 4T2

> (519) 823-7017



Sat, 18 Sep 2004 02:19:28 GMT  
 newbie dcom question - post dcom98 fundamentally different?

Quote:

> Hi:
> forgive the newbie question please, I am still gathering information on the
> problem I am tackling.

> I am supporting an application written for Win98 and dcom 95/98. So far no
> one has been able to get it running on XP or 2000. Someone here is telling
> me that these newer OSes have a new version of DCOM that is not compatible,
> but I am skeptical.

> Can anyone tell me if this compatibility issue is real or invented? And has
> anyone dealt with a similar problem successfully that can offer me pointers?

Is it because the default protocols are different?  I think Lose9x
prefers NetBEUI, while NT/2K/XP really, really want to use TCP/IP,
because your network is indeed where a few ??33t }{a??? D??d?!
want to go today.

--
Joe Foster <mailto:jlfoster%40znet.com>  "Regged" again? <http://www.xenu.net/>
WARNING: I cannot be held responsible for the above        They're   coming  to
because  my cats have  apparently  learned to type.        take me away, ha ha!



Sat, 18 Sep 2004 10:21:34 GMT  
 newbie dcom question - post dcom98 fundamentally different?
Hmmm... interesting thought - in this case the app is Interenet-enabled
though, which means it is connecting using TCP/IP, so I doubt that is the
issue. Thanks for the idea.

Pat




Quote:

> > Hi:
> > forgive the newbie question please, I am still gathering information on
the
> > problem I am tackling.

> > I am supporting an application written for Win98 and dcom 95/98. So far
no
> > one has been able to get it running on XP or 2000. Someone here is
telling
> > me that these newer OSes have a new version of DCOM that is not
compatible,
> > but I am skeptical.

> > Can anyone tell me if this compatibility issue is real or invented? And
has
> > anyone dealt with a similar problem successfully that can offer me
pointers?

> Is it because the default protocols are different?  I think Lose9x
> prefers NetBEUI, while NT/2K/XP really, really want to use TCP/IP,
> because your network is indeed where a few ??33t }{a??? D??dZ!
> want to go today.

> --
> Joe Foster <mailto:jlfoster%40znet.com>  "Regged" again?

<http://www.xenu.net/>

- Show quoted text -

Quote:
> WARNING: I cannot be held responsible for the above        They're
coming  to
> because  my cats have  apparently  learned to type.        take me away,
ha ha!



Sat, 18 Sep 2004 22:50:37 GMT  
 newbie dcom question - post dcom98 fundamentally different?

Quote:

> Hmmm... interesting thought - in this case the app is Interenet-enabled
> though, which means it is connecting using TCP/IP, so I doubt that is the
> issue. Thanks for the idea.

How about the security settings?  The servers might be expecting the
clients to be members of the domain.  Getting the security settings
just right is always a brass-plated biaatch...  (Thanks a lot, Bill)

--
Joe Foster <mailto:jlfoster%40znet.com>  Sign the Check! <http://www.xenu.net/>
WARNING: I cannot be held responsible for the above        They're   coming  to
because  my cats have  apparently  learned to type.        take me away, ha ha!



Sun, 19 Sep 2004 04:13:14 GMT  
 newbie dcom question - post dcom98 fundamentally different?
yea, i think something like that is more likely. if i ever get as far as
figuring this one out i will post the problem and its solution here.
I mainly want some feedback at this time as to whether or not DCOM is
backwards compatible.
My sense is that there is nothing special about it, but that something needs
tweaking and no one wants to take the time with it here. surprise, surprise!

Pat




Quote:

> > Hmmm... interesting thought - in this case the app is Interenet-enabled
> > though, which means it is connecting using TCP/IP, so I doubt that is
the
> > issue. Thanks for the idea.

> How about the security settings?  The servers might be expecting the
> clients to be members of the domain.  Getting the security settings
> just right is always a brass-plated biaatch...  (Thanks a lot, Bill)

> --
> Joe Foster <mailto:jlfoster%40znet.com>  Sign the Check!

<http://www.xenu.net/>
Quote:
> WARNING: I cannot be held responsible for the above        They're
coming  to
> because  my cats have  apparently  learned to type.        take me away,
ha ha!



Sun, 19 Sep 2004 05:20:01 GMT  
 newbie dcom question - post dcom98 fundamentally different?

Quote:

> yea, i think something like that is more likely. if i ever get as far as
> figuring this one out i will post the problem and its solution here.
> I mainly want some feedback at this time as to whether or not DCOM is
> backwards compatible.
> My sense is that there is nothing special about it, but that something needs
> tweaking and no one wants to take the time with it here. surprise, surprise!

I wonder if this idea might be of some use:

Switch the "real" DCOM servers over to NetBEUI or some other protocol
that canNOT be routed over the Internet.  Deploy a "customs" machine to
listen for the DCOM-over-Internet requests, inspect them, then forward
them over NetBEUI to the real servers.  It could even do load-balancing.
Hopefully something like that won't require Deep Hacking!  The forwarder
component might look something like this:  (pseudocode)

module globals

  private type server
    name as string
    count as long
  end type

  private const config = "servers.txt"
  global realserverclass as string ' first line in config file
  global servers() as server ' following lines in config file

  sub main()
    dim fd as integer
    fd = freefile
    open config for input access read lock write as #fd len = 4096

    line input #fd, realserverclass

    dim count as long
    redim servers(0 to 3)

    while not eof(fd)
      if count > ubound(servers) then
        redim preserve servers(0 to count + count \ 2)
      end if
      line input #fd, servers(count).name
      count = count + 1
    wend

    if count = 0 then
      erase servers
      err.raise 1337, , "no servers?!"
    elseif count <= ubound(servers) then
      redim preserve servers(0 to count - 1)
    end if

    close #fd
  end sub
end module

class factory ' global multiuse, maybe?
  private si as long, sn as string

  public function getserverobject(byval foo as string, byval bar as long) _
    as yourreal.serverclass

    ' perhaps do additional security checking here

    dim temp as yourreal.serverclass
    set temp = createobject(globals.realserverclass, sn)
    temp.pseudoconstructor foo, bar ' make sure this is fast!

    set getserverobject = temp
  end function

  private sub class_initialize()

    ' perhaps do additional security checking here

    ' which server seems to have the fewest active connections?
    ' (exhaustive linear search is fine if there are only a few servers)
    dim i as long, mc as long
    mc = 2000000000
    for i = lbound(servers) to ubound(servers)
      if servers(i).count < mc then
        mc = servers(i).count
        si = i
        'if mc = 0 then exit for ' dunno if this would be worth it
      end if
    next

    with servers(si)
      sn = .name
      .count = .count + 1
    end with
  end sub

  private sub class_terminate()
    servers(si).count = servers(si).count - 1
  end sub
end class

class remoteadmin ' allows changes without restarting anything

  private const disabled = 1000000000

  public property get serverclass() as string
    serverclass = globals.realserverclass
  end property

  public property let serverclass(byval nsc as string)
    globals.realserverclass = nsc
  end property

  public sub addserver(byval servername as string, optional byval enabled as boolean = true)
    dim i as long
    for i = lbound(servers) to ubound(servers)
      if servers(i).name = servername then
        err.raise vbobjecterror + 666, , "Duplicate name"
      end if
    next

    redim preserve servers(lbound(servers) to ubound(servers) + 1)
    servers(ubound(servers)).name = servername
    if not enabled then .count = disabled
  end sub

  public sub disableserver(byval servername as string)
    dim i as long
    for i = lbound(globals.servers) to ubound(globals.servers)
      if globals.servers(i).name = servername then
        with globals.servers(i)
          if .count < disabled then .count = .count + disabled
        end with
        exit sub
      end if
    next
    err.raise vbobjecterror + 667, , "Server name not found"
  end sub

  public sub enableserver(byval servername as string)
    dim i as long
    for i = lbound(globals.servers) to ubound(globals.servers)
      if globals.servers(i).name = servername then
        with globals.servers(i)
          if .count >= disabled then .count = .count - disabled
        end with
        exit sub
      end if
    next
    err.raise vbobjecterror + 667, , "Server name not found"
  end sub
end class

It's quite primitive, I know!  What I don't know is if DCOM on the
customs machine might bog down trying to gateway between TCP/IP and
NetBEUI or whether it will try to hand off to the "real" servers,
which won't work if they don't use the same protocol(s) as clients.
The "factory" class would also be a bottleneck, but it's harder for
objects in a "thread per object" or thread-pooled VB ActiveX EXE to
share any data, such as that list of servers and connection counts.

--
Joe Foster <mailto:jlfoster%40znet.com>  "Regged" again? <http://www.xenu.net/>
WARNING: I cannot be held responsible for the above        They're   coming  to
because  my cats have  apparently  learned to type.        take me away, ha ha!



Thu, 23 Sep 2004 04:51:37 GMT  
 
 [ 7 post ] 

 Relevant Pages 

1. What are these DISCO files and Why are they Different in different Directories?- Long Post-

2. FAQ = Frequently Asked Questions - vba - Please read before posting questions - unofficial - March posting

3. FAQ: Frequently Asked Questions - vba - please read before posting questions - unofficial February posting

4. FAQ - Frequently Asked Questions - vba - Please read before posting questions - unofficial - Jan 2003 posting

5. FAQ - frequently asked VBA questions - please read before posting questions - September posting - unofficial

6. FAQ - Frequently Asked Questions (vba) - please read before posting questions - August posting - unofficial

7. FAQ - Frequently Asked Questions - unoffical July posting - please read before posting questions - vba

8. FAQ - Frequently Asked Questions - unofficial June posting - please read before posting questions

9. FAQ - Frequently Asked Questions - unofficial - please read before posting your questions - March posting

10. FAQ - Frequently Asked Questions - unofficial June posting - please read before posting questions

11. Newbie Question - DCOM Out-of-Process Server

12. Newbie Question - HTTP Post

 

 
Powered by phpBB® Forum Software