San Mehat On Web Services & .Net
A reader writes: "There's an interview with San Mehat in regards to .Net & Webservices. He has some interesting comments about what will work and what won't work, and where things are going." San is well known for his Netwinder work, as well as being a good DJ. And, in the interest of full disclosure, San does work for VA Software, the parent company of OSDN, as is DevChannel.
I think it would benefit Microsoft if they made the framework for .NET open source. The dedication and expertise of the Open Source developer community would greatly enhance the reputation of .NET, leading to wider global deployment.
Yes, and it is your hammer's fault that every time you go to drive a nail, it is a 50/50 shot whether or not you will make a solid frame or stick the nail through your thigh.
Holy flamebait batman.. the analogy.. it makes no sense! But if I were to respond, I'd say it depends -- did Microsoft make the hammer?
Every time I build it's basically 50/50 whether or not the compiler is going to start throwing spurrious exceptions.
You must have a corrupt install. I've been working professionally with VB.Net for about 2 years now and have never had a compile go bad, except when it was my fault.
The rest of the IDE, on the other hand, is about as stable as a crack ho. My favorite is when it opens up project files for me automatically and randomly, just because it decided to. Source safe integration is also a joke.
.NET isn't that bad and VS.NET isn't that bad. That being said...I'd rather not use VS.NET. I've never been comfortable with it to be honest. ASP.NET has made my web stuff so much easier it isn't even funny. I used to be doing PHP stuff and then tried ASP 3.0. I never really liked either of them...I'm kind of excited to see where this stuff goes. And as for the post on VS.NET being buggy...it's not.
If he shows up at my company, I think I'll make sure my resume is up to date, just for good luck...
Thats not been my experience. Its far more stable than its predecessor for me with C++ and C#, esp as the workspace gets bigger.
Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
What truth?
There is no dupe
SOAP has several parts and he seems to be confusing them. Most all of the major vendors are using Schema (another W3 standard) for types and SOAP for enveloping but not encoding.
.Net does not use it by default but rather uses SOAP enveloping with Literal encoding.
SOAP encoding is recognized as incompatible and limiting which is why
uh, no, it's definitely his real name. i've known him (well, peripherally) for about ten years.
For years all the webservices buzzwords were going to save the world. If San's article is correct, we still have a long ways to go. Developers still worrying over serialization and passing complex objects as arrays of arrays of name-value pairs. Yuck
You could use notepad and the .NET framework SDK no problem. And I would give VS.NET 2003 a shot. It's only like twenty bucks if you own VS.NET 2002, and it performs much better.
That being said, I've been working with VS.NET 2002 since beta 2 and have never seen it throw an exception at me. I'm going to go out on a limb and say you've got some faulty hardware or you've hosed your IIS settings (very easy to do).
And I can't believe you mention hating a crappy IDE, and loving Java in the same breath. Java has had the worst collection of IDEs EVER. Notepad and command line was the only way to be productive.
Did anyone else first see this as "Sun Redhat On Web Services & .Net" ?
While Mr. Mehat states this as a criticism, I going to come out saying that this is a strength. SOAP is very light weight considering its alternatives. In-so-far as you can serialize objects to W3C Schema primitive types, you can avoid the difficulties of complex marshaling one incurs with other distribute service mechanisms (the stubs/skeletons of CORBA, etc.). The W3C Schema types are a quick and easy standard that are independent of choice of language, operating system, environment, etc.
I put the 'fun' in fundamentalism
I used to know San back in the early days of the computer scene around Ottawa...Nice to see he doing well. He used to run a great BBS too!
ttyl
Farrell
CAN-CON 2019 - Ottawa's only book oriented Science Fiction Convention! October 18-20, Sheraton Hotel, Ottawa, Canada h
why does his DJ description read like marketing-speak?
;)
San's years of DJing experience playing parties and clubs from California to Canada have put him close in touch with the dancefloor and its needs.
Java has had the worst collection of IDEs EVER
No it doesnt. I'm on a C# project at the moment but I'm gagging to get back to Java and IDEA. IntelliJ is an absolute pleasure to code with.
Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
What truth?
There is no dupe
What do you mean by not that special?
It isn't supposed to be special, it's just supposed to be easier than writing custom HTTP parsers.
As for not being worth it, I guess I'm curious what you suggest as an alternative?
One is evil and was born at Microsoft, the other is evil and was born in Germany (mostly)... Being a long time House music producer (House was born in CHICAGO USA!) and Java programmer I have this to say:
.NET or trance.
But you won't see any trance in my record crate, and there will be no VB.NET in any of my projects!
Don't give Trance a Chance! and Web services go much better with a cup of Java!
Ok, I really have nothing against
TallGreen CMS hosting
For those doing ASP.NET development (all six of us), check out Nikhil Kothari weblog. Pretty exciting the tidbits he's posting about Web Matrix, the free ASP.NET IDE. Depending on how the full release goes, I may just move most of my "personal" ASP.NET development to Web Matrix just based on ease of use alone. No intellisense, but most of my heavy lifting of code I'll be putting in .dlls created in VS.NET anyways.
my favorite thing he says is "SOAP allows you to do a lot, but also gives you just enough rope to hang yourself." must be soap on a rope.
The VS.NET IDE is notoriously crappy, sometimes for no apparent reason it says that it needs to update the HELP because of recent changes... then it spends 5-10 minutes rebuilding the help database. It leaves me throughly frustrated when all I want to do is change one little thing.
Try ecliplse and develop java instead, thats what I've decided to do!
There is no god
Do you mean alternatives like CORBA, or like REST? REST to me seems the proper way to go about web services for 99% of web services people are building. Most people are doing simple calls... the only trick that remains (and is evidenced in the interview) is a simple means of creating objects that represent web service calls and results, to make working with the calls more natural in the OO language that most corporations are using right now. I'm hoping a simple mapping layer on top of a pull parse is a good answer - I'm trying out JiBX for that although it's still rather beta.
In theory with a good mapper to and from the XML should alleviate the collection problem they talked about in the article by naturally generating good XML for Maps and Lists, and converting back just as easily.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Im not saying you are full of crap, but the only time I have seen that happen is after installing the April 2003 MSDN library. It was indicated that this would happen in the readme.
I think this article is just the sort of information we need in the technology community. There has been too much hype about web services in from the marketing departments of IBM, Sun, Microsoft and others. I have the basic grasp of what it does and how it works, though haven't coded with it yet. Mehat's experiences sound very much like my experiences trying out a new, immature toolkit and finding it exciting (in promise) but frustrating (in reality and limitations). Without this sort of ground-level view, it's too hard to tell if web services is an important part of a system architecture, or whether it needs more time.
p!
"I honestly would vote libertarian if their candidates weren't usually total cooks."--slashdot poster
-1, uninformed flamebait
Name a Microsoft product that has the refactoring features of the Eclipse IDE, or IntelliJ.
Notepad and command line was the only way to be productive.
-1, uninformed flamebait
Even in the early days of Java development, only a mor^H^Hasochist would use Notepad to write Java code when several free syntax-highlighting auto-indenting text editors were available.
"And this is my boy, Sherman. Speak, Sherman." "Hello." "Good boy."
I never had vs.net crash on me, I do get the random #region error bugs and newline in constant compile errors and if leave my project open for a few weeks sometimes intellisense will disappear, buts thats after the apps been open for a few weeks. No offense why are you working with vb.net? That language is hideous to look at. I learned vb.net first but quickly switched to c# and never looked back.
Have you ever been to a turkish prison?
It happens to me often when I change from say a VB project to a C# project, not every time but about 1 in 10. Also It happened when I upgraged to .NET 1.1 (but thats acceptable).
Very strange
There is no god
That happens because your help filter is changing from "Visual C# and Related" to "Visual Basic.NET and Related", and vice versa.
So why one in ten times? Is this supposed to take 5-10 minutes?
There is no god
What is it with all these people saying use notepad for writing code? There are a ton of (free) simple text editors that are much better than notepad.
If you liked licking my balls, add me to your foes list!
I must say that this is one stellar development platform. Once you're over the initial learning curve from whatever it was you were using before, you can create web applications at an increible pace. It's rock solid as well, I keep it patched and its never ever crashed on me. The amount of documentation, examples, code libraries etc available at your fingertips are mind numbing. With this being a Microsoft product as well goes to show that perhaps the money hungry M$ isn't half bad after all. In fact, after my experience with .NET, I'd have to say that I'm become a huge fan of Microsoft's Visual Studio.NET product.
But, we live in a world where STL is a normal thing. If you're a C++ or Java programmer or any kind of an object-oriented programmer, you must have some semblance of containers
I don't think .net has generics yet.
The questions: Mono is the .net runtime/compiler/interpreter for C# (yet). But what about the proprietary code ? the windows forms etc ? All the .net apps that have a MS-based gui will not be allowed to run in mono. Will they ? And how will mono handle those Win32 calls ? Maybe through wine ?
I can't really name an MS product that does refactoring, just like you didn't name a Sun IDE. But if you are looking for some .NET refactoring tools I'd recommend checking out C# Refactory. Also Microsoft has a nice tool called FxCop that keeps you within the Design Guidelines of .NET
As for my notepad comment, the difference between using a textpad vs notepad is almost a moot point. That's not and IDE, that's a text editor. Hmmm, perhaps I use notepad like most people use "kleenex."
Since it will be hard to find people that believe the same as you here at /., I will. I, for one, am sold on .Net development as well. I enjoy it immensely; it is too bad that a lot of people here won't even give it a try because it is a MS product.
No offense why are you working with vb.net?
Don't underestimate the power of the dark side. Put another way, when the suits say the whole team will use VB.Net, and when you are not independently wealthy, that's what you use.
Anyways, after using various incarnations of VB for about 7 years, I don't really mind it anymore. I started as a C++ programmer and thought VB was crap. These days, don't care. Quality of source code depends much more on the quality of the programmer than on the quality of the language. It's the man, not the machine I guess.
I can't really name an MS product that does refactoring, just like you didn't name a Sun IDE. I don't need to name a Sun IDE, since Java doesn't suffer from the same vendor lock-in that .NET does. (Please, spare me the Mono red herring.)
"And this is my boy, Sherman. Speak, Sherman." "Hello." "Good boy."
And you put up with that for 2 years!?! In the Linux world that would have been fixed by now.
It's not like I have much of a choice. Right now, I'm happy that I get paychecks, which is a lot more than many programmers can say. I'm not going to be able to single handedly migrate a 10000 person company to Linux.
Did you just change the context from Integrated Development environment to Integrated Desktop Environment??
Food not Bombs is a nice platitude but it breaks down when you notice that the Bombees are usually well fed
Right here, bitch!
Me and my boys are gonna go take a ride over to the W3C's turf and, uhh, make them some offers they can't refuse.
And if they don't like our answers, well, they'll be writing specs from underneath Jets stadium with their newest member, Jimmy Hoffa on board!
(For all you federal governemnt spy-types out there, this post does NOT constitute a threat to anyone or anything, it is mearly a rather sad attempt at humor. Please, don't go busting the door down in my house to get me, my kids are trying to sleep).
If a pion (n-) collides with a proton in the woods & noone is there to hear it, does lamdba decay into the source pa
And also... My fellow Java developer and myself have had zero problems exchanging complex types over web services. There is no problem with XML/SOAP. The problem lies in immature proxy generators. WebSphere Studio Application Developer and the
My favorite is when it opens up project files for me automatically and randomly, just because it decided to.
Ooh, or the one where if you switch between views on an ASPX file, it sometimes deletes random chunks of code. MS provided a patch for that one already, but damn that was nasty.
I had a co-worker who claimed I deleted a bunch of her source code when actually it was the IDE. She was yelling and stomping around, ready to kick my ass. Yeah she is a girl but she is freakin huge!
I've recently started developing in C# with VS.NET. It is very cool. Even the visual database wizard thingies are useful time savers if you are careful when and when not to use them.
A tip that wasn't immediately obvious to me as a beginner: To use the visual db tools in your non-form classes, inherit the class from System.ComponentModel.Component (or select 'Component Class' when adding a class from the menu). All the examples in books etc seem to only show them being used with forms which is bad for separation of display and logic.
My only real complaint: Why is browsing the documentation so slow? I know its huge etc but it seems like it needs a better indexing system or be in something more like a real database.
Having just spent about three hours listening to trance while coding in C#, I can personally vouch for the safety of using the two together. Over-enthusiatic listeners may want to invest in an extra-sturdy keyboard, however.
EXCEPTION: Under no circumstances should you mix Trance music, .NET, and a large array of multicolored strobe lights. If you think the headache you got from the 60 Hz monitor refresh rate was bad, you ain't felt nothin' yet.
I'm pretty sure by containers he meant the collections (like arrays and hashtables) that we all have today.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
San Mehat is an anagram of Neat Sham.
used to run Subterrainian Softworx and 'Restaurant at the End of the Universe'..
:)
lol
IM quite happily using #Develop (pronounced sharp-develop), which is a damn good .net c# IDE.
in my experience... if you wanna pass more complex datastructures over webservices, you send objects encoded as xml strings... then decode the xml into the native structures you want.
.NET services already in place. the hardest stuff i've had to tackle in the interoperability between java and .NET is getting into the soap headers... and then just getting commonality between encryption classes etc. lot's of hurdles and non-overlapping block styles and things. drive me crazy!
sure, it's work, but so it goes.
that's how we've gotten around a lack of standardization of higher level objects.
i've been writing a set of java services to serve as a linux option to some
gosh, and then how some of those wsdl and stub generator tools in java land have changed and produce different code. shoot me now!
m.
dude, the fact that he's got his feet wet in both sides of the fence is a plus in my book. isn't the article about interoperability?
?
m.
For web service development in the J2EE world, and soon for much else (portals, workflow management) you might like to take a look at BEA's Workshop.
I like its approach to messaging a lot - makes SOAP/HTTP just another transport like JMS, presents RPC and async alternatives very clearly and shows what's going on message-wise live, rather than being a separate code generator.
Every time I build it's basically 50/50 whether or not the compiler is going to start throwing spurrious exceptions.
Please explain for me why a compiler would want to look at a webserver's settings when compiling (or at all, for that matter)?
Web services is just supposed to be easier, and nothing more. There is no extra functionality or whatsoever. But my point is that Microsoft and others are just blowing it up.
Last time I saw such a guy from Microsoft that gave a presentation about the new technology and it was like web-services were going to change our way of booking flight tickets combined hotel rooms and a rent-a-car, ... And it's just a technology that simplifies the interconnection between companies services. Programmers will still need to make the connection between different companies.
This is RiverTonic's sig.
I used the Google-webservice to put search-functionality on a large website. Of course, people could only search on the website itself. Before I did it like this, someone wrote a parser for the results. Oh, and it's written in Perl.
So at least I think I know what web services are and where they are already being used.
If you send me a private message, I'll give you my account number so you can transfer me your salary, but I guess you, Anonymous Coward, are not going to do that.
This is RiverTonic's sig.
Perhaps to upload the just built assemblies to a web project?
Beats the hell out of having to FTP all of the changes over every time you hit the build button.
.NET is not intrisically any more locked in than Java is, although that may change. In any case, it's not relevent in any way to a discussion of IDEs and tools, since third parties are more than happy to make them whether or not they can create thier own VM/runtime/what have you. And if you thought for more than half a second instead of feeling threatened by .NET (if it sucks so bad, why do you care about it?), you'd realize that.
It's the kinda prank call that you'd make to Mensa or something. Moe's patrons certainly wouldn't get it.
You bad mouthing hats?! They cover our heads!
Blar.
Where can you get VS.Net 2003 for $20?
:-)
I'll rephrase, where can you get a legitimate copy of VS.Net 2003 for $20?
Please, don't hesitate to reply, I'm curious as to who you've blackmailed to get such a great deal.
I doubt if MS will ever allow WebMatrix to eat into VS.NET sales. Without auto-complete and about a million other little features it is not in the same league as VS.NET. If you need a small, simple light-weight ASP.NET IDE it is quite good but otherwise stick to VS. Sharpdevelop has auto-complete and looks promising. IIRR Borland where going to bring out a developer tool for C#/.NET also, although I've not checked that one out.
I tried out .NET recently. It's actually obscenely easy to write GUI apps that look really good. Unfortunately, the baseline memory usage for a Windows Form app is 20MB. So, that pretty much rules it out for commercial projects.
SOAP is very light weight considering its alternatives. In-so-far as you can serialize objects to W3C Schema primitive types, you can avoid the difficulties of complex marshaling one incurs with other distribute service mechanisms (the stubs/skeletons of CORBA, etc.). The W3C Schema types are a quick and easy standard that are independent of choice of language, operating system, environment, etc.
Two of the main tenants underlying SOAP are broken:
* Size does not matter
* Efficiency does not matter
Earth to SOAP advocates: both of those things matter a great deal. Sure, there may be even more clumsy alternatives out there, but SOAP still ranks very high on the clumsy scale.
Have you got your LWN subscription yet?
It also depends on how much of MSDN you have installed, as well as dynamic help. You could always just use a text editor and compile by hand, or check out SharpDevelop.
Now we know why there's so much .Net coverage on the slashdot shopping network these days. All those Microsoft acronyms which have emerged in the last 3 years make my eyes water. Is that really the big thing people are doing now?
We recently incorporated WSDL parsing support into the project. SOAPpy has already been released with the new support. ZSI will shortly be released.
:)
WSDL support is most definitely in Python.
Do it for da shorties
http://saveie6.com/
Hehe, I used to basically LIVE in the market, at least at night :-)
Ah, those were the days, living at 170 Lees.... what an experience!
Hey San, long time no see! (last time I saw ya was when? In SF that time??)
-- I speak only for myself.
Thank god there are tools to make it and consume it. For the uninitiated, it's not fun. It's not fun at all.
I've been using this tool for a few months, and even with its auto-magical bits, the WSDL still regularly gives me a headache. Oh, for the days of CORBA IDL.
I've been doing some hardcore webservices work lately and here's my .5 cents on this. There are some good things about web services in theory, but in practice the current implementations for WSDL, Schema and O/R mapping in .NET is majorly crippled. Before people start saying "what a load of crap" consider this. SOAP is a simple transport that doesn't understand the concept of transaction, which is fine, since it that wasn't the original goal. But that means deserializing and serializing complex objects has to be done with some other tools. The recommended method from Microsoft is to use Schema.
Schema has several major weaknesses, the primary one is it lacks the ability to inherit external types. Schema does support includes, but when the XML is converted/compiled to an object it essentially becomes flat. I'll clarify this a bit for those who haven't used schema. When schema is loaded to generate classes, the validation checks to make sure references to simple and complex types are valid. But to do so, it loads all the includes and builds one complete file. For applications that require modularity and custom extensions, schema simply doesn't work unless you build your own schema driver. What does this mean for an application?
Say you are using SOAP + Schema to build a messaging system and you want to dynamically update the messages incrementally because the messaging platform has to support tens of thousands of messages per hour. If you don't implement some kind of event mechanism within the generated objects, it would require you to transfer the entrie message, which consumes I/O and cpu time when it parses the XML. Take this use case. Say you have multiple messaging servers that can communicate on a peer-to-peer or master-slave basis. Now add several thousand clients that must recieve those messages and decide intelligently how to handle the message updates. An easy approach would be to have each of the objects register for a particular topic in the messaging server (assuming it's pub/sub). If you use the default schema driver, the classes do not extend any class or inherit any predefine logic. If you want all messaging objects to extend a base class which provides messaging subscription and intelligent updates, you have to write your own schema driver. Take another example. The default mode of building schema descriptions from a database is to open a connection to SQL Server, select the tables and VS.NET generates flattened schema models. On the surface that seems fine, if the data you want is flat. If the data you want is relational and has to preserve the structure or map to an object structure, you have to provide your own mapping implementation.
Do these kinds of problems exist in the java world? The answer is mostly no. For O/R mapping there's castor, jdo and numerous other mature drivers. Compiling schema to extend base classes, Castor provides the ability. Not only that, the Java solutions provide a more mature and flexible method of doing these types of operations. If you don't believe, try it yourself.
Don't see anyone lining up to interview you..... Perhaps a little constructive criticism would be more valuable.....
Rich people are eccentric. Poor people are strange. Me, I'd be happy with odd.
It's good to hear that some people in this discussion really like Visual Studio .NET. Not everybody though!
I work in the VS.NET team and we are VERY interested in hearing your feedback, good and bad - particularly on the latest VS.NET 2003.
What features do you most like and what do you most dislike? Bothered by any bugs? I can check to see if they have already been fixed in the current builds of the version under development, if you can send me sufficient information to reproduce them myself.
My responsibilities include parts of the user interface and the VB/C# project and build system, but I'm interested in any feedback - I'll pass it on to the right people and I will make sure it is taken seriously. My email is danmose@microsoft.removethis.com ...
Not even a good troll. NGWS was Next Generation [b]Windows[/b] Services. So much for the "first ever" issue of your authoritative publication.
Slashdot quality declines as the number of hot grits posts decreases. - Provolt's Law, Apr-09-2005
The management decided to use Java only where portability was an issue.
I dig Java, but the C#/.NET combo is far better in several areas. The Java community shouldn't dismiss .NET - it's growing fast, and it works like a charm.
why would that be the job of a compiler?
Well, really the compiler itself does not do it. Visual Studio studio does. I should have corrected the parent poster on this, but figured most people would understand that it was the IDE doing it and not the compiler itself. My bad.
"But my point is that Microsoft and others are just blowing it up."
..."
Sounds like you are blowing it up.
"web-services were going to change our way of booking flight tickets combined hotel rooms and a rent-a-car,
Web services are going to change the way of booking flight tickets combined hotel rooms and the rent-a-car. On what basis do you dispute this?
"Programmers will still need to make the connection between different companies."
But now they don't need to negotiate the underlying transport.
You're suffering from anti-Microsoftism.
How does Sharp Develop compare in quality and features to VS.NET? I might consider switching IDEs if it works as well or better.
In Soviet Russia, Chuck Norris will still kick your ass.
If what you want to do is have an IDE that integrated text editor and the free SDK C# compiler, it is OK. If you want the Visual Basicy kind of drag and drop on to a form and hook up events, it is still very much under development. If you want to use your legacy ActiveX controls (not a problem with VS.NET), that may be on the to-do-list but is not currently available.
That's right, things are getting easier all the time. Web services is a good example of this.
"You're suffering from anti-Microsoftism."
Stupid remark. I wish Apple invented the technology, then you could tell me that I'm suffering from anti-Appleism. You really don't know if I'm pro or contra MS when talking about one little detail of the whole corporation. These guys also have made an operating system and an office suite and a lot of other things.
This is RiverTonic's sig.