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