What's going on (from twitter)
Archive: April 2008

For the moment I thought it was April 1st all over again. But it's the last day of April, not the first. I read about the following piece of news in in.gr, the popular online news site in Greece.

Three inhabitants of the island of Lesbos are suing the Greek Homosexual and Lesbian Community in Greece for the use of the term "Lesbian". Apparently, they say that it should only be used to indicate origin from the particular island ("Lesbian" -> Someone from Lesbos), rather than sexual orientation.

I just can't believe it. Surely, my country's courts have many more serious problems to deal with. I just hope the international news sites don't pick this up because they are going to be laughing with us (I guess I am not helping by blogging about it :-).

Oh dear... can some people be more backwards than this?

Original article in Greek

Google trying to translate (but not doing a fantastic job)

Update: And surely enough, it made it to the front page of BBC News online. (thanks to Simon for the comment)

Jim on .NET Rocks
29 Apr 2008

It's really funny to experience your pal's rise to stardom :-) I hope that Jim doesn't forget his humble origins and friends :-)))

Due to the years we've been working separately, our rhetoric has slightly diverged. I personally see a service as an architectural abstraction for encapsulating some piece of functionality, no matter how coarse-grained. That functionality can be anything from a business process to an OS process to the encapsulation of an entire organization. I guess Jim's focus on building enterprise applications has directed him to talk more about what makes sense in the business world, hence the "service encapsulating a business process" discussion, but we are effectively talking about the same thing; of course we are... how couldn't we, after all those arguments when coming up with MEST, SSDL, SOA-related slides, and writing software together :-)

I loved the discussion on WSDL and messaging behavior and I was pleased to hear about SSDL again :-) BTW... during my first year in Microsoft I built a prototype showing off how the messaging behavior of a service could be exposed as a XOML-based contract. I think the CSD folks were working on a product version of the idea already but I don't know what happened.

As always, MEST had to be mentioned :-)

In general... I loved the show. That's my very good pal Jim! :-)

image

Woo hoo... Just got tickets for another festival :-) Can't wait to see REM again. Last time I saw them was back in 1996. Lots of interesting bands.

It's been a while since I touched the Fluxnet code. Given that the original release was built on Silverlight v1.1, I put some time today in re-implementing it in Silverlight v2.0 Beta 1.

Enjoy.

Working from Greece
23 Apr 2008, Updated: 23 Apr 2008

For the last two weeks I've been working from Greece, from my family home. It was sooooooo nice being close to family and friends again. I miss being there. I also took the opportunity to visit Istanbul. It's crazy that I had never been there even though I grew up in a city which is 4-5 hours drive away.

Here are few photos...

Petinos 1

Petinos 2
My family house

 

IMG_6527 
Savas (finally) climbs the local mountain (well... more like a big hill :-)

 

Xanthi 1

Xanthi 2     
The small city of Xanthi from above

 

 

And some photos from Istanbul...

IMG_6593 IMG_6598IMG_6606
IMG_6610IMG_6613IMG_6602
IMG_6603IMG_6600

 

And foooooooood in Thessaloniki :-) (this was just the beginning of a loooooooong meal, one of the many I had while in Greece :-)

IMG_6629

SOA - cohesion, granularity, coupling, rudeness... eh?
22 Apr 2008, Updated: 22 Apr 2008

Those who have been following my blog for the last few years know that I have stopped blogging about Service Oriented Architectures, SOAP, REST, etc. I would like to think that I have moved on, leaving the space for those who actually actively practice building systems in the enterprise. I personally prefer the cloud and semantics these days.

That doesn't mean that I don't continue to monitor what's going on. Jim's recent blog entry reminded of the good old days :-)

Jim was taught by Prof. Pete Lee. I never had the pleasure of taking one of Pete's classes since I moved to Newcastle after my Bachelors in order to do my MSc. and PhD. I did have the honor of having Prof. Paul Watson as my PhD advisor. I learnt a ton next to him but perhaps the most important thing was how to discuss and write about technology-related ideas in public. When one disagrees, one has to offer alternatives, to explain in a calm way his/her point of view, to articulate facts, to present examples, to maintain high levels of professionalism. It's all obvious really but apparently not everyone seems to get it.

