You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
(11) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
---|
From: Marcus S. <mar...@gm...> - 2002-05-28 22:30:00
|
Hi, I think, one possibility to create a Web Service out of a Delphi COM object, would be the following: 1. Write Delphi code 2. Expose Delphi code via a COM object 3. Generate a proxy assembly via the TLBIMP.EXE utility of the .NET framework that dispatches .NET calls to the COM object. 4. For each CoClass inside the COM object, an ASP.NET has to be created (the implementation takes place in the same file) 5. For every method and property of the COM object a wrapper method is added to the ASP.NET file that redirects incoming calls to the previously generated proxy assembly. That would require that we write a little utility program that calls the TLBIMP utility and generates the appropriate ASP.NET files. Who would be interested in writing such a utility ? Or don't you agree with the shown way of exposing a COM object as an .NET Web Service ? A nice benefit would be that we can handle any COM object - not only Delphi ones. But when we let the ASP.NET file call a COM object, the user that runs the ASP.NET requires the permission to access that object. cu marcus |
From: Marcus S. <mar...@gm...> - 2002-05-27 22:15:29
|
Hello, I had a closer look to the WebService/SOAP functionality of the .NET-Framework today. 1. CLIENT SIDE On the client side, all Web Service calls seem to be implemented as derivations of a class called "SoapHttpClientProtocol" (it's inside the "System.Web.Services.Protocols" namespace). So if a .NET application wants to communicate with a Web Service as a client, it has to implement a proxy class that does the actual invocations. Such a proxy class would look something like this in C# (shortened): [System.Web.Services.WebServiceBindingAttribute(Name="CTestServiceSoap", Namespace="http://tempuri.org/")] public class CTestService : System.Web.Services.Protocols.SoapHttpClientProtocol { public CTestService() { // URL of the Web Service endpoint this.Url = "http://localhost:180/services/01.test/TestService.asmx"; } // Dispatched invokation of a WebService method that doesn't take any arguments [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.o rg/GetId", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] public string GetId() { object[] results = this.Invoke("GetId", new object[0]); return ((string)(results[0])); } // Dispatched invokation of a WebService method that takes a string as an argument [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.o rg/SayHello", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] public string SayHello(string sName) { object[] results = this.Invoke("SayHello", new object[] {sName} ); return ((string)(results[0])); } } If you aren't familiar with the C# syntax I'll explain the main processes, when an applications makes use of this proxy class via the following code: CTestService wsTestService = new CTestService(); // a new instance of the proxy class is created String sRes = CTestService.SayHello("World"); // the Web Service's method "SayHello" is called and the required argument "World" is specified MessageBox.Show(sRes); // The result of the call is displayed (At the moment, we're not interested in how the server implements the Web Service) Internally, when the CTestService proxy class is instantiated, the "Url" property of the overlaying "SoapHttpClientProtocol" class is set to the Web Service's endpoint URL. Then, when the proxy's method "SayHello()" is called, the proxy uses the inherited "Invoke" method to call the Web Service method with the supplied arguments. The value returned by the Web Service serves as the result of the function. Since .NET allows the invokation of the "SoapHttpClientProtocol::Invoke" method only out of a class that inherits from "SoapHttpClientProtocol", we can't use the methods of "DotNetExec" at their present state, because NETInvokeMethod(aSoapClient, "Invoke", ["SayHello", ["World"]]) or something like this would produce an exception :-( Has someone discovered another way to invoke Web Services from within the .NET framework ? If not, we could extend the DotNetExec unit to that effect, that we introduce a new function like "NETInvokeWSMethod()" that causes the C#-part of DotNetExec ("DotNetExec.cs") to internally create such a proxy class, invoke it and dispatch the return value. However, that's not a elegant way to solve the problem, so if anyone has a better method or an idea, PLEASE tell us :> 2. SERVER SIDE In .NET, you're supposed to implement Web Services as ASP.NET pages. These ASP.NET Web Services can be written in any .NET-enabled language (i.e. a language an implementation of the "System.CodeDom.Compiler.CodeDomProvider" class exists for - a quite BIG effort to implement, so Delphi.NET goes an other way), like VB.NET, C# or JScript.NET. Such an ASP.NET document can be very simple like this C# example: <%@ WebService Language="C#" Class="CTestService" %> using System; using System.Web.Services; public class CTestService { [WebMethod] public String GetId() { return "TestWebService"; } [WebMethod(Description="Sagt servus")] public String SayHello(String sName) { return "Hello " + sName + " !"; } } Such an .asmx-document (that's the default suffix for an ASP.NET-WebService) needs the Internet Information Services (IIS) 5.0 or higher to run. So if we want to provide server-sided Web Services functionality in Delphi.NET (and don't want to implement the mentioned "System.CodeDom.Compiler.CodeDomProvider" - anyone looked at it ? Gosh! ;D ) we must again find an "indirect" way. One possibiliy would be to write a (more or less) little utility that creates wrapper ASP.NET files from an DLL (that can be implemented with Delphi i.a.). That could look like (*untested*): <%@ WebService Language="C#" Class="CTestService" %> using System; using System.Web.Services; public class CTestService { [WebMethod] [DllImport("Delphi.dll", EntryPoint="GetId", ExactSpelling=true)] public static extern String GetId(); [WebMethod] [DllImport("Delphi.dll", EntryPoint="SayHello", ExactSpelling=true)] public static extern String SayHello(String sName); } If no one can think of a better solution for this problem - is there someone who would be interested in writing such a tool ? A problem could be that one can't determine the argument list of a DLL function or do I err ? In this case we could dispatch the Web Service calls to a COM object instead to a DLL. These were just some things I discovered ... If some passages were unclear please object to them :-) cu marcus |
From: Marcus S. <mar...@gm...> - 2002-05-26 13:17:35
|
Delphi tries to generate declarations of the .NET data types "Byte", "Double, "Int64" and "Single" which are already reserved in Delphi hence the file cannot be compiled. Our modification just prefixes an underscore ("_Byte", "_Double", "_Int64", "_Single"). ----- Original Message ----- From: "Wajahath Dean" <wod...@ho...> To: <del...@li...> Sent: Sunday, May 26, 2002 2:49 PM Subject: Re: [DelphiNet-general] OT: Preview on Borland's .NET-enabled Delphi :) > Just wondered what the changes were in the version of mscorlib_TLB.pas > supplied in the zip from the supplied version in delphi. |
From: Wajahath D. <wod...@ho...> - 2002-05-26 12:49:49
|
Hi, Just wondered what the changes were in the version of mscorlib_TLB.pas supplied in the zip from the supplied version in delphi. Wodge >From: "Marcus Schmidt" <mar...@gm...> >Reply-To: del...@li... >To: "Delphi.NET-Mailingliste" <del...@li...> >Subject: [DelphiNet-general] OT: Preview on Borland's .NET-enabled Delphi >:) >Date: Thu, 23 May 2002 16:41:30 +0200 > >Hello, > >the .NET-section on the Borland website (http://www.borland.com/dotnet/) >has >an article >that shows the future version of Delphi with .NET-support (that is also >called Delphi.NET ;) >=> http://community.borland.com/article/0,1410,28649,00.html > > >I was quite busy last week but now I have got time to do some work on >Delphi.NET. >Btw, is someone except Wajajath interested in the WebService/ADO.NET sample >application or something else ? > >cu > > >_______________________________________________________________ > >Don't miss the 2002 Sprint PCS Application Developer's Conference >August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm > >_______________________________________________ >Delphinet-general mailing list >Del...@li... >https://lists.sourceforge.net/lists/listinfo/delphinet-general _________________________________________________________________ Chat with friends online, try MSN Messenger: http://messenger.msn.com |
From: Marcus S. <mar...@gm...> - 2002-05-23 14:41:42
|
Hello, the .NET-section on the Borland website (http://www.borland.com/dotnet/) has an article that shows the future version of Delphi with .NET-support (that is also called Delphi.NET ;) => http://community.borland.com/article/0,1410,28649,00.html I was quite busy last week but now I have got time to do some work on Delphi.NET. Btw, is someone except Wajajath interested in the WebService/ADO.NET sample application or something else ? cu |
From: Marcus S. <mar...@gm...> - 2002-05-14 12:13:40
|
Hi, I've just created an Windows Help-File out of the existing project documentation (http://sourceforge.net/docman/?group_id=50878) => http://delphinet.sourceforge.net/delphinet.chm Of course it's just an **ALPHA** version of the doc (so the content isn't complete yet) but it would be nice to hear what you think of it and what you would do in a different way. Thanks cu Marcus |
From: Wajahath D. <wod...@ho...> - 2002-05-12 09:54:17
|
Hi, Sounds good and it also demonstrate a variety of the features of dot net. I'll try and get started on it this week. I've set the framework up on my pc now and i am just going through the documentation. wodge >From: "Marcus Schmidt" <mar...@gm...> >Reply-To: del...@li... >To: <del...@li...> >Subject: Re: [DelphiNet-general] Possible topics for sample applications >Date: Sat, 11 May 2002 21:45:54 +0200 > >Hi, > > > - Sample for developing Web Services > >A specific sample for this topic could be a small environment with a server >that provides the Web Services and a client that utilizes it. A certain >example of use could be the following: > > >/-------------------------------- >Server: >- Database System that can be accessed via .NET (for example Microsoft SQL >Server or MySQL) >- Web Service that provides access to the Database System >- Listener/Wrapper for the Web Service (sorry, but I don't know yet how the >listener is realized in .NET) >--------------------------------/ > > > >/-------------------------------- >Client: >- .NET-Client for the Web Service that executes some SQL-queries (f.e.: >"SELECT * FROM tbl" etc.) > via the Web Service >--------------------------------/ > > >So the model for this application would look something like this: > >CLIENT: >1. User enters or invokes a SQL statement ... let's say "SELECT * FROM >table1 WHERE (price <= 100)" >2. The client applications submits that statement to the SERVER via the >.NET >WebServices-capabilites > >SERVER: >3. Web Service listener/wrapper recieves the desired statement and >dispatches it to the actual Web Service application >4. The Web Service application accepts the statement and executes in on the >DBMS >5. The DBMS performs the stated query and passes the results to the Web >Service Application >6. Web Service Application hands over the result set to the CLIENT > >CLIENT >7. Result set is received and displayed to the user > > >cu >-- marcus > > >_______________________________________________________________ > >Have big pipes? SourceForge.net is looking for download mirrors. We supply >the hardware. You get the recognition. Email Us: ban...@so... >_______________________________________________ >Delphinet-general mailing list >Del...@li... >https://lists.sourceforge.net/lists/listinfo/delphinet-general _________________________________________________________________ Join the worlds largest e-mail service with MSN Hotmail. http://www.hotmail.com |
From: Marcus S. <mar...@gm...> - 2002-05-11 19:46:03
|
Hi, > - Sample for developing Web Services A specific sample for this topic could be a small environment with a server that provides the Web Services and a client that utilizes it. A certain example of use could be the following: /-------------------------------- Server: - Database System that can be accessed via .NET (for example Microsoft SQL Server or MySQL) - Web Service that provides access to the Database System - Listener/Wrapper for the Web Service (sorry, but I don't know yet how the listener is realized in .NET) --------------------------------/ /-------------------------------- Client: - .NET-Client for the Web Service that executes some SQL-queries (f.e.: "SELECT * FROM tbl" etc.) via the Web Service --------------------------------/ So the model for this application would look something like this: CLIENT: 1. User enters or invokes a SQL statement ... let's say "SELECT * FROM table1 WHERE (price <= 100)" 2. The client applications submits that statement to the SERVER via the .NET WebServices-capabilites SERVER: 3. Web Service listener/wrapper recieves the desired statement and dispatches it to the actual Web Service application 4. The Web Service application accepts the statement and executes in on the DBMS 5. The DBMS performs the stated query and passes the results to the Web Service Application 6. Web Service Application hands over the result set to the CLIENT CLIENT 7. Result set is received and displayed to the user cu -- marcus |
From: Marcus S. <mar...@gm...> - 2002-05-08 22:31:47
|
Hi, here's a list of topics the sample applications could treat: - Sample for developing Web Services - Advanced sample for using ADO.NET and the .NET data objects and controls - .NET Remoting - XSL and Schema capabilites of the .NET class library - .NET Security model - using Delphi components/COM Objects in ASP.NET We should discuss now, which topics would be nice and reasonable to demonstrate by an application and who wants to do what. We should also debate a useful example of use. Since you requested more information on the .NET framework I'll shortly describe the mentioned aspects of it. The .NET framework consists in general of two core components: - The "Common Language Runtime (CLR)": .NET programs (.EXE) don't contain machine-code like traditional programs but are stored in the proprietary "Microsoft Intermediate Language" (MSIL). All compilers that create .NET programs create MSIL-.EXEs. The Common Language Runtime that is of course shipped with the .NET framework is executes the MSIL code (also called "managed code"). Though developers are supposed to write only applications that use "managed code", i.e. write sourcecode that is completely managed by the CLR, there are several ways to communicate with native elements such as COM Objects etc. - The ".NET Class Library" is a really BIG collection of libraries. Those libraries (about 10 files, located in the directory "\WINDOWS\Microsoft.NET\<Version>\" ) are actually used for _everything_ in .NET. They provide basic functionality, for example for drawing Windows, Exceptions and even all data types are stored in those libraries. But they also contain advanced features like processing XML, accessing Databases and the web etc. Every .NET application depends largely upon the class library. Since the class library is available on every ".NET-enabled" system, it isn't directly compiled into the executable file whereby the filesize stays quite humble. To get a better feeling and understandig for the .NET Class Library, you should have a look at the ".NET Reflector tool" (http://www.aisto.com/roeder/dotnet/). To get the actual .NET framework you can download it from the Microsoft Website: http://msdn.microsoft.com/downloads/default.asp?URL=/downloads/sample.asp?ur l=/msdn-files/027/001/829/msdncompositedoc.xml (small version - contains the CLR, the Class Library, some compilers and a few tools) http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?ur l=/msdn-files/027/000/976/msdncompositedoc.xml&frame=true ("full version" [SDK] - contains the same as above plus some more tools and the complete documentation of the framework) Web Services capabilites of .NET: (Namespace: "System.Web.Services") The .NET framework provides a huge amount of classes and functions for developing Web Services. The functionality is mainly capsulated in the "System.Web.Services" namespace of the .NET framework. Since Web Services are one of .NET's key features, we should absoluteley build an sample treating this topic. ADO.NET: (Namespace: "System.Data") ADO.NET is the largely renewed version of the ActiveX Data Objects - a set of objects/classes that provide a very powerful means for accessing data sources of any kind. .NET Remoting: (Namespace: "System.Runtime.Remoting") Mmh I have no clue yet ;-) seems like something for remote communication/invokation :> XSL/Schema/XPath: (Namespace: "System.Xml") Besides the support for parsing standard XML documents, the .NET framework offers special functionality to handle XPath or XML applications like XSL(T) and XML Schema. .NET Security model: (Namespace: "System.Security") A collection of classes and utilities for establishing a security model/environment within the .NET framework. P.S.: Sorry for grammer and expression mistakes :-/ |
From: Wajahath D. <wod...@ho...> - 2002-05-07 21:44:31
|
Hi, Sorry about the delay in replying. I'm not sure what kind of examples need writing. I'm not that familiar with the dot net framework at the moment and am hoping to use this project to gain a better understanding of it. Could you suggest something? wodge >From: "Marcus Schmidt" <mar...@dr...> >Reply-To: del...@li... >To: "Delphi.NET-Mailingliste" <del...@li...> >Subject: Re: [DelphiNet-general] Welcome to our new mailing list ;-) >Date: Sat, 4 May 2002 12:54:24 +0200 > >Yes, we should also definitely create an sample app that demonstrates the >Web Services capabilities of .NET. Some ideas ? > >ADOExpress-equivalents sound good and it wood be great to handle the >insufficiency of the standard and pro editions of Delphi. > > >cu > > >----- Original Message ----- >From: "Wajahath Dean" <wod...@ho...> >To: <mar...@gm...> >Sent: Monday, April 29, 2002 9:41 PM >Subject: Re: [DelphiNet-general] Welcome to our new mailing list ;-) > > > > Hi, > > > > Thanks for adding me to the mailing list. > > > > I think this project should basically provide full open source access to >the > > NET framework for users. Thats all ;-) > > > > Certain delphi components like soap are currently only available from > > borland in the enterprise versions of their software. > > > > At the moment, I think I would be interested in trying to write a few >more > > sample applications. > > > > I'm also interested in ADO.Net and would like to try write a similiar >set >of > > components to ADOExpress thats include with some versions of delphi. > > > > >From: "Marcus Schmidt" <mar...@gm...> > > >To: "Delphi.NET-Mailingliste" <del...@li...> > > >Subject: [DelphiNet-general] Welcome to our new mailing list ;-) > > >Date: Sat, 27 Apr 2002 23:40:40 +0200 > > > > > >Hi, > > > > > >I've created this mailing list and arbitrary subscribed you - i hope >you > > >don't mind. > > >Well, I was quite busy last week so I couldn't set it up earlier. > > > > > >There now are several documentations available at > > >http://sourceforge.net/docman/?group_id=50878. > > >(Special thanks to Sven Reichard and Tim Crouch for translating the >German > > >texts). > > > > > >Things there are to do now can be found at > > >http://sourceforge.net/tracker/?atid=461301&group_id=50878&func=browse > > > > > >I hope the documentation enables you to incorporate into the Delphi.NET > > >project, especially into the DotNetExec unit. > > > > > >I would like you to state what you expect of the project and what you >would > > >like to do/improve. > > > >_______________________________________________________________ > >Have big pipes? SourceForge.net is looking for download mirrors. We supply >the hardware. You get the recognition. Email Us: ban...@so... >_______________________________________________ >Delphinet-general mailing list >Del...@li... >https://lists.sourceforge.net/lists/listinfo/delphinet-general _________________________________________________________________ Chat with friends online, try MSN Messenger: http://messenger.msn.com |
From: Marcus S. <mar...@dr...> - 2002-05-04 10:54:35
|
Yes, we should also definitely create an sample app that demonstrates the Web Services capabilities of .NET. Some ideas ? ADOExpress-equivalents sound good and it wood be great to handle the insufficiency of the standard and pro editions of Delphi. cu ----- Original Message ----- From: "Wajahath Dean" <wod...@ho...> To: <mar...@gm...> Sent: Monday, April 29, 2002 9:41 PM Subject: Re: [DelphiNet-general] Welcome to our new mailing list ;-) > Hi, > > Thanks for adding me to the mailing list. > > I think this project should basically provide full open source access to the > NET framework for users. Thats all ;-) > > Certain delphi components like soap are currently only available from > borland in the enterprise versions of their software. > > At the moment, I think I would be interested in trying to write a few more > sample applications. > > I'm also interested in ADO.Net and would like to try write a similiar set of > components to ADOExpress thats include with some versions of delphi. > > >From: "Marcus Schmidt" <mar...@gm...> > >To: "Delphi.NET-Mailingliste" <del...@li...> > >Subject: [DelphiNet-general] Welcome to our new mailing list ;-) > >Date: Sat, 27 Apr 2002 23:40:40 +0200 > > > >Hi, > > > >I've created this mailing list and arbitrary subscribed you - i hope you > >don't mind. > >Well, I was quite busy last week so I couldn't set it up earlier. > > > >There now are several documentations available at > >http://sourceforge.net/docman/?group_id=50878. > >(Special thanks to Sven Reichard and Tim Crouch for translating the German > >texts). > > > >Things there are to do now can be found at > >http://sourceforge.net/tracker/?atid=461301&group_id=50878&func=browse > > > >I hope the documentation enables you to incorporate into the Delphi.NET > >project, especially into the DotNetExec unit. > > > >I would like you to state what you expect of the project and what you would > >like to do/improve. |
From: Marcus S. <mar...@gm...> - 2002-04-27 21:40:49
|
Hi, I've created this mailing list and arbitrary subscribed you - i hope you don't mind. Well, I was quite busy last week so I couldn't set it up earlier. There now are several documentations available at http://sourceforge.net/docman/?group_id=50878. (Special thanks to Sven Reichard and Tim Crouch for translating the German texts). Things there are to do now can be found at http://sourceforge.net/tracker/?atid=461301&group_id=50878&func=browse I hope the documentation enables you to incorporate into the Delphi.NET project, especially into the DotNetExec unit. I would like you to state what you expect of the project and what you would like to do/improve. Marcus |
From: Marcus S. <mar...@gm...> - 2002-04-27 21:30:59
|
Hi, I've created this mailing list and arbitrary subscribed you - i hope you don't mind. Well, I was quite busy last week so I couldn't set it up earlier. There now are several documentations available at http://sourceforge.net/docman/?group_id=50878. (Special thanks to Sven Reichard and Tim Crouch for translating the German texts). Things there are to do now can be found at http://sourceforge.net/tracker/?atid=461301&group_id=50878&func=browse I hope the documentation enables you to incorporate into the Delphi.NET project, especially into the DotNetExec unit. I would like you to state what you expect of the project and what you would like to do/improve. Marcus |