Wednesday, June 28, 2006

Master of Science - completed

Yeah, last week I defended my master thesis and hence I hold now a Master of Science degree in Computer Sciences from University Of Sofia "St. Kliment Ohridski". I specialized in Distributed Systems, although the official programme is announced as "Distributed Systems and Mobile Technologies". I want to thank my girlfriend Mira for all the careful reviews she has done during the course of the writing, and for supporting me by that time!

My master thesis was about "Distributed transactions in Service-Oriented Architecture". I personally adore the concepts that SOA proclaims. From scientific point of view, most business systems pose the requirement to guarantee to its clients atomicity and consistency of the operations carried out thru them. And here comes the need for transaction control. Fortunately, the guys from WS-TX group from OASIS (link) have done a great job so now we have a bunch of specifications aimed to provide a unified coordination framework for a set of Web services. Web services are actually one concrete programming interface that complies with the SOA concepts. They are very compelling with the fact that they rely on widely spread open standards like WSDL, SOAP and UDDI. I won't go into to many details here, but having all these things in mind I decided some time ago to implement the specifications, defined by WS-TX. Namely, I was interested at WS-Coordination and WS-AtomicTransaction.

The introduction of my master thesis reviews some of the most popular transaction processing systems realizing distributed transactions. We identify the common problems that they all have in regards to interoperability and platform independence. Nonetheless, one of the primary goals of SOA is to boost code reuse thru loosely coupled interfaces. And this may serve as a elegant solution in which we will be able to combine the existing business systems in a loosely-coupled manner and having transaction control over autonomous services. This was basically the goal of the practical part of my master thesis - to show a sample solution which will be based on the SOA principles, providing distributed transactions to its clients. As a result, I implemented WS-Coordination protocol so that the concrete transaction models have a unified framework for coordination. The concrete transaction model I used followed the principles of two-phase commit protocol (2PC), provided by WS-AtomicTransaction specification. However, I'd like to say that the other transaction protocol WS-BusinessActivity, defined by WS-TX, is really very interesting one. It is best suited for long-time business transactions, which consume lots of resources for a long period of time. It tries to "relax" some of the well-known transaction properties ACID such as atomicity and isolation. I highly recommend reading this standard as well as the following article (link), which will give you a very good perspective what all these standards are all about. Here is a good place to express my gratitude to Mr. Dan House from IBM, involved with WS-TX group, who has been very responsive to all the questions I got about these specifications!

My master thesis is in Bulgarian so far, but I am planning to translate it in English (if I have some spare time). However, if someone of you is interested, you can always drop me a line and I will do the best of me to reply you. Following up this link, you can see just a short annotation of my thesis, which I believe will throw you some hints what it is all about.

No comments: