Monday, September 22, 2008

WSO2 Web site gets a refresh

Take a look .. we've re-done our site to better explain our now comprehensive SOA product platform.



When we started WSO2 more than 3 years ago, we started with a vision of building a series of products that enable SOA and we're nearly there .. now we have the core platform to cover all aspects of SOA. Still a few missing pieces and certainly lots of improvements left of course, but we are now ready to take on the likes of IBM, Oracle/BEA and more on being your SOA platform vendor! And none of these guys even support SOA in things other than Java .. but we do.

Stay tuned- you'll start seeing much more competive positioning from us in the coming months and beyond. Who can say no to better technology at a fraction of the cost??

Tuesday, September 16, 2008

Blog on describing REST with WSDL 2.0

Check out Keith's blog on how to describe this REST scenario (posted by none other than Stefan) using WSDL 2.0. He does an existential proof of it showing not only how to describe it with WSDL 2.0 but how to implement it using the WSO2 Mashup Server.

Stefan, are you still not convinced that WSDL 2.0 can describe any REST scenario properly? If not please post another challenge.

I'd also like to challenge REST fans to show how the implementation Keith did is materially different from say a Java implementation that uses JAX-RS (Java API for RESTful Web Services - JSR 311) annotations (or any other Java programming model that you want).

Thursday, September 11, 2008

War watching .. Web 2.0 style!

If you're interesting in keeping tabs on what's going on in Sri Lanka's war against terrorism, check out this interactive map ..

Thursday, September 4, 2008

REST-* begins to take shape

See: AtomPub Multipart Media Resource Creation! Basically how to do SwA or MTOM type stuff with Atom.

Ah Tim, better start printing these out so that you can count the pages when REST-* is all said and done.

Sigh. Its really too bad that we are now going to re-invent it all around Atom.

Friday, July 25, 2008

Its over the hump Tim .. give it a rest

Sigh. Tim Bray didn't get the memo: REST is now beyond the peak of the hype curve and is sliding down. Waay down.

Just because I can't resist: so Tim, REST does need tools now?? Funny how the world turns, eh? I thought you and the rest of the REST fanatics have argued violently saying how REST doesn't require tools, doesn't require WSDL or equivalent etc. etc.. I guess we will end up with REST-* before its all said and done with.

The other topic Tim touches on is how the world is now not all about Java. On that we agree .. except:
"Up until two years ago, if you were a serious programmer you wrote code in either Java or .Net,"
Er, dude, which planet have you been on? Two years?? PHP has been kicking Java's butt for 5+ years!!!

The multi-language boat sailed a LONG time ago and Sun (as usual, I should add) kept sticking its head in the sand waiting for it to blow over. Of course it didn't and it will not. Now that Sun has finally started recognizing that not everyone will love Java, I guess its time for the mouthpieces to speak up and try to spin it positively saying they did it at the right time. Sorry, you guys missed the boat. Badly.

In any case, Sun still doesn't get it. Neither does IBM. The JVM will not be the only runtime to run languages - while its cool to implement PHP like syntaxes on the JVM etc., you are going to have to learn to live in a world where not everything runs on the JVM and all of those crappy JSRs that have been done in the last 10+ years have absolutely no meaning. (In fact, most of the JSRs only apply to Java the language .. making them even more irrelevant).

