<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-19919838</id><updated>2012-02-16T12:47:05.869Z</updated><title type='text'>Jurassic Park - where DynaSOArs play</title><subtitle type='html'>I am thinking of using this blog to keep some notes about the work I'm doing. This might be a good idea to get feedbacks from people who are interested in similar topics...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jurassic-soa.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19919838/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jurassic-soa.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Arijit</name><uri>http://www.blogger.com/profile/17068566260695847744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_eEt94Pf_5as/SRgA2PY19aI/AAAAAAAADhQ/XEtY4JTAT6c/S220/arijit.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-19919838.post-7099720774231402885</id><published>2008-02-25T15:57:00.002Z</published><updated>2008-02-25T16:16:03.526Z</updated><title type='text'>Crossed the final hurdle, at last...</title><content type='html'>&lt;div style="text-align: justify;"&gt;I passed my viva last week, and it was sheer joy, a sense of relief, a feeling that I can never explain in words. This is to acknowledge the love and cheer and encouragement from everyone -&lt;br /&gt;&lt;br /&gt;"I remember the day I first came to Newcastle to attend the interview for an RA position in the &lt;span style="font-style: italic;"&gt;myGrid&lt;/span&gt; project. Newcastle was in stark contrast with the town of Gaithersburg, Maryland, where I used to live and work for Verizon Communications Inc. at Silver Spring. It was the middle of January - cold and cloudy and dark, and the wind from the North Sea almost blew me away. It was hard to make a decision about leaving the job in the US to join academia. Today, when I look back, I know, I was right. I have now spent more than five years in Newcastle, the longest period at one place since I left home in 1997 to join the software industry. And I can say that Newcastle has been nothing less than a home to me. It is like my hometown Calcutta - a city, which slowly grows around a person - Newcastle has grown all around me. And I owe it to Professor Paul Watson, Professor Pete Lee and Dr. Anil Wipat - who extended the first welcome to me. I owe my gratitude to the City of Newcastle, the university, all members of staff in the School of Computing Science, my friends within and outside the university, for the warmest five years I have stayed here, despite the chilling weather.&lt;br /&gt;&lt;br /&gt;Professor Paul Watson was my supervisor and I could not have come this far without his constant guidance and support. Apart from always managing to get some funds to keep me employed as an RA without which I couldn't have continued with my PhD, he has provided me with valuable guidance and insights throughout the course of research. On numerous occasions when I was struggling to find the right approach, regardless of his busy schedule as the Director of the North East Regional e-Science Centre, Paul has been tireless in his attempts to make me focus on the problem from the correct angle. No word is sufficient to express my gratitude to Paul.&lt;br /&gt;&lt;br /&gt;I would like to thank Professor Pete Lee and Dr. Aad van Moorsel, who were the two other members of my thesis committee for their valuable suggestions during and after the thesis committee meetings which acted as inputs to my work. Dr. Jim Smith is another person who has been a close friend in these five years and have always helped me when I faced any problem, be it regarding any architectural aspect of my work, or any silly question about LaTeX. I am indebted to Jim for his help and support whenever I asked for. Dr. Savas Parastatidis, who is now at Microsoft Research, was a source of inspiration during the years I was able to work with him. All the long discussions I had with him regarding the architecture of Web Services have contributed a lot towards my knowledge and the research. I must not miss mentioning about the support I received from the Computing Officers, especially Jim Wight and Gerry Tomlinson, who have always listened to my requests about new softwares on the cluster and helped me in configuring my experimental setup, which sometimes required Jim to bypass security rules of the Computing Cluster for the external computers I used during my experiments.&lt;br /&gt;&lt;br /&gt;A large section of the work presented here was the result of collaborative research between Newcastle and Manchester Universities. I wish to thank my colleagues from Manchester, especially Professor Norman W. Paton, Dr. Alvaro A. A. Fernandes, Dr. Tasos Gounaris, Steven Lynden and Dr. M. Nedim Alpdemir, who unfortunately left for his country a couple of years ago, for all the active collaboration and support I received from all of them. Another part of the research, the development of the dynamic service oriented framework, was based on collaborative research as well, and I wish to thank Dr. Chris Fowler, Charles Kubicek, John Colquhoun for their valuable contributions.&lt;br /&gt;&lt;br /&gt;I can not forget the amount of support I received from my family during this entire journey. My parents, Mrs. Binata Mukherjee and Mr. Prabhat Mukherjee have inspired me to dream since I was a child. And I am extremely indebted to them, and I hope that these three letters, if I am able to achieve them, will fulfil a part of their dreams. I can never express enough gratitude for the support I received from my sister, Dr. Nandini Mukhopadhyay, who has constantly encouraged me, at times pushed me - when I used to get frustrated. One person needs a special mention here, and that is my wife, Sumana, who never fell short in supporting me in every step, and was not shy in sacrificing her perfectly good job in the US, when I decided to join academia in the UK to pursue my dreams. Our little boy, Rik, has been my source of joy at home and our newborn daughter, Riti, has been another source of inspiration during the last few months of my work.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Finally, I would like to thank EPSRC, who have funded the major projects I have worked in, and my colleagues at OGSA-DAI for their valuable support during the course of research."&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19919838-7099720774231402885?l=jurassic-soa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jurassic-soa.blogspot.com/feeds/7099720774231402885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19919838&amp;postID=7099720774231402885' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19919838/posts/default/7099720774231402885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19919838/posts/default/7099720774231402885'/><link rel='alternate' type='text/html' href='http://jurassic-soa.blogspot.com/2008/02/crossed-final-hurdle-at-last.html' title='Crossed the final hurdle, at last...'/><author><name>Arijit</name><uri>http://www.blogger.com/profile/17068566260695847744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_eEt94Pf_5as/SRgA2PY19aI/AAAAAAAADhQ/XEtY4JTAT6c/S220/arijit.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19919838.post-114665357591445063</id><published>2006-05-03T11:37:00.000+01:00</published><updated>2006-06-22T14:22:47.906+01:00</updated><title type='text'>Contract first</title><content type='html'>&lt;div style="TEXT-ALIGN: justify" align="left"&gt;I had an excellent e-mail exchange with &lt;a href="http://jim.webber.name"&gt;Jim&lt;/a&gt; and &lt;a href="http://savas.parastatidis.name"&gt;Savas&lt;/a&gt; about proper message orientation, and now I feel I have a much clearer concept. The way I have implemented DynaSOAr 2.0 is &lt;span style="FONT-STYLE: italic"&gt;message-oriented&lt;/span&gt;, and &lt;span style="FONT-STYLE: italic"&gt;loosely-coupled&lt;/span&gt;, but there is one drawback - the consumer will not be able to generate any &lt;span style="FONT-STYLE: italic"&gt;metadata&lt;/span&gt; about the service and the messages it consumed with the current WS tools. In a proper message-oriented service, you need to define your messages first, and interact with the service by sending those messages, and not the business objects which is a common tendency in the current WS programming style. Locally these messages are "java objects", you create them and set their properties - but that is not the same as interacting with the service by sending your internal business objects.&lt;br /&gt;&lt;br /&gt;What do I mean by these? Let's take a couple of examples:&lt;br /&gt;&lt;br /&gt;(1) Sending business objects:&lt;br /&gt;&lt;br /&gt;public class PurchaseOrder { }&lt;br /&gt;&lt;br /&gt;public class OrderedItem { }&lt;br /&gt;&lt;br /&gt;public OrderedItem processPO (PurchaseOrder myOrder) { }&lt;br /&gt;&lt;br /&gt;This is the common style where you send your business objects (like PurchaseOrder) while interacting with your service. Effectively, you are exposing the internal details of your service, and also, you need to have several APIs (like deletePO, updatePO etc) to perform several different processing.&lt;br /&gt;&lt;br /&gt;(2) Sending messages: &lt;br /&gt;&lt;br /&gt;public class POMessage { }&lt;br /&gt;&lt;br /&gt;public class ResponseMessage { } &lt;br /&gt;&lt;br /&gt;public ResponseMessage processMessage (POMessage myMessage) { }&lt;br /&gt;&lt;br /&gt;Here, you are explicitly sending messages, and not exposing your business objects. Ideally, you can have different types of messages, and the service should be able to deal with them differently based on the type of each message - by which it means you do not have to expose a CORBA-style OO interface.&lt;br /&gt;&lt;br /&gt;So, this is the style I will be adopting for a revision of DynaSOAr 2.0 - "contract first", as it is termed in the WS-world these days.&lt;br /&gt;&lt;br /&gt;And there is a "contract first" issue elsewhere too - my contract runs out on June 15th. Unless it is extended soon, I will not be able to finish what I started. Yes, I can always go back home (to India) and get another job there - but, in that case I won't be able to complete my PhD here - which will mean that I will have wasted a great deal of time...&lt;br /&gt;&lt;br /&gt;I am a little tensed about this - hoping that something will come up soon. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19919838-114665357591445063?l=jurassic-soa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jurassic-soa.blogspot.com/feeds/114665357591445063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19919838&amp;postID=114665357591445063' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19919838/posts/default/114665357591445063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19919838/posts/default/114665357591445063'/><link rel='alternate' type='text/html' href='http://jurassic-soa.blogspot.com/2006/05/contract-first.html' title='Contract first'/><author><name>Arijit</name><uri>http://www.blogger.com/profile/17068566260695847744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_eEt94Pf_5as/SRgA2PY19aI/AAAAAAAADhQ/XEtY4JTAT6c/S220/arijit.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19919838.post-114596185300697306</id><published>2006-04-25T11:37:00.000+01:00</published><updated>2006-04-25T11:44:13.006+01:00</updated><title type='text'>A step closer to the fully dynamic DQP</title><content type='html'>&lt;div style="text-align: justify;"&gt;The guys from &lt;a href="http://www.epcc.ed.ac.uk"&gt;EPCC&lt;/a&gt; mentioned that they are trying to create a lighter version of &lt;a href="http://www.ogsadai.org.uk"&gt;OGSA-DAI&lt;/a&gt; which would be readily deployable within a container - as a WAR file. This is a good news for me. So far, deploying OGSA-DAI was a rather complicated process - first you had to deploy OGSA-DAI, then add a data service, then create a data service resource and finally add the resource to the service - as a result of which, I wasn't able to deploy OGSA-DAI on the fly on a node where the data resides. Now that this version of OGSA-DAI will be available (soon), I will move one step closer to the concept of "moving code to the data" - because I already have a version of DQP which can deploy my evaluator services on-the-fly, and I am now adding the code to deploy the analysis services on-the-fly as well.&lt;br /&gt;&lt;br /&gt;The code is mostly ready, but I can't test it because since yesterday for some reason, some machines in the giga-cluster are down or unreachable:-(&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19919838-114596185300697306?l=jurassic-soa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jurassic-soa.blogspot.com/feeds/114596185300697306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19919838&amp;postID=114596185300697306' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19919838/posts/default/114596185300697306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19919838/posts/default/114596185300697306'/><link rel='alternate' type='text/html' href='http://jurassic-soa.blogspot.com/2006/04/step-closer-to-fully-dynamic-dqp.html' title='A step closer to the fully dynamic DQP'/><author><name>Arijit</name><uri>http://www.blogger.com/profile/17068566260695847744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_eEt94Pf_5as/SRgA2PY19aI/AAAAAAAADhQ/XEtY4JTAT6c/S220/arijit.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19919838.post-114596043418552868</id><published>2006-04-25T11:17:00.000+01:00</published><updated>2006-04-25T13:52:55.203+01:00</updated><title type='text'>Old, but still gold</title><content type='html'>&lt;div style="text-align: justify;"&gt;It's about ten years old, but still worth reading - an essay by Neal Stephenson (author of the &lt;a href="http://en.wikipedia.org/wiki/Snow_Crash"&gt;Snow Crash&lt;/a&gt;) - "&lt;a href="http://www.cryptonomicon.com/beginning.html"&gt;In the beginning there was the command line&lt;/a&gt;".&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;PS: Whatever Neal writes in the essay and despite how well, I still love my Powerbook G4. Apple has come a long way since those memory-problems when improper memory handling caused them to crash...Lookwise, Powerbooks, iBooks and iMacs are sleek, actually resembling sleek luxury cars, performance-wise they seem to be superior to the windows machines I use. But yes, you need to know how to drive before you start driving a Jaguar, don't you?&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19919838-114596043418552868?l=jurassic-soa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jurassic-soa.blogspot.com/feeds/114596043418552868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19919838&amp;postID=114596043418552868' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19919838/posts/default/114596043418552868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19919838/posts/default/114596043418552868'/><link rel='alternate' type='text/html' href='http://jurassic-soa.blogspot.com/2006/04/old-but-still-gold.html' title='Old, but still gold'/><author><name>Arijit</name><uri>http://www.blogger.com/profile/17068566260695847744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_eEt94Pf_5as/SRgA2PY19aI/AAAAAAAADhQ/XEtY4JTAT6c/S220/arijit.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19919838.post-114485733770474876</id><published>2006-04-12T16:27:00.000+01:00</published><updated>2006-04-12T16:57:12.026+01:00</updated><title type='text'>DynaSOAr 2.0 is ready</title><content type='html'>&lt;div style="text-align: justify;"&gt;Finally, I have been able to finish off the DynaSOAr 2.0 prototype.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;This new prototype extends the &lt;a href="http://www.neresc.ac.uk/projects/dynasoar/"&gt;previous&lt;/a&gt; one with the concept of a &lt;span style="font-style: italic;"&gt;broker&lt;/span&gt; and I have also added the DynaSOAr registries (using &lt;a href="http://twiki.grimoires.org/bin/view/Grimoires/"&gt;GRIMOIRES&lt;/a&gt;). In the new architecture, DynaSOAr maintains an internal registry (for its own use) which is updated every time a new service is deployed or added to the repository. For example, when a service is added to the repository for the first time, an entry is made in the registry, with the endpoint of the repository as a &lt;span style="font-style: italic;"&gt;CategoryBag&lt;/span&gt; for the service. Initially, there are no &lt;span style="font-style: italic;"&gt;AccessPoints&lt;/span&gt; (service endpoints) because it is not deployed anywhere. When the service is deployed on some node, the registry is updated and a new &lt;span style="font-style: italic;"&gt;AccessPoint&lt;/span&gt; is added to the service entry.&lt;br /&gt;&lt;br /&gt;In the new DynaSOAr Service Provider receives a service request (say meant for Service A) from a consumer. It simply adds the abstract name of the service and the endpoint of the internal registry to the message header and passes it onto the bound entity, which can be a &lt;span style="font-style: italic;"&gt;Broker&lt;/span&gt; or a &lt;span style="font-style: italic;"&gt;HostProvider&lt;/span&gt;. The &lt;span style="font-style: italic;"&gt;Broker  &lt;/span&gt;and the &lt;span style="font-style: italic;"&gt;HostProvider&lt;/span&gt; have similar interfaces, but they function differently. A &lt;span style="font-style: italic;"&gt;HostProvider&lt;/span&gt; either manages a cluster of nodes, in which case, the &lt;span style="font-style: italic;"&gt;HostProvider&lt;/span&gt; entity is a &lt;span style="font-style: italic;"&gt;ROOT&lt;/span&gt;. Alternatively, it can be one of the nodes in the cluster as well, in which case it is the &lt;span style="font-style: italic;"&gt;LEAF&lt;/span&gt;. So, the Service Provider will always have an entity locally bound to it - and this entity can be a &lt;span style="font-style: italic;"&gt;broker&lt;/span&gt;, connecting to other &lt;span style="font-style: italic;"&gt;brokers&lt;/span&gt; or &lt;span style="font-style: italic;"&gt;HostProviders&lt;/span&gt;. This entity can also be a &lt;span style="font-style: italic;"&gt;ROOT HostProvider&lt;/span&gt;, and a &lt;span style="font-style: italic;"&gt;LEAF HostProvider&lt;/span&gt; too. Services are always deployed on the &lt;span style="font-style: italic;"&gt;LEAF HostProvider&lt;/span&gt;. A &lt;span style="font-style: italic;"&gt;Broker&lt;/span&gt; decides on where to forward the request if it is connected to other &lt;span style="font-style: italic;"&gt;brokers&lt;/span&gt; or &lt;span style="font-style: italic;"&gt;HostProviders&lt;/span&gt;. Right now, I have a very simple random scheduler, but there is a group at Newcastle who are looking into proper scheduling algorithms for this. The &lt;span style="font-style: italic;"&gt;HostProvider&lt;/span&gt;, once it receives the request checks whether it has the service already deployed within its domain - in which case it is passed on to that node. If the service hasn't yet been deployed, the service code (currently only WAR files) is fetched from the repository and deployed on a target node...&lt;br /&gt;&lt;br /&gt;(Right now, I am not considering &lt;span style="font-style: italic;"&gt;hybrid &lt;/span&gt;nodes - where the node may be responsible for managing other nodes, and deploy service on itself as well)&lt;br /&gt;&lt;br /&gt;I have tried some new things in this version - for example using &lt;a href="http://www.castor.org"&gt;Castor&lt;/a&gt; instead of &lt;a href="http://ws.apache.org/axis/"&gt;Axis&lt;/a&gt; generated stubs. I am using the recommended signature for message-oriented services (because these services need to deal with message headers). I created a schema for all the messages (defined the messages) and used Castor to generate the Java bindings - and within the services, the messages are created using these Java bindings and then marshalled into an XML document using Castor - on the other hand, an XML formatted message is unmarshalled into Java objects by Castor. I am not totally sure whether this approach has been tried by someone or not or whether this should be the proper approach for message-orientation though. But it seems to fit into the concept of message-oriented services, where you first define your schema, and there is only one method in the service interface which decides what to do based on the message received...&lt;br /&gt;&lt;br /&gt;Further, I have been able to use this framework with &lt;a href="http://www.ogsadai.org.uk/about/ogsa-dqp/"&gt;OGSA-DQP&lt;/a&gt; - where, the evaluator services can now be dynamically deployed on the nodes which contain the data resources. So, this is one step in the direction of achieving what we call "moving the code to the data".&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19919838-114485733770474876?l=jurassic-soa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jurassic-soa.blogspot.com/feeds/114485733770474876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19919838&amp;postID=114485733770474876' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19919838/posts/default/114485733770474876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19919838/posts/default/114485733770474876'/><link rel='alternate' type='text/html' href='http://jurassic-soa.blogspot.com/2006/04/dynasoar-20-is-ready.html' title='DynaSOAr 2.0 is ready'/><author><name>Arijit</name><uri>http://www.blogger.com/profile/17068566260695847744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_eEt94Pf_5as/SRgA2PY19aI/AAAAAAAADhQ/XEtY4JTAT6c/S220/arijit.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19919838.post-113716572063320515</id><published>2006-01-13T14:53:00.000Z</published><updated>2006-06-22T14:20:49.173+01:00</updated><title type='text'>GRIMOIRES doing funny things</title><content type='html'>&lt;div style="TEXT-ALIGN: justify"&gt;As I mentioned in my past two posts, that I have been trying to use &lt;a href="http://www.grimoires.org"&gt;GRIMOIRES&lt;/a&gt; as the registry in my dynamic deployment work. The idea is that when a service is deployed on a node, it will be registered with the GRIMOIRES registry, which is the basic concept of UDDI. What we are trying to add is a dynamic deployment feature, where the Service Provider will advertise a set of services, which may or may not be deployed somewhere. The flow is as follows:&lt;br /&gt;&lt;br /&gt;A consumer contacts the Service Provider (SP) and finds the services that are supported by the SP. The consumer then decides which service is to be invoked, and sends a request message (SOAP) to the SP. The SP looks up the registry and finds out on which nodes this service is already deployed. If such a node is found, the request is forwarded to that node and on completion, the response is sent back to the consumer. But, if there are no nodes on which the service is already deployed, the SP sends a message to a suitable host to deploy this service dynamically. In this message, the SP provides the service name/ID and the location where the deployment code can be found. In the &lt;a href="http://www.neresc.ac.uk/projects/dynasoar/"&gt;DynaSOAr&lt;/a&gt; work, we have already developed this infrastructure (except the registry), where the deployable code can be fetched from a code-store (which is again a service). I am now trying to develop a registry, and that is where GRIMOIRES comes in. I could have developed a simple MySQL-based utility to store all the information required in the MySQL backend, but then it defies the purpose of UDDI.&lt;br /&gt;&lt;br /&gt;So, I need to add "businessEntities" and "businessServices" to the GRIMOIRES registry. The services would have more than one bindingTemplates - because a service can be deployed on more than one nodes. Each service should also have a reference to the Code-Store URL, from where the service code can be fetched during hot-deployment. UDDI specs allow more than one bindingTemplates and there is a concept of tModels, which can be used for reference purposes - which eactly suits the requirement for the reference to the Code-Store. This is what I tried to do. Adding a &lt;span style="FONT-STYLE: italic"&gt;businessEntity&lt;/span&gt; and a &lt;span style="FONT-STYLE: italic"&gt;businessService &lt;/span&gt;din not prove to be difficult at all. But the problem cropped up when I added the &lt;span style="FONT-STYLE: italic"&gt;bindingTemplate&lt;/span&gt;, more specifically more than one of those. It seems GRIMOIRES creates duplicate entries while doing this via the &lt;a href="http://www.uddibrowser.org"&gt;UDDIBrowser&lt;/a&gt;. So, once I add a &lt;span style="FONT-STYLE: italic"&gt;bindingTemplate&lt;/span&gt; to a service, the registry is updated, and when the &lt;span style="FONT-STYLE: italic"&gt;businessEntity&lt;/span&gt; (under which the &lt;span style="FONT-STYLE: italic"&gt;businessService&lt;/span&gt; is created) is expanded, multiple copies of the same entry is displayed (using UDDIBrowser). But, funnily, if a query is sent to the registry (via the same UDDIBrowser) inquiry interface, it returns the correct number of services...I suspect it sends a "select distinct"-like query to the database.&lt;br /&gt;&lt;br /&gt;Other than this, I think I am comfortable with the tModel concept for CodeStore. So, each of the services registered with the registry will have multiple &lt;span style="FONT-STYLE: italic"&gt;bindingTemplates&lt;/span&gt;, and one tModel reference. I have created a tModel as follows:&lt;br /&gt;&lt;/div&gt;&lt;div style="TEXT-ALIGN: justify" align="left"&gt;&lt;pre style="COLOR: rgb(51,51,255)"&gt;&lt;span style="font-size:85%;"&gt;&amp;lt;tmodel tmodelkey="some tModel key - uuid"&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;CodeStoreLocation&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;description lang="en"&amp;gt;some description&amp;lt;/description&amp;gt;&lt;br /&gt;&amp;lt;overviewdoc&amp;gt;&lt;br /&gt; &amp;lt;overviewurl&amp;gt;http://codestore.url&amp;lt;/overviewurl&amp;gt;&lt;br /&gt;&amp;lt;/overviewdoc&amp;gt;&lt;br /&gt;&amp;lt;/tmodel&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div style="TEXT-ALIGN: justify"&gt;And I am using this as a reference within the &lt;span style="FONT-STYLE: italic"&gt;businessServices&lt;/span&gt; - as &lt;span style="FONT-STYLE: italic"&gt;categoryBag &lt;/span&gt;entries.&lt;span style="COLOR: rgb(51,51,255)"&gt;&lt;overviewurl&gt;&lt;/overviewurl&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;pre style="COLOR: rgb(51,51,255)"&gt;&lt;span style="font-size:85%;"&gt;&amp;lt;businessService&lt;br /&gt;businessKey="544d3b47-c908-449a-9f2d-8f5c4f69fa9e"&lt;br /&gt;serviceKey="cdb0c903-839b-4a74-ae1d-c3981e55e27a"&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;QueryEvaluationService&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;bindingTemplates&amp;gt;&lt;br /&gt; &amp;lt;bindingTemplate&lt;br /&gt;   bindingKey="c8cdc9a5-f070-4e16-9e09-f78b3842f9c3"&lt;br /&gt;   serviceKey="cdb0c903-839b-4a74-ae1d-c3981e55e27a"&amp;gt;&lt;br /&gt;   &amp;lt;accessPoint URLType="http"&amp;gt;serviceURL&amp;lt;/accessPoint&amp;gt;&lt;br /&gt;   &amp;lt;tModelInstanceDetails&amp;gt;&lt;br /&gt;     &amp;lt;tModelInstanceInfo tModelKey="some key"/&amp;gt;&lt;br /&gt;   &amp;lt;/tModelInstanceDetails&amp;gt;&lt;br /&gt; &amp;lt;/bindingTemplate&amp;gt;&lt;br /&gt; &amp;lt;bindingTemplate&lt;br /&gt;   bindingKey="ca8d1c0e-9312-4b92-9d80-edb7c247a813"&lt;br /&gt;   serviceKey="cdb0c903-839b-4a74-ae1d-c3981e55e27a"&amp;gt;&lt;br /&gt;   &amp;lt;accessPoint URLType="http"&amp;gt;service URL&amp;lt;/accessPoint&amp;gt;&lt;br /&gt;   &amp;lt;tModelInstanceDetails&amp;gt;&lt;br /&gt;     &amp;lt;tModelInstanceInfo tModelKey="some key"/&amp;gt;&lt;br /&gt;   &amp;lt;/tModelInstanceDetails&amp;gt;&lt;br /&gt; &amp;lt;/bindingTemplate&amp;gt;&lt;br /&gt;&amp;lt;/bindingTemplates&amp;gt;&lt;br /&gt;&amp;lt;categoryBag&amp;gt;&lt;br /&gt; &amp;lt;keyedReference&lt;br /&gt;   keyName="CodeStoreLocation"&lt;br /&gt;   keyValue="http://codestore.is.somewhere"&lt;br /&gt;   tModelKey="dqp:uk.org.ogsadai:codestore:location"/&amp;gt;&lt;br /&gt;&amp;lt;/categoryBag&amp;gt;&lt;br /&gt;&amp;lt;/businessService&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;pre style="COLOR: rgb(51,51,255)"&gt;&lt;span style="font-family:lucida grande;color:#000000;"&gt;I guess this should work...&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19919838-113716572063320515?l=jurassic-soa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jurassic-soa.blogspot.com/feeds/113716572063320515/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19919838&amp;postID=113716572063320515' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19919838/posts/default/113716572063320515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19919838/posts/default/113716572063320515'/><link rel='alternate' type='text/html' href='http://jurassic-soa.blogspot.com/2006/01/grimoires-doing-funny-things.html' title='GRIMOIRES doing funny things'/><author><name>Arijit</name><uri>http://www.blogger.com/profile/17068566260695847744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_eEt94Pf_5as/SRgA2PY19aI/AAAAAAAADhQ/XEtY4JTAT6c/S220/arijit.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19919838.post-113706741085295133</id><published>2006-01-12T11:53:00.000Z</published><updated>2006-04-25T11:23:45.206+01:00</updated><title type='text'>UDDI Registry And tModels</title><content type='html'>&lt;div style="text-align: justify;"&gt;For the past few days I have been scratching my head on how to describe the services that I will put in the DynaSOAr registry for the dynamic distributed query processing work. I have been exploring &lt;a href="http://www.grimoires.org"&gt;GRIMOIRES&lt;/a&gt; as a possible option. It provides a GShell interface to interact with the registry and alternatively the &lt;a href="http://www.uddibrowser.org"&gt;UDDIBrowser&lt;/a&gt; can be used to browse the contents and publish/query entries in the registry. Unfortunately, UDDIBrowser contains minimal (rather no) documentation which led to several problems in publishing new entries, especially tModels. A google search led me to &lt;a href="http://www.codeproject.com/soap/understandingTModels.asp"&gt;this&lt;/a&gt; article on tModels - I found it quite useful. I have a clearer idea on describing the services to be exposed by the registry - specially, identifying the code store repository from where the service code can be fetched in case of dynamic deployment, and also information about the service or the virtual machine image...&lt;br /&gt;&lt;br /&gt;I still have problems with GRIMOIRES, which I think is possibly a bug in the UDDI server - because similar steps against &lt;a href="http://ws.apache.org/juddi/"&gt;jUDDI&lt;/a&gt; were successful.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19919838-113706741085295133?l=jurassic-soa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jurassic-soa.blogspot.com/feeds/113706741085295133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19919838&amp;postID=113706741085295133' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19919838/posts/default/113706741085295133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19919838/posts/default/113706741085295133'/><link rel='alternate' type='text/html' href='http://jurassic-soa.blogspot.com/2006/01/uddi-registry-and-tmodels.html' title='UDDI Registry And tModels'/><author><name>Arijit</name><uri>http://www.blogger.com/profile/17068566260695847744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_eEt94Pf_5as/SRgA2PY19aI/AAAAAAAADhQ/XEtY4JTAT6c/S220/arijit.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19919838.post-113509771031297646</id><published>2005-12-20T16:55:00.000Z</published><updated>2006-04-25T11:22:32.996+01:00</updated><title type='text'>Thoughts about OGSA-DQP and DynaSOAr</title><content type='html'>&lt;div align="justify"&gt;We have just released &lt;a href="http://www.ogsadai.org.uk/releases/dqp.php"&gt;OGSA-DQP 3.0&lt;/a&gt;. The previous two releases received fair amount of positive feedback from the community, and we hope this new release will have similar fate. DQP-3.0 is based on &lt;a href="http://www.ogsadai.org.uk/releases/ogsadai.php"&gt;OGSA-DAI WSRF 2.1 and OGSA-DAI WSI 2.1&lt;/a&gt;. This release contains major bug-fixes, performance enhancements and most importantly, it allows the co-ordinator component to be deployed on Windows. Now I will be able to concentrate on my research – hoping to be able to start writing my thesis sometime next summer.&lt;br /&gt;&lt;br /&gt;So, what am I trying to achieve?&lt;br /&gt;&lt;br /&gt;In the past few months, we have also produced a Dynamic Service Oriented Architecture framework, called &lt;a href="http://www.neresc.ac.uk/projects/dynasoar/"&gt;DynaSOAr&lt;/a&gt;. It provides an architecture for dynamically deploying web services remotely on a grid or the Internet. When a web service provider receives a request for a web service, it checks to see if this web service is already deployed. If it is, the call is routed straight to the deployed web service. If the web service is not deployed, the web service code is fetched from a repository and the web service is deployed on a host provider under the service provider's domain. One potential use for this architecture is for moving web services which access a database and perform analysis on the data closer to the database.&lt;br /&gt;&lt;br /&gt;I am trying to use this idea of DynaSOAr inside OGSA-DQP by allowing dynamic deployment of the query evaluation component of DQP (called evaluator) on target hosts, dynamic deployment of analysis services, and also packaged virtual machines containing services or databases.&lt;br /&gt;&lt;br /&gt;The evaluators are already compatible with DynaSOAr. I have also been able to create Virtual Machines using &lt;a href="http://www.vmware.com/products/ws/"&gt;VMWare Workstation&lt;/a&gt;, start them on Linux hosts from a suspended state using the &lt;a href="http://www.vmware.com/products/player/"&gt;VMWare Player&lt;/a&gt;, and invoke services on them. The challenge is in transporting those VMs on the fly to and from different hosts, for which I am planning to explore several technologies like GridFTP, Peer-to-peer, etc.&lt;br /&gt;&lt;br /&gt;Right now, I am fiddling with &lt;a href="http://twiki.grimoires.org/bin/view/Grimoires/"&gt;GRIMOIRES&lt;/a&gt;, a &lt;a href="http://www.uddi.org/"&gt;UDDI&lt;/a&gt; registry released by the &lt;a href="http://www.soton.ac.uk/"&gt;University of Southampton&lt;/a&gt;. I’m planning to use it within the dynamically deployabale version of DQP. This registry will store information about the services, where they are deployed, and from where the service code can be found in case a hot-deployment is required…&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19919838-113509771031297646?l=jurassic-soa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jurassic-soa.blogspot.com/feeds/113509771031297646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19919838&amp;postID=113509771031297646' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19919838/posts/default/113509771031297646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19919838/posts/default/113509771031297646'/><link rel='alternate' type='text/html' href='http://jurassic-soa.blogspot.com/2005/12/thoughts-about-ogsa-dqp-and-dynasoar.html' title='Thoughts about OGSA-DQP and DynaSOAr'/><author><name>Arijit</name><uri>http://www.blogger.com/profile/17068566260695847744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_eEt94Pf_5as/SRgA2PY19aI/AAAAAAAADhQ/XEtY4JTAT6c/S220/arijit.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19919838.post-113509572661471386</id><published>2005-12-20T16:22:00.000Z</published><updated>2006-04-25T11:22:43.536+01:00</updated><title type='text'>Data and SOA</title><content type='html'>&lt;div align="justify"&gt;I just finished reading an excellent article on Service Orientation. It’s written by Pat Helland (from &lt;a href="http://www.microsoft.com/"&gt;Microsoft&lt;/a&gt;), and titled – &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/dataoutsideinside.asp"&gt;"Data on the Outside vs. Data on the Inside"&lt;/a&gt;. Pat explores the concepts of Service Orientation, and talks about how data should be structured within the service and outside the service boundary – which has always been an interesting topic since the advent of Web Services…&lt;br /&gt;&lt;br /&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19919838-113509572661471386?l=jurassic-soa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jurassic-soa.blogspot.com/feeds/113509572661471386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19919838&amp;postID=113509572661471386' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19919838/posts/default/113509572661471386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19919838/posts/default/113509572661471386'/><link rel='alternate' type='text/html' href='http://jurassic-soa.blogspot.com/2005/12/data-and-soa.html' title='Data and SOA'/><author><name>Arijit</name><uri>http://www.blogger.com/profile/17068566260695847744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_eEt94Pf_5as/SRgA2PY19aI/AAAAAAAADhQ/XEtY4JTAT6c/S220/arijit.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19919838.post-113474455424138087</id><published>2005-12-16T14:41:00.000Z</published><updated>2006-04-25T11:22:53.406+01:00</updated><title type='text'>Devonshire Building</title><content type='html'>&lt;div align="justify"&gt;&lt;a href="http://photos1.blogger.com/blogger/3681/1056/1600/devonshire.jpg"&gt;&lt;img style="margin: 0px 10px 10px 0px; float: left;" alt="" src="http://photos1.blogger.com/blogger/3681/1056/320/devonshire.jpg" border="0" /&gt;&lt;/a&gt; This is the &lt;a href="http://www.greenspec.co.uk/html/design/imgbank/devonshire.html"&gt;Devonshire Building&lt;/a&gt; where I work. The building is "supposedly" environment friendly, although you would see lots of screw-ups frequently, and sometimes I feel that the building looks like a huge toaster. But, what the hell, this building is quite famous now:-))&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;The building houses several research groups, and we are on the second floor with the &lt;a href="http://www.ncl.ac.uk/iri/"&gt;Informatics Research Institute&lt;/a&gt; sharing the floor with us. We even have a state-of-the-art VR (Virtual Reality) suite for the VR and Imaging research...&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19919838-113474455424138087?l=jurassic-soa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jurassic-soa.blogspot.com/feeds/113474455424138087/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19919838&amp;postID=113474455424138087' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19919838/posts/default/113474455424138087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19919838/posts/default/113474455424138087'/><link rel='alternate' type='text/html' href='http://jurassic-soa.blogspot.com/2005/12/devonshire-building.html' title='Devonshire Building'/><author><name>Arijit</name><uri>http://www.blogger.com/profile/17068566260695847744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_eEt94Pf_5as/SRgA2PY19aI/AAAAAAAADhQ/XEtY4JTAT6c/S220/arijit.jpg'/></author><thr:total>0</thr:total></entry></feed>