I never put dates on patterns. Service-Orientation is not something new. Our understanding of how to apply and use technologies has evolved over a number of years. In most of my discussions of MEST I highlight the fact that it's nothing new, it's nothing that the distributed computing community was not aware over the years/decades of practice. It was just putting a name to a combination of patterns... that of message-orientation in the context of service-oriented architectures. At the end, it's all about messaging. One could say that the Web has brought a different architectural style into the picture, that of resource-orientation. Again, nothing that the CORBA, DCOM, etc. communities were not aware of. It's just that different times and different solutions highlight different aspects of our understanding; new needs and new technologies force us to rethink and re-articulate the same principles, use new terms, write new articles, give new presentations.

To me, what Jim says is obvious... He articulates a pattern, he proposes common practices for building enterprise systems. He has the experience as he applies these ideas for different customers; he's well respected and always a joy to interact with him. His communication style is unique... perhaps one of the reasons he's so popular at conferences and keynotes; probably because what he says makes sense and resonates with many people.

Do I always agree with Jim? Absolutely not... Just ask Mark Little and others from Newcastle who were always surprised how the two of us got along... "How is it possible for you two to argue all the time and still support the same ideas?" people kept asking us. Well, it was all due to the respect we showed to each other's views, to each other's approach. We critically analyzed each other's ideas, to the point where most problems/weaknesses were filtered out, but not all. Our blogging allowed us to get feedback from the community, engage in discussions based on respect for everyone's views. It's just technology, it's never personal. (oh... I miss working with Jim :-)

Why this rant? Well, I read Jim's post on the "Anemic Service Model" and then Jean-Jacques Dubray's response to it, which I found it to be EXTREMELY rude! To me, it demonstrates arrogance and lack of communication skills. I subscribe to what Jim says. He merely puts into context what has been common knowledge amongst practitioners for years (or even decades as Mark Little comments). Yes, the images are old; I know they are old because I drew them back in 2003 or 2004 for our papers and presentations at the time. Nevertheless, I believe that they still accurately capture some design principles, even if the technologies change. Would something like the following make better sense? It's wayyyyy too abstract. Would this represent the "modern SOA" to which Jean-Jacques alludes? I can put whatever I want behind a service boundary while making sure that no internal details leak. Standard SOA pattern practice. Based on this very simple diagram, I can build/compose any arbitrary architecture (whether service-, object-, or resource-oriented).

 image

But we need to go beyond this, beyond the figures and the technologies. What Jim says is that when putting systems together, these services should really implement something that makes sense to the larger whole. Enterprise architects don't have to worry about individual services only, like those building cloud services. They have to design their services as the building blocks of a larger whole. Those building blocks must do something useful so that they are good citizens to the whole system (cohesion) but, at the same time, they should not introduce any cross-building-block dependencies that would make them difficult to replace (loose coupling). To my mind, if one is an enterprise architect and does not follow this simple advice, they are doing disservice to their employer.

Architectural patterns emerge through practice and not designed by committee. I've seen too many attempts to "standardize" architectural patterns... it's just not possible. One could create standards for protocols but architectural patterns? It's crazy. It's like saying that we can standardize the way artists express themselves. This also applies to putting dates to patterns. How can the principles that governed SOA be much different today from 3-4 years ago? I can understand if a new pattern emerged, if a new way of doing things became popular because of its additional value. But to suggest that there is "new" and "old" SOA? :-)

Folks should really chill and not convert technical discussions to personal attacks. I find language like...

"I would really recommend that you spend more time understanding SOA and less time trying to create specs that are absolutely counter to SOA principles.", and

"...is one of the dumbest recommendation you can make. You are no George Lucas, there is only one thing anemic about your post, it is your understanding of SOA."

