[dba-VB] Access data across the internet

Shamil Salakhetdinov shamil at smsconsulting.spb.ru
Sun Aug 30 13:13:17 CDT 2009


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







More information about the dba-VB mailing list