Of course there are (and will be) some great languages on the JVM: Groovy, JRuby and more. However, even if JRuby performs better on the JVM than Ruby native (which is of course because the Ruby impl ain't great) that doesn't mean that that strategy will work for all. Seriously, try doing JErlang in that case.

The world is inherently heterogeneous, even in languages and language runtimes. There are 3 core platforms in existence today: C, JVM and .Net CLR. Every language runs on top of one of those. Sticking your head in the sand in only one of those will automatically limit the market you can address.

(Plug for Axis2 & WSO2.) This is exactly why when we started the Axis2 project back in August 2004, we intentionally stayed away from burning Java JSRs into the core of it. That's also why we explicitly made design decisions that could be realized in both Java and C. I actually always wanted to do a .Net version of Axis2 too, but never quite got around to it. The idea was to cover all the bases.

This is also why when we started WSO2 in August 2005 that we decided to invest heavily in building Axis2/C in addition to Axis2/Java. We now have coverage for Java, Javascript, Jython, Groovy, Grails, Spring, C, C++, PHP, Perl, Ruby. Python is coming and Erlang too hopefully soon.

Oh yeah we support both WS-* and RESTful services. However, they won't meet the RESTafarian fanatics like Tim Bray's coolaid drunkenness level of REST .. but if you want to do pragmatic work with services and support either or both of WS-* and REST then take a look at Apache Axis2 (Java & C), WSO2 WSAS, WSO2 Mashup Server, WSO2 WSF/{C,C++,PHP,Perl} etc...

How to handle SOA vendor consolidation

Paul Krill over at InfoWorld has written a great story on SOA vendor consolidation. He notes how even the mighty IBM has to deal with WSO2 because of open standards based interoperability that is inherent in SOA scenarios.

Later he lists the major SOA vendors .. and its great to see WSO2 listed there - and the only open source one to boot.

Thursday, July 24, 2008

Response to "Microsoft at OSCON"

Zack Urlocker has written a blog on his OpenSource blog at InfoWorld about Microsoft's participation at OSCON. Please read that first.

I started writing this as a comment on his blog but it was getting a bit too long .. so I thought I'll blog it directly:

Zack, conventional wisdom seems to be that Microsoft must do open source by releasing the source code for one of their cash cows. If you're a shareholder of MSFT, does that make sense at all?? They're making $60B an year and we expect them to open source any of that? No way.

Take IBM. We all give IBM a lot of credit for being a "good" open source player right?? Hmmmm. Really? Which product of theirs is open source? Compare with MSFT: Windows == mainframe (totally proprietary). Office == WebSphere family (totally proprietary) etc. etc.. Not a single major product of IBM's is open source. (I don't consider WebSphere Community Edition aka Apache Geronimo a serious play.) Should IBM open source DB2 or WebSphere or any of their other market successful products?? Hell no. Why should they; certainly their share holders aren't calling for it!

The way Microsoft can and should do open source is by (a) interoperating with open source stuff and enabling open source to run well on/with their products, and (b) by using open source to expand the markets they play in.

We (WSO2) are working with them closely on (a). For example, right now we have a joint booth with them at OSCON demonstrating WS-* interop between .Net, Java, PHP, Ruby, Perl and Spring. (Please do drop by and take a look!) In May we were part of a keynote speech by Bob Muglia (MSFT SVP Server & Tools) at TechEd ITPro where we showed an earlier version of that demo. That's the first time an open source company was part of a major MSFT keynote.

I'm not here to defend MSFT. Yes, they have DEFINITELY done all kinds of things to try to destroy the open source movement. IBM, on the other hand, has indeed helped in NUMEROUS ways with helping open source (esp. in market/technology segments where they were not players .. they're VERY smart). However, I think the conventional wisdom that MSFT can do more with/for open source only by "showing me the code" is wrong.

That's where (b) comes into play. The way I see MSFT entering open source is by buying one or more open source companies and entering into market segments they do not play in now. When? Who knows. Who? Who knows. Obvious candidates go from Redhat to Novell to Spring to a bunch of others. Why should they enter spaces they are not in right now? Because the enterprise space is inherently and permanently heterogeneous and if you want to eat bigger and bigger chunks of that market, the only way to do that is to play in multiple segments of that market. You will not succeed by trying to get Java developers to convert to .Net. Nor PHP ones. Nor mainframe ones.

There certainly could be a (c): open source one or more of their products. However, as anyone who has tried to open source a closed source products knows, it is REALLY difficult to make such an open source project succeed. First of all, getting legal clearance and scrubbing the code takes a long time (for example, someone told me that Sun decided to open source Solaris 5 years before they were finally able to do it .. no idea whether its true). Second, open source code is naturally modularized and better documented because there are geographically and temporally separated contributors from day 1 who communicate to each other thru such module boundaries. What that means is that it is VERY difficult to form a community around a complex piece of software because no one can easily "carve out a corner for themselves". Even building such complex software is hard and may require resources that a typical developer notebook can't deliver.

So even if the MSFT business were to decide that (c) made sense (and I really don't see why yet), the practical reality of getting the code out and making it work as a true community effort is going to be so hard that in the end they'd be holding a lemon of an open source project.

Thus, to me, the current MSFT strategy of doing (a) makes perfect sense. (b) will come when the time is right. Whoever will get bought out first will be making history.