[dba-VB] Access data across the internet

jwcolby jwcolby at colbyconsulting.com
Sun Aug 30 13:51:41 CDT 2009


Shamil,

I understand and mostly agree with your opinions.  Of course I will accept your advice, start small, 
and not worry about the gobbledygook..

 > I do share Ben Kloosterman's opinion: "The problem is not with WCF (or Axis) (or SOAP) but with 
people who choose overly complicated scenarios"...

I have to smile because you are recommending soap web services, to someone just coming up to speed 
on C# (taking a beginners class!) to replace a dead simple to implement software VPN and a shared 
directory!

John W. Colby
www.ColbyConsulting.com


Shamil Salakhetdinov wrote:
> Hi John,
> 
> OK.
> 
> <<<
> What I found daunting was the gobbledegook of terms and technologies being
> discussed.
> John, if I'd tell you - do not bother about this "gobbledegook" now would
> you accept my advice?
> I mean you do not need to know all that stuff until you'll really need it -
> you can just start developing and releasing SOAP Web Services - it's not
> that complicated. 
> 
> I do share Ben Kloosterman's opinion: "The problem is not with WCF (or Axis)
> (or SOAP) but with people who choose overly complicated scenarios"...
> 
> I called comments "junk" because most of them are not constructive, and they
> do not help, even disturb beginner .NET developers to start developing and
> releasing Web Services - they disturb by creating wrong impression that
> developing Web Services using MS software is a very complicated task. And it
> isn't.
> 
> Thank you.
> 
> --
> Shamil
> 
> -----Original Message-----
> From: dba-vb-bounces at databaseadvisors.com
> [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of jwcolby
> Sent: Sunday, August 30, 2009 7:21 PM
> To: Discussion concerning Visual Basic and related programming issues.
> Subject: Re: [dba-VB] Access data across the internet
> 
> Shamil,
> 
> I understand that only people who have problems write comments about the
> problems they have.  I also 
> understand that if someone uses VS.Net to write both ends of the channel
> then the probability of 
> problems drops dramatically.
> 
> I would not characterize such comments a "junk" however, I believe that such
> problems are very real, 
> particularly when you are dealing with disparate technologies on either end.
> The article itself was 
> found in the C# start page, and he was having problems using .Net to try to
> talk to a service 
> created in some other technology (from the little I actually understood).
> 
> What I found daunting was the gobbledegook of terms and technologies being
> discussed.  It certainly 
> appeared to me that the majority of these "junk" comments were .Net
> developers trying to use .Net to 
> subscribe (if that is the correct phrase) to services that were created in
> some other technology. 
> Who had to do so for business reasons, in their work.
> 
> John W. Colby
> www.ColbyConsulting.com
> 
> 
> Shamil Salakhetdinov wrote:
>> Hi John,
>>
>> I did read comments from the ref you quoted here - they are a usual "junk"
> -
>> I mean real developers who use MS software do not waste time on writing
>> comments how bad this MS software is :) I can assure you (as many other
>> developers here) it's not that bad as you can find reading all that "junk
>> comments".
>>
>> BTW, I liked this comment, which I classify as very helpful, and coming
> from
>> experienced developer (as I also am BTW :)O:
>>
>> <<<<<<<<<<
>> Ben Kloosterman, 21 June 2009, 20:38:34 (Pacific Standard Time, UTC-08:00)
>>
>> The problem is not with WCF (or Axis) but with people who choose overly
>> complicated scenarios. WCF is far superior to Axis though because Services
>> framework allow things people use them. 
>>
>> eg 
>> - Security 95% of the time no transport security/encryption is sufficient.
>> - Use custom headers dont fudge it like the article , this method is very
>> common .
>> - Use complicated types , inheritcance , interfaces , collections etc ..
>> KISS and use the DTO pattern. ( DOnt pollute your business domain with the
>> need to tranport it)
>>
>> The big advantage REST has is you cant do the fancy things but everything
>> you can do with REST you can do with WCF and keep it or even more simple. 
>>
>> Ben
>>
>> And BTW, my current proposal is to use SOAP (ASP.NET 2.0) Web Services for
>> starters - they are easier to start with = you can create such Web
> Services
>> within VS2008. Later on you can convert them to WCF/REST web services -
>> you'll just need to change interface/façade in most of the cases.
>>
>> And a sample Web Service I created here is exactly a SOAP web service:
>>
>> http://shamils-4.hosting.parking.ru/MSAccess/MSAccessWebService.asmx
>>
>> You can find comments on its interface in P.S. of this message. And you
> can
>> consume this web service using sample code I provided in my previous
>> postings within this thread. (All the C# code for this Web Service
> including
>> comments is about 270+ code lines long - and that's all you have to write
> -
>> no need to code manually .wsdl etc. )
>>
>> Some of my experience with Web Services:
>>
>> 1) One of my overseas customers (WA) did use web service running on my
>> hosting site (Moscow, Russia, and it runs within common application pool)
>> for several months. And this web service was queried dozen times within a
>> second from his programs running on 5+ computers from his LAN there.
> Result:
>> no any major trouble at all.
>>
>> 2) Another customer does use web service developed here to synchronize
>> two-way "field-force automation" local MS SQL Express databases with
> central
>> MS SQL database running behind large ASP.NET application. No problem.
>>
>> Etc.
>>
>> Recap: Stop reading "junk comments", start acting.
>>
>> Thank you.
>>
>> --
>> Shamil
>>
>> P.S. Sample web service interface (Note: this sample web service was made
> in
>> one go, without any "heavy load" on brain cells, within a couple of hours
>> including several times of (XCOPY) deployment on ASP.NET hosting site,
>> testing etc. - I mean with some more work it can be done 100%
> "bullet-proof"
>> but even now it should be strong enough - you can test it):
>>
>> /// <summary>
>> /// Test method - Hello, World!
>> /// </summary>
>> /// <returns>String 'Hello MS Access World!'</returns>
>> [WebMethod]
>> public string HelloWorld()
>>
>> /// <summary>
>> /// Stores given file in Web service memory
>> /// </summary>
>> /// <param name="fileName">File name</param>
>> /// <param name="fileText">File text</param>
>> /// <returns>Stored file length if file stored successfully,
>> /// otherwise throws ApplicationException </returns>
>> /// <exception cref="ApplicationException">fileName parameter is null or
>> empty</exception>
>> /// <exception cref="ApplicationException">fileText parameter is null or
>> empty</exception>
>> /// <exception cref="ApplicationException">fileName parameter's value
> length
>> exceeds 255 chars</exception>
>> /// <exception cref="ApplicationException">fileText parameter's value
> length
>> exceeds 100KB chars</exception>
>> /// <remarks>
>> /// If the total length of stored files exceed 3MB then web service
> deletes
>> /// stored files until there will be enough space to store a new file.
>> /// </remarks> 
>> [WebMethod]
>> public int StoreFile(string fileName, string fileText)
>>
>> /// <summary>
>> /// Gets stored on web service side file
>> /// </summary>
>> /// <param name="fileName">File name</param>
>> /// <returns>Stored file text if file retrieved successfully,
>> /// otherwise throws ApplicationException </returns>
>> /// <exception cref="ApplicationException">fileName parameter is null or
>> empty</exception>
>> /// <exception cref="ApplicationException">fileName parameter's value
> length
>> exceeds 255 chars</exception>
>> /// <exception cref="ApplicationException">{fileName} - file not
>> found</exception>
>> [WebMethod]
>> public string GetFile(string fileName)
>>
>> /// <summary>
>> /// Delets stored on web service side file
>> /// </summary>
>> /// <param name="fileName">File name</param>
>> /// <returns>True if file deleted successfully,
>> /// otherwise throws ApplicationException </returns>
>> /// <exception cref="ApplicationException">fileName parameter is null or
>> empty</exception>
>> /// <exception cref="ApplicationException">fileName parameter's value
> length
>> exceeds 255 chars</exception>
>> /// <exception cref="ApplicationException">{fileName} - file not
>> found</exception>
>> [WebMethod]
>> public bool DeleteFile(string fileName)
>>
>> /// <summary>
>> /// Gets Web Service usage statistics
>> /// </summary>
>> /// <returns></returns>
>> [WebMethod] 
>> public string GetWebServiceUsageStatistics()
>>
>> /// <summary>
>> /// Gets 'Lorem Ipsum...' text
>> /// </summary>
>> /// <param name="amount">Speficies amount of <paramref name="what"
>> parameter/></param>
>> /// <param name="what">Defines generation units: words, paras, bytes,
>> lists</param>
>> /// <returns></returns>
>> [WebMethod] 
>> public string GetLoremIpsumText(long amount, string what)
>>
>>
>> -----Original Message-----
>> From: dba-vb-bounces at databaseadvisors.com
>> [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of jwcolby
>> Sent: Sunday, August 30, 2009 5:21 AM
>> To: Discussion concerning Visual Basic and related programming issues.
>> Subject: Re: [dba-VB] Access data across the internet
>>
>> http://www.hanselman.com/blog/BreakingAllTheRulesWithWCF.aspx
>>
>> Read all the comments at the bottom.
>>
>> John W. Colby
>> www.ColbyConsulting.com
>>
>> <<< snip>>>
>>  
>>
>> __________ Information from ESET NOD32 Antivirus, version of virus
> signature
>> database 4380 (20090829) __________
>>
>> The message was checked by ESET NOD32 Antivirus.
>>
>> http://www.esetnod32.ru
>>  
>>
>>
>> _______________________________________________
>> dba-VB mailing list
>> dba-VB at databaseadvisors.com
>> http://databaseadvisors.com/mailman/listinfo/dba-vb
>> http://www.databaseadvisors.com
>>
>>
> _______________________________________________
> dba-VB mailing list
> dba-VB at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/dba-vb
> http://www.databaseadvisors.com
> 
> 
> __________ Information from ESET NOD32 Antivirus, version of virus signature
> database 4381 (20090830) __________
> 
> The message was checked by ESET NOD32 Antivirus.
> 
> http://www.esetnod32.ru
> 
> 
> 
> 
> _______________________________________________
> dba-VB mailing list
> dba-VB at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/dba-vb
> http://www.databaseadvisors.com
> 
> 



More information about the dba-VB mailing list