<?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-2559483330363930187</id><updated>2012-02-17T00:26:03.439+05:30</updated><category term='XML'/><category term='Web Service Basics'/><category term='Axis2'/><category term='Theory'/><category term='.NET'/><title type='text'>WS-*</title><subtitle type='html'>Axis2,WCF plus distributed technologies</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ws-axis2.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2559483330363930187/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ws-axis2.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Prabath Siriwardena</name><uri>http://www.blogger.com/profile/06640078923975441524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2559483330363930187.post-4801251055929917834</id><published>2007-06-12T22:48:00.000+05:30</published><updated>2007-06-12T22:50:15.536+05:30</updated><title type='text'>SOA and the SO Design Tenets</title><content type='html'>SOA is an architectural approach to creating systems built from autonomous services.  With SOA, integration becomes forethought rather than afterthought - the end solution is likely to be composed of services developed in different programming languages, hosted on disparate platforms with a variety of security models and business processes.  While this concept sounds incredibly complex it is not new – some may argue that SOA evolved out of the experiences associated with designing and developing distributed systems based on previously available technologies.  Many of the concepts associated with SOA such as services, discovery and late binding were associated with CORBA and DCOM.  Similarly, many service design principles have much in common with earlier OOA/OOD techniques based upon encapsulation, abstraction and clearly defined interfaces. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/jevdemon/archive/2005/03/02/383977.aspx"&gt;Read more...&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2559483330363930187-4801251055929917834?l=ws-axis2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ws-axis2.blogspot.com/feeds/4801251055929917834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2559483330363930187&amp;postID=4801251055929917834' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2559483330363930187/posts/default/4801251055929917834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2559483330363930187/posts/default/4801251055929917834'/><link rel='alternate' type='text/html' href='http://ws-axis2.blogspot.com/2007/06/soa-and-so-design-tenets.html' title='SOA and the SO Design Tenets'/><author><name>Prabath Siriwardena</name><uri>http://www.blogger.com/profile/06640078923975441524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2559483330363930187.post-4683161239161687340</id><published>2007-06-05T06:21:00.000+05:30</published><updated>2007-06-05T06:26:16.561+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><title type='text'>.NET 3.5</title><content type='html'>&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=E3715E6F-E123-428B-8A0F-028AFB9E0322&amp;displaylang=en"&gt;.NET 3.5&lt;/a&gt; is a brand name for a set tools designed to enhance the use of the .NET 3.0 technologies. These include a visual design editor for WPF and WF, Visual Studio project and item templates for WCF, and integration between WCF and WF. In addition, .NET 3.5 includes new language features for both C# and VB.NET, such as extension methods, anonymous types, and query expression. Utilizing these new language features, .NET 3.5 supports Language-Integrated Query (LINQ) – which makes it possible to query objects (LINQ to Objects) and relational data such as XML (LINQ to XML); entities, datasets and SQL (LINQ to ADO.NET). Some of these language features are integrated back into Visual Studio in the form of data source designers and data binding. None of these language features are related to .NET 3.0 (WCF, WPF, WF, CardsSpace).  Finally, .NET 3.5 contains framework and tools for  ASP.NET AJAX.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2559483330363930187-4683161239161687340?l=ws-axis2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ws-axis2.blogspot.com/feeds/4683161239161687340/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2559483330363930187&amp;postID=4683161239161687340' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2559483330363930187/posts/default/4683161239161687340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2559483330363930187/posts/default/4683161239161687340'/><link rel='alternate' type='text/html' href='http://ws-axis2.blogspot.com/2007/06/net-35.html' title='.NET 3.5'/><author><name>Prabath Siriwardena</name><uri>http://www.blogger.com/profile/06640078923975441524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2559483330363930187.post-8772659838282307741</id><published>2007-06-04T13:12:00.000+05:30</published><updated>2007-06-04T13:13:46.193+05:30</updated><title type='text'>Benchmarking with Apache Bench</title><content type='html'>A nice article on the above topic : &lt;a href="http://www.linux-mag.com/id/1361/"&gt;http://www.linux-mag.com/id/1361/&lt;/a&gt;. You need to register before accessing the above page &amp; it's totally free.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2559483330363930187-8772659838282307741?l=ws-axis2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ws-axis2.blogspot.com/feeds/8772659838282307741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2559483330363930187&amp;postID=8772659838282307741' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2559483330363930187/posts/default/8772659838282307741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2559483330363930187/posts/default/8772659838282307741'/><link rel='alternate' type='text/html' href='http://ws-axis2.blogspot.com/2007/06/benchmarking-with-apache-bench.html' title='Benchmarking with Apache Bench'/><author><name>Prabath Siriwardena</name><uri>http://www.blogger.com/profile/06640078923975441524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2559483330363930187.post-8060621709551033122</id><published>2007-06-02T14:36:00.000+05:30</published><updated>2007-06-01T14:47:06.622+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Axis2'/><title type='text'>Axis2, Middleware for Next Generation Web Services</title><content type='html'>Published on : IEEE International Conference on Web Services (ICWS'06)- 2006&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Abstract:&lt;/strong&gt;&lt;br /&gt;&lt;blockquote&gt;Axis2, the next generation of Apache Web Services middleware, is an effort to re-architecture Apache Web Service stack to incorporate the changes in Web Services.&lt;br /&gt;Among many improvements, Axis2 provides first class Messaging and SOAP extension supports together with a novel lightweight streaming based XML processing Model. The architecture is build on top of a simple and extensible core that provides the basic abstractions for the rest of the system. We present the design and the thought process behind the key abstractions by breaking down the architecture in to three topics, XML Processing Model, Extensible SOAP processing model and Messaging Framework. This Paper explains the overall architecture while concentrating on the three topics, and demonstrate how they all fit together to yield Axis2.&lt;/blockquote&gt;&lt;br /&gt;Full text available at &lt;a href="http://grids.ucs.indiana.edu/ptliupages/publications/axis2.pdf"&gt;http://grids.ucs.indiana.edu/ptliupages/publications/axis2.pdf&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2559483330363930187-8060621709551033122?l=ws-axis2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ws-axis2.blogspot.com/feeds/8060621709551033122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2559483330363930187&amp;postID=8060621709551033122' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2559483330363930187/posts/default/8060621709551033122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2559483330363930187/posts/default/8060621709551033122'/><link rel='alternate' type='text/html' href='http://ws-axis2.blogspot.com/2007/06/axis2-middleware-for-next-generation.html' title='Axis2, Middleware for Next Generation Web Services'/><author><name>Prabath Siriwardena</name><uri>http://www.blogger.com/profile/06640078923975441524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2559483330363930187.post-8637172739874981735</id><published>2007-06-01T00:01:00.000+05:30</published><updated>2007-06-01T00:07:30.756+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><title type='text'>Streaming API For XML [StAX]</title><content type='html'>&lt;a href="http://ws.apache.org/commons/axiom/"&gt;AXIOM&lt;/a&gt; stands for AXis Object Model (also known as OM - Object Model) and refers to the XML infoset model that was initially developed for Apache Axis2. XML infoset refers to the information included inside the XML and for programmatical manipulation it is convenient to have a representation of this XML infoset in a language specific manner.&lt;br /&gt;&lt;br /&gt;Apache AXIOM is a StAX-based [jsr-173], XML Infoset compliant object model which supports on-demand building of the object tree. It supports a novel "pull-through" model which allows one to turn off the tree building and directly access the underlying pull event stream. &lt;br /&gt;&lt;br /&gt;I am not going to duplicate anything here. &lt;a href="http://www.xml.com/pub/a/2003/09/17/stax.html?page=1"&gt;An Introduction to StAX&lt;/a&gt; is a good place to start with, if you are interested in knowing more about StAX.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2559483330363930187-8637172739874981735?l=ws-axis2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ws-axis2.blogspot.com/feeds/8637172739874981735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2559483330363930187&amp;postID=8637172739874981735' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2559483330363930187/posts/default/8637172739874981735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2559483330363930187/posts/default/8637172739874981735'/><link rel='alternate' type='text/html' href='http://ws-axis2.blogspot.com/2007/06/streaming-api-for-xml-stax.html' title='Streaming API For XML [StAX]'/><author><name>Prabath Siriwardena</name><uri>http://www.blogger.com/profile/06640078923975441524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2559483330363930187.post-5294294705131858043</id><published>2007-05-31T00:09:00.000+05:30</published><updated>2007-05-31T00:11:09.845+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Service Basics'/><title type='text'>SOAP message serialization</title><content type='html'>The serialization of SOAP calls can be logically seperated into four phases. &lt;br /&gt;&lt;br /&gt;1. Traversing the data structures - to impart a corresponding structure to the SOAP XML.&lt;br /&gt;2. Convert machine representation of data to ASCII.&lt;br /&gt;3. Write ASCII to buffer.&lt;br /&gt;4. Initiate network transmission.&lt;br /&gt;&lt;br /&gt;It's being found from different researches that the performance of SOAP serialization techniques is not sufficient to scientific computing. SOAP serialization consumes 90% of end-to-end time for a SOAP RPC call. For high performance applications this bottleneck needs to be eliminated.&lt;br /&gt;&lt;br /&gt;There have being discussions happening in this area. Differential Serialization and Client side caching are two options being researched. Both techniques are more or less the same. Idea behind the client side caching is to cache web service requests at the client side. So, identical requests need not to go through the message serialization process more than once. &lt;br /&gt;&lt;br /&gt;Differential Serialization, has many options. It covers the previous scenario, under the Message Content Match - where two messages need to be identical by both the structure and the content.The other techniques suggested under Differential Serialization are, Perfect Structural Match, Partial Structural Match and First Time Send. &lt;br /&gt;&lt;br /&gt;Both of these researches ended up with SOAP implemenatations. And both proved thier respective methods enhanced web service performance by several levels.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2559483330363930187-5294294705131858043?l=ws-axis2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ws-axis2.blogspot.com/feeds/5294294705131858043/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2559483330363930187&amp;postID=5294294705131858043' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2559483330363930187/posts/default/5294294705131858043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2559483330363930187/posts/default/5294294705131858043'/><link rel='alternate' type='text/html' href='http://ws-axis2.blogspot.com/2007/05/soap-message-serialization.html' title='SOAP message serialization'/><author><name>Prabath Siriwardena</name><uri>http://www.blogger.com/profile/06640078923975441524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2559483330363930187.post-4224683388235431231</id><published>2007-05-30T15:41:00.000+05:30</published><updated>2008-11-15T14:17:58.895+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Service Basics'/><title type='text'>SOAP message serialization/deserialization</title><content type='html'>A little bit about how web services work.&lt;br /&gt;&lt;br /&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_3rT4QbZlDdU/Rl1O0_34-oI/AAAAAAAAAAM/3WYh9pG1c7Q/s320/x05s00wz.Local_-400814643_xmlwebservicelifetime(en-us,VS.85).png" border="0" alt=""id="BLOGGER_PHOTO_ID_5070295427895065218" /&gt;&lt;br /&gt;The following describes the sequence of events that occur when an XML Web service is called: &lt;br /&gt;&lt;br /&gt;1. The client creates a new instance of an XML Web service proxy class. This object resides on the same computer as the client.&lt;br /&gt;&lt;br /&gt;2. The client invokes a method on the proxy class.&lt;br /&gt;&lt;br /&gt;3. The infrastructure on the client computer serializes the arguments of the XML Web service method into a SOAP message and sends it over the network to the XML Web service.&lt;br /&gt;&lt;br /&gt;4. The infrastructure receives the SOAP message and deserializes the XML. It creates an instance of the class implementing the XML Web service and invokes the XML Web service method, passing in the deserialized XML as arguments. &lt;br /&gt;&lt;br /&gt;5. The XML Web service method executes its code, eventually setting the return value and any out parameters.&lt;br /&gt;&lt;br /&gt;6. The infrastructure on the Web server serializes the return value and out parameters into a SOAP message and sends it over the network back to the client.&lt;br /&gt;&lt;br /&gt;7. The XML Web service infrastructure, on the client computer, receives the SOAP message, deserializes the XML into the return value and any out parameters, and passes them to the instance of the proxy class.&lt;br /&gt;&lt;br /&gt;8. The client receives the return value and any out parameters.&lt;br /&gt;&lt;br /&gt;As you carefully go through the above steps you'll notice that there is a huge bottleneck in SOAP message serialization/deserialization process. Also add the number of times this happens in a single web service operation. &lt;br /&gt;&lt;br /&gt;Following explains how SOAP Extensions in .NET are used in the SOAP message serialization/deserialization process.&lt;br /&gt;&lt;br /&gt;Client Side Prepares a Request Message&lt;br /&gt;&lt;br /&gt;1. A client invokes a method on the proxy class.&lt;br /&gt;2. A new instance of the SOAP extension is created on the client.&lt;br /&gt;3. If this is the first time this SOAP extension has executed with this Web service on the client, then the GetInitializer method is invoked on the SOAP extension running on the client.&lt;br /&gt;4. The Initialize method is invoked.&lt;br /&gt;5. The ChainStream method is invoked.&lt;br /&gt;6. The ProcessMessage method is invoked with SoapMessageStage set to BeforeSerialize.&lt;br /&gt;[This is a place which can be used for client side caching]&lt;br /&gt;7. ASP.NET on the client computer serializes the arguments of the Web service method into XML.&lt;br /&gt;8. The ProcessMessage method is invoked with SoapMessageStage set to AfterSerialize.&lt;br /&gt;9. ASP.NET on the client computer sends the SOAP message over the network to the Web server hosting the Web service.&lt;br /&gt;&lt;br /&gt;Server Side Receives a Request Message and Prepares a Response&lt;br /&gt;&lt;br /&gt;1. ASP.NET on the Web server receives the SOAP message.&lt;br /&gt;2. A new instance of the SOAP extension is created on the Web server.&lt;br /&gt;3. On the Web server, if this is the first time this SOAP extension has executed with this Web service on the server side, the GetInitializer method is invoked on the SOAP extension running on the server.&lt;br /&gt;4. The Initialize method is invoked.&lt;br /&gt;5. The ChainStream method is invoked.&lt;br /&gt;6. The ProcessMessage method is invoked with SoapMessageStage set to BeforeDeserialize.&lt;br /&gt;7. ASP.NET deserializes the arguments within the XML.&lt;br /&gt;8. The ProcessMessage method is invoked with SoapMessageStage set to AfterDeserialize.&lt;br /&gt;9. ASP.NET creates a new instance of the class implementing the Web service and invokes the Web service method, passing in the deserialized arguments. This object resides on the same computer as the Web server.&lt;br /&gt;10.The Web service method executes its code, eventually setting the return value and any out parameters.&lt;br /&gt;11.The ProcessMessage method is invoked with SoapMessageStage set to BeforeSerialize.&lt;br /&gt;12.ASP.NET on the Web server serializes the return value and out parameters into XML.&lt;br /&gt;13.The ProcessMessage method is invoked with SoapMessageStage set to AfterSerialize.&lt;br /&gt;14.ASP.NET sends the SOAP response message over the network back to the Web service client.&lt;br /&gt;&lt;br /&gt;Client Side Receives a Response Message&lt;br /&gt;&lt;br /&gt;1. ASP.NET on the client computer receives the SOAP message.&lt;br /&gt;2. The ProcessMessage method is invoked with SoapMessageStage set to BeforeDeserialize.&lt;br /&gt;3. ASP.NET deserializes the XML into the return value and any out parameters.&lt;br /&gt;4. The ProcessMessage method is invoked with SoapMessageStage set to AfterDeserialize.&lt;br /&gt;5. ASP.NET passes the return value and any out parameters to the instance of the proxy class.&lt;br /&gt;6. The client receives the return value and any out parameters.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2559483330363930187-4224683388235431231?l=ws-axis2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ws-axis2.blogspot.com/feeds/4224683388235431231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2559483330363930187&amp;postID=4224683388235431231' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2559483330363930187/posts/default/4224683388235431231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2559483330363930187/posts/default/4224683388235431231'/><link rel='alternate' type='text/html' href='http://ws-axis2.blogspot.com/2007/05/soap-message-serializationdeserializati.html' title='SOAP message serialization/deserialization'/><author><name>Prabath Siriwardena</name><uri>http://www.blogger.com/profile/06640078923975441524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3rT4QbZlDdU/Rl1O0_34-oI/AAAAAAAAAAM/3WYh9pG1c7Q/s72-c/x05s00wz.Local_-400814643_xmlwebservicelifetime(en-us,VS.85).png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2559483330363930187.post-5237952243483684503</id><published>2007-05-29T21:40:00.000+05:30</published><updated>2007-05-28T21:58:19.934+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Theory'/><title type='text'>A distributed system defined</title><content type='html'>A little bit deviated from the major objective, but very much related.&lt;br /&gt;&lt;br /&gt;A distributed system is a complex application designed to run on a network and such a system has multiple processes to do something. Network applications are different from distributed applications. The difference is, in a network application the autonomous computers are explicitly visible and have to be explicitly addressed. That is, you exactly know to which computer you talk to. In a distributed system the existence of multiple autonomous computers is transparent. At the same time a distributed system is spread-out and de-centralized.&lt;br /&gt;&lt;br /&gt;Here I quote some of the well-known definitions on distributed systems.&lt;br /&gt;&lt;br /&gt;“A system in which hardware and software components located at networked computers communicate and coordinate their actions only by message passing” - Coulouris&lt;br /&gt;&lt;br /&gt;“A distributed system is a collection of independent computers that appear to the users of the computer as a single coherent system” – Tanenbaum&lt;br /&gt;&lt;br /&gt;“A distributed system is one on which I cannot get any work done because some machine that I have never heard of has crashed” - Lamport&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2559483330363930187-5237952243483684503?l=ws-axis2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ws-axis2.blogspot.com/feeds/5237952243483684503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2559483330363930187&amp;postID=5237952243483684503' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2559483330363930187/posts/default/5237952243483684503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2559483330363930187/posts/default/5237952243483684503'/><link rel='alternate' type='text/html' href='http://ws-axis2.blogspot.com/2007/05/distributed-system-defined.html' title='A distributed system defined'/><author><name>Prabath Siriwardena</name><uri>http://www.blogger.com/profile/06640078923975441524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2559483330363930187.post-2859181667262560490</id><published>2007-05-28T14:52:00.000+05:30</published><updated>2007-05-28T21:57:59.449+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Axis2'/><title type='text'>What is AXIS2?</title><content type='html'>You wouldn't have come here without knowing the answer. Don't curse me, just for the completion, I'll add few words on this &amp; will give more references - so, the people who are interested in knowing more can go in depth.&lt;br /&gt;&lt;br /&gt;If you are new to web services or if this is the first time you hear about web services, please do a Google search to find out some introductory articles on web services. It's not surprising, everybody does not supposed to learn about web services - I've met a lot who have not heard about web services while conducting interviews.&lt;br /&gt;&lt;br /&gt;So, please bare with me, I am not going to talk about web services from scratch here. But if you are new to AXIS2 and never used it before, this is the best place to start with.&lt;br /&gt;&lt;br /&gt;Web services facilitate inter communication between applications written in different languages. A .NET application can talk to another Java application. In doing so XML is the primary means of communication. To put it in a better way, SOAP is the 'protocol' followed in constructing those XML message. To make it simpler, SOAP defines the schema for a message to be sent via web services. To construct &amp;amp; interpret SOAP messages, we need to have SOAP engine. AXIS2 is, such a SOAP engine - and sometime goes beyond the original definition of a SOAP engine.&lt;br /&gt;&lt;br /&gt;AXIS2 enables it's users to carry out following tasks.&lt;br /&gt;&lt;br /&gt;1. Send SOAP messages&lt;br /&gt;2. Receive and process SOAP messages&lt;br /&gt;3. Create a Web service out of a plain Java class&lt;br /&gt;4. Create implementation classes for both server and client using WSDL&lt;br /&gt;5. Easily retrieve the WSDL for a service&lt;br /&gt;6. Send and receive SOAP messages with attachments&lt;br /&gt;7. Create or utilize a REST-based Web service&lt;br /&gt;8. Create or utilize services that take advantage of the &lt;a href="http://www.oasis-open.org/committees/download.php/16790/wss-v1.1-spec-os-SOAPMessageSecurity.pdf"&gt;WS-Security&lt;/a&gt;, &lt;a href="http://xml.coverpages.org/ws-reliablemessaging20030313.pdf"&gt;WS-ReliableMessaging&lt;/a&gt;, &lt;a href="http://www.w3.org/2002/ws/addr/"&gt;WS-Addressing&lt;/a&gt;, &lt;a href="http://dev2dev.bea.com/pub/a/2004/03/ws-coordination.html"&gt;WS-Coordination&lt;/a&gt;, and &lt;a href="ftp://www6.software.ibm.com/software/developer/library/WS-AtomicTransaction.pdf"&gt;WS-Atomic Transaction&lt;/a&gt; recommendations&lt;br /&gt;9. Use Axis2's modular structure to easily add support for new recommendations as they emerge.&lt;br /&gt;&lt;br /&gt;Whole set of BUZZ words ah? Nothing to worry about, we'll go through each &amp;amp; every one of them in my future posts. To start with following is a nice tutorial to follow: &lt;a href="http://people.apache.org/~thilina/axis2/docs/userguide.html"&gt;http://people.apache.org/~thilina/axis2/docs/userguide.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2559483330363930187-2859181667262560490?l=ws-axis2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ws-axis2.blogspot.com/feeds/2859181667262560490/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2559483330363930187&amp;postID=2859181667262560490' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2559483330363930187/posts/default/2859181667262560490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2559483330363930187/posts/default/2859181667262560490'/><link rel='alternate' type='text/html' href='http://ws-axis2.blogspot.com/2007/05/what-is-axis2.html' title='What is AXIS2?'/><author><name>Prabath Siriwardena</name><uri>http://www.blogger.com/profile/06640078923975441524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
