Rendezvous Thread synchronization

6 באוגוסט 2009

I am currently implementing Reservation (a pattern for  “partial temporary commitment” when using Sagas).The  implementation calls for calling a few of the saga members asking them to reserve an asset. Since network calls can take some time I wanted to make each call on its own thread, collect any errors (failures to reserve or communication exceptions) and then have all the threads reconverge to the initiating thread  where any problems will be sorted out (e.g. by retrying the reservation). It basically looks something like the figure below: As you can probably guess this type...
תגיות: ,
אין תגובות

What is maintainability anyway?

2 באוגוסט 2009

Reacting to a comment left by Frans Bauma, Ayende recently wrote about “Maintainability” Maintainable is a value that can only be applied by someone who is familiar with the codebase. If that someone find it hard to work on the codebase, it is hard to maintain. If someone with no knowledge of a codebase find it hard to work with it, tough luck, but that doesn’t say anything about the maintainability of a code base. I usually agree with what Ayende has to say, but not this time. First I hope that...
אין תגובות

CRUD is bad for REST

24 ביוני 2009

In one of my previous posts (Rest: good, bad and ugly), I made a passing comment, about how I think using CRUD in RESTful service  is a bad practice. I received a few comments / questions asking why do I say that – so what’s wrong with CRUD and REST? On the surface, it seems like a very good fit (both technically and architecturally), however scratch that surface, and you’d see  that it isn’t a good fit for either. REST over HTTP is the most common (almost only) implementation of the REST architectural style - to...
אין תגובות

Transactions are bad for REST

16 ביוני 2009

  Yesterday I read an interesting paper called “RETRO: A RESTful Transaction Mode”. On the good side, I have to say, it is one of the best RESTful models I’ve seen thus far. The authors took special care to satisfy the different REST constraints, unlike many “RESTful” services (e.g. twitter that returns identifier and not URIs). On the downside is I think a distributed transaction model is bad for REST or in other words I don’t see a reason for going through this effort and jumping through all these hoops. Why? For...
אין תגובות

WCF defaults stifles loose coupling

8 ביוני 2009

This is another post (<Rant>) about WCF default behavior and how it can make the life of developers miserable ( you can also check out “WCF defaults limit scalability”  and “Another WCF gotcha - calling another service/resource within a call”) Anyway, the trigger for this is a post by Ayende called “WCF works in mysterious ways”.  Ayende posted some code he wrote which was throwing a serialization exception. You can see his post for the full code, but in a nut shell he was defining a large object graph (8192 objects that contain other objects) and was trying...
אין תגובות

The web vs. the fallacies of distributed computing

28 במאי 2009

I recently read a post by  Tim Bray where he states that building on web technologies let you get away with believing some of the fallacies of distributed computing. I personally thinks he is a little optimistic in that claim. On “The network is reliable” – Tim says that that the connectionless of HTTP helps (it does) and that GET, PUT and DELETE are idempotent helps as well. I say that GET, PUT and DELETE only if the people implementing the server side make them so – i.e. consider the fallacy. The fact that the HTTP says...
אין תגובות

Do we have an Active SOA Service?

 Michael Poulin @ ebizq doesn’t like the Active Service pattern I suggest you read his post first but in a nutshell Michael sees two possible ways to understand the term Active Service:“a) service view - a service that actively looking for companions to complete its own task b) consumer view – a service which triggers its own execution by itself”…and he doesn’t like both…I think that both of these definitions aren’t that far… and I like both :)The way I see it there are two concern here1. Are services only reactive (“passive”)  ? - i.e. The service only “works” when it gets a...
אין תגובות

REST – The good, the bad and the ugly

21 במאי 2009

I recently got a request from Alik for my opinion on REST. I think  this might be interesting for a wider audience and decided to blog my answer here. Note: I also have a REST presentation I prepared awhile ago, which is downloadable from here (ppt) The good As you probably know REST is an architectural style defined by Roy Fielding for the web which is built on several foundations (client/server, uniform interface etc.) which gives it a lot of strength in affected areas. The top three in my opinion are: (relatively) Easy to integrate – a good RESTful API is discoverable from...
אין תגובות


13 במרץ 2008

 If you recall what I currently work on is a type of a visual search engine. In a nutshell when we get a request (image) we allocate a bunch of algorithmic engines in a grid like manner to process the image  (e.g. try to perform OCR or whatever). As it happens, we are developing the different components using several different environments(*) - e.g. the control bits run on windows (.NET) and most algorithms run on Linux (mostly C++).The need for easy cross-platform communications and extensibility, the resource nature of the solution and a few other tidbits led us to design our solution in a RESTful manner.If you are a...
אין תגובות

New Developer & Algorithms positions @ PaperLnx

19 בדצמבר 2007

PaperLnx develops an advanced visual search solution for mobile handsets based on computer vision and image understanding technologies developed by Rafael. PaperLnx solves the cumbersome web surfing experience on mobile handsets by enabling end users to send captured images from their mobiles to retrieve relevant information for the object photographed. We now have few open positions for the following profiles: Senior Developer We are looking for a highly motivated, resourceful and intelligent developer. Good interpersonal and communication skills will be very appreciated. A Team player. Broad thinking and problem solving capabilities are also desired.At least 5 years of server side development with thorough understanding of Object Oriented principled and  understanding of...
אין תגובות