[dba-VB] Access data across the internet

Shamil Salakhetdinov shamil at smsconsulting.spb.ru
Sun Aug 30 14:24:45 CDT 2009


Hi John,

Of course you can use "a dead simple to implement software VPN and a shared
directory" - just do not let "gobbledygook" and "misleading comments" to
stop experimenting with .NET Web Services right now: you don't even need to
know what SOAP is as you get all the complexities of communication of client
apps with SOAP web services hidden...

You'll also hear comments that "SOAP Web Services are heavy and slow" etc. -
do not care about that if you do not need response time measured in
milliseconds - and as I have seen from your task description you do not need
such response time...

--
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 10:52 PM
To: Discussion concerning Visual Basic and related programming issues.
Subject: Re: [dba-VB] Access data across the internet

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
> 
> 
_______________________________________________
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







More information about the dba-VB mailing list