extremely unprofessional.

Update: Complete lack of communication skills! Read the follow on post by Jacques and his comment-reply to Jim.

A great short interview with Paul Watson on what Cloud Computing is all about (on the BBC Radio Digital Planet).

We are hiring again. This time it's for our Asia Director position. Feel free to contact me directly and I'll put you in touch with Daron Green, the Technical Computing @ Microsoft director. Alternatively, you could just submit your resume through the Microsoft Careers page.

Oh... and if you are or know a student with interest in Cloud Computing and/or datacenters and want an internship, don't hesitate to contact me!

image

Tickets for the Glastonbury festival were out for sale today. Last year, I was only able to get tickets for Carole, Dave, and myself when they reissued some from the failed transactions. Back then, we had been trying for hours and hours but we couldn't get through.

We were prepared to go through a similar experience today. I was using two cell phones to try to call, skype, and was trying to load their web page. No luck. Seven others (Carole, Dave, and more friends) were online and we were exchanging info. Luckily, one from the group got lucky (twice!!!) and got tickets for all of us!!!

Woo hoo!!! I'll be there again this year :-) Let's hope it'll be dry this year :-)

Santosh is blogging
4 Apr 2008, Updated: 4 Apr 2008

Woo hoo! I hadn't realized. He should have told me (or he did and I forgot :-(

Santosh Balasubramanian (hehe... someone with a more difficult last name than mine :-) is blogging! Santosh is the GREAT Program Manager with whom I've been working over the last few months. He works for the Advanced Development Team in Microsoft Research and he's been an awesome job with our "Research-Output" repository platform. He's very very talented and I can say that he has a really bright future!

In a recent post, I briefly discussed our "research-output" repository platform and linked to a video of a demo visualization of the data graph stored in the repository. I had previously used the same WPF technology to visualize the myExperiment data graph. Since I've been talking about "data networks" a lot, I thought that it'd be a nice demonstration of the ideas if I was to merge the myExperiment and our repository's  data graphs. Rather than take a copy of all the data and put it in one store, the idea is to merge the graphs dynamically. The myExperiment data is accessed through their Web API (thanks to Jits Bhagat and Don Cruickshank for implementing the Web API and their help). Our platform does not yet have a Web API yet, apart from RSS/Atom feed and OAI-PMH support, since we are concentrating on the performance of the core for our Milestone 1. A Web API will be available, though, most probably based on ADO.NET Data Services (Astoria) in Milestone 2.

There is nothing really new in the idea of joining graphs. Social networking sites and application built on top of the social graphs do this type of thing a lot. However, I believe that if we take advantage of infrastructures like those that Google, Yahoo, and Microsoft have built, we could do this type of data networking at Internet-scale. Combined with machine learning, entity extraction, collective intelligence, statistics, etc. technologies the future of data processing and analysis looks very interesting :-)

What you see in the screencast is a query against our research-output repository (i.e. "Goble" for Carole Goble). If an entry is found with the URI pointing to myExperiment (e.g. "http://www.myexperiment.org/...), then the data for that user is retrieved through their Web API (that's why you'll notice some delay in the queries). Whenever a node is expanded, a new query is issued (against our repository and against the myExperiment data store). This way, a person appears to have connections with other users (from myExperiment), with workflows (myExperiment), articles (our repository), publications (our repository), tags, lectures, etc.

You'll notice that for "lecture" resources, the video of the presentation is automatically played (ok... I had to use videos from the Web in my sample data rather than real presentations; however, in our internal tests we are planning to use MSR's HUGE database of lectures). BTW... the video is truly retrieved from the repository dynamically (I don't cheat by providing a direct link to the media file, or anything like that).

A Silverlight version of the same functionality will also be available when a newer beta of the ADO.NET Data Services is available. I will, however, continue to be experimenting with our current infrastructure and Silverlight until then.

Update: Corrected some typos and grammar (was wayyyy too tired when I wrote the original entry :-)