[SOLVED] VB.NET call-in

Author: joachim.wohmann@infraserv.com (joachim.wohmann@infraserv.com)

Hello, did anyone write a call-in in VB.NET so far? Maybe wrote something like a tutorial? Is call-in still the preferred way to call uniface components or is there any newer technology? Do I need special licences for call-in? Thank you, Joachim

6 Comments

  1. joachim.wohmann@infraserv.com said Hello, did anyone write a call-in in VB.NET so far? Maybe wrote something like a tutorial? Is call-in still the preferred way to call uniface components or is there any newer technology? Do I need special licences for call-in? Thank you, Joachim

    Hello Joachim, You can find a sample here: Community Samples: .NET Call-in and Call-out via COM Interop And when doing a Call-In (from VB.Net to Uniface) then you need server license features in order to execute components, access the database, ASO. For the other way around (i.e. Call-Out from Uniface to VB.Net) no special license features are required (AFAIK). I, however, don't understand what you mean by: "Is call-in still the preferred way to call uniface components or is there any newer technology"? Besides using COM Interop you also could use (e.g.) a Web Service interface (but that requires a Web Server to work). Hope this helps. Regards, Daniel


    Author: diseli (daniel.iseli@uniface.com)
  2. Hello Daniel, thank you for your quick reply. On first sight that example looks good to me. When I first read the documentation I thought of using the ucall.dll and doing the interop manually. Relating to the question about newer technologies you almost gave the answer. When I talked about call-in I only thought of com interop. Since we have no web server for uniface I already found the preferred way. Regards, Joachim


    Author: joachim.wohmann@infraserv.com (joachim.wohmann@infraserv.com)
  3. I recently tried to execute that sample and found that it requires a polyserver license. I'm not on a server...just a normal Windows 7 workstation. So why do I need a polyserver license to access the database from a component that was instantiated by a .NET form? What are the conditions that require a polyserver license? TIA, Larry


    Author: adkinsl (adkins.larry@gmail.com)
  4. adkinsl said I recently tried to execute that sample and found that it requires a polyserver license. I'm not on a server...just a normal Windows 7 workstation. So why do I need a polyserver license to access the database from a component that was instantiated by a .NET form? What are the conditions that require a polyserver license? TIA, Larry  

    The Uniface license software was architected in such a way that a COM call-in would require access to a Uniface server engine. That is the desired behavior, which is also why you need the server feature(s) in the license. This has nothing to do if you are using a Windows server or workstation. I mean, a Uniface server can also be used on Windows 7. You don't need a Windows server for this. Hope this helps. Daniel


    Author: diseli (daniel.iseli@uniface.com)
  5. That explanation doesn't help because you can do the COM call-in without the USRVXXX license feature. It's not until you access a database path that it does a license check. The feature bullet point I got from my sales rep yesterday was this:

    • Uniface PolyServer (Server Data Access, Remote Data Access) - gives Uniface processes the opportunity to access data on a server where there is no Uniface Client installed.

    My answer to that is that I don't have the Uniface Client installed on any of my customer's workstations, they are all server shared links as I know many others do the same type of Uniface "shared" installations. I do have the dbms native client installed on every machine also so I don't need polyserver in that way either. So without a valid reason (product statement) why a COM call-in can't work without having a polyserver license, I can only assume that this is a bug. Also, if you look at the samples that are posted on this website (like COM call-in / call-out) there's no mention of the polyserver as a license requirement for these types of communications. Uniface can call out to .NET without this license requirement, so why can't .NET call in to Uniface with the same expectation of having a non-polyserver conversation (with and without db access)? Larry


    Author: adkinsl (adkins.larry@gmail.com)
  6. The short answer is that it has been a commercial decision to license COM call-in in the mentioned way. So, from a technical point of view this is intended behavior. That's all I can tell you. Sorry. And AFAIK none of our samples mention any license requirements. I guess that it's expected that a user has an appropriate license. It seems that there could be some room for improvement here. If you have any further questions or concerns, then please discuss this with your account manager (i.e. sales rep). Thanks. Hope this helps. Daniel


    Author: diseli (daniel.iseli@uniface.com)