Announcement

Collapse
No announcement yet.

.NET, COM and PB

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • .NET, COM and PB

    Hello,

    I recommend the following article from the August issue of MSDN:
    http://msdn.microsoft.com/msdnmag/is...op/Interop.asp
    detailing how COM clients/servers will be able to interact with
    .NET classes/applications.

    From what I understand, a COM client application will be able to
    call a .NET class as if it was a COM component. Also a form
    capable of hosting ActiveX controls (OCXs) will also be able to
    host .NET Controls at no additional cost.

    Symetrically, a .NET application will be able to call COM components
    as if they were native .NET classes, and .NET forms will be able
    to host OCXs.

    Making PB capable of creating COM components and OCXs would suffice
    to make it and excellent addon for the .NET platform, thanks to its
    inner qualities (size and speed).

    Making PB able to access COM components would give its developers
    an instant access to key existing (COM components) and future (.NET
    classes) software resources.

    Philippe Monteil
    JAZZAge Software



    ------------------

  • #2
    Thanks for the feedback Philippe! We'll add another tick to the COM entry in the wish list.

    ------------------
    Lance
    PowerBASIC Support
    mailto:[email protected][email protected]</A>
    Lance
    mailto:[email protected]

    Comment


    • #3
      <<Thanks for the feedback Philippe! We'll add another tick to the COM entry in the wish list.
      You are welcome

      Some other topics, like SOAP Web Services, will have a deep impact
      on software development and would therefore be worth mentioning as well.

      Imagine you can invoke the functionalities exposed by a Java class
      running on a Linux box from within your PB application, or that you can
      make your PB DLLs available to a Java application running on a Mac
      at no additional development cost...

      The multiplateform capabilities of a development tool become much less
      important than its ability to connect to and be accessed from Web services
      through a universal middleware like SOAP.

      Philippe



      ------------------

      Comment


      • #4
        Bonjour Phil!

        Soap is just a protocol in XML that you can do (or reproduce
        the functionality) without an ActiveX on the client side. You
        can make a Dll in PB to read the XML (a hard work like the PB
        programmers love it ;- ). Voilà!

        Regards



        ------------------
        -------------------------------------------
        Francis Beaulieu
        FrabLaser Softwares
        Francis Beaulieu
        Prog senior of 17 years.
        Microsoft Specialist

        Comment


        • #5
          Bonjour Francis,

          <<Soap is just a protocol in XML that you can do (or reproduce
          <<the functionality) without an ActiveX on the client side. You
          <<can make a Dll in PB to read the XML (a hard work like the PB
          <<programmers love it ;- ). Voilà!
          You are right, SOAP is 'only' a spec describing how object invocations
          should be packed into XML documents and then sent through HTTP
          requests. It is therefore already possible to invoke SOAP objects
          in PB/DLL by hand coding the various and rather touchy steps involved,
          but IMO a much higher level of integration in PB is required to make
          Web services effectively usable in real world developments.

          Web services describe their signature and their location (the address of the
          web server to send the SOAP requests to) in WSDL compliant XML documents.
          Those WSDL descriptions make possible to automatically generate the code
          wrapping a Web Service and make it look like a local objet. The free
          MS SOAP SDK 2.0 goes even further in that it maps a web service as a
          COM Automation object without needing to generate any connection code:
          everything is done dynamically, at runtime, in 2 lines of code.

          A typical WebService invocation using the MS SOAP SDK looks like:

          Dim soapclient As Object
          ' Create an instance of the MSSOAP.SoapClient COM component
          ' provided by the SOAP SDK
          set soapclient = CreateObject("MSSOAP.SoapClient")
          ' connect to the soap client to a webservice, given the URL of its WSDL description
          Call soapclient.mssoapinit("http://www.webservice.com/Calculator.wsdl", "", "")
          ' at this point, the soapclient component fully impersonates the
          ' connected web service, which then appears as an ordinary COM component
          ' exposing the same methods as the wrapped webservice.
          ' call the web service methods
          result=soapclient.AddNumbers(2,3)
          result=soapclient.SubtractNumbers(3,2)

          A full support for Automation components would make possible to do
          the same thing in PB.

          You will find a list of some publicly available web services at:
          http://xmethods.com/

          The following web site is dedicated to web services and offers
          a great deal of information on that topic:
          http://www.webservices.org

          Philippe




          ------------------

          Comment


          • #6
            If anyone wants to read an opinion of .NET by a well respected member of the open source community go here:
            http://www.oreillynet.com/pub/a/dotn.../09/icaza.html

            Miguel de Icaza is a leader of the GNOME project and his opinions carry alot of weight.

            Brent...

            ------------------

            Comment


            • #7
              Very interesting, thanks! I would like to add that WebServices
              are plateform neutral: they can be built and used with or
              without .NET.

              Philippe



              ------------------

              Comment

              Working...
              X