<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>baseplane - technology platforms &#187; standards</title>
	<atom:link href="http://baseplane.com/category/standards/feed/" rel="self" type="application/rss+xml" />
	<link>http://baseplane.com</link>
	<description>Technology Platforms, Architecture and Kits for all your codes by Ryan Christensen</description>
	<lastBuildDate>Thu, 12 Nov 2009 05:10:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>2009 CWE/SANS Top 25 Most Dangerous Programming Errors</title>
		<link>http://baseplane.com/2009/01/12/2009-cwesans-top-25-most-dangerous-programming-errors/</link>
		<comments>http://baseplane.com/2009/01/12/2009-cwesans-top-25-most-dangerous-programming-errors/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 17:44:35 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[mob]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[reliability]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://baseplane.com/?p=66</guid>
		<description><![CDATA[This is a handy list to have.  This is the top 25 most dangerous programming errors relating to the web and keeping websites (and user data) safe. Be sure when you are building and using frameworks that you do test or expect these types of behaviors.
The Top 25 is organized into three high-level categories that [...]]]></description>
			<content:encoded><![CDATA[<p>This is a handy list to have.  This is the <a href="http://cwe.mitre.org/top25/" target="_blank">top 25 most dangerous programming errors</a> relating to the web and keeping websites (and user data) safe. Be sure when you are building and using frameworks that you do test or expect these types of behaviors.</p>
<blockquote><p>The Top 25 is organized into three high-level categories that contain  multiple CWE entries.</p>
<h3>Insecure Interaction Between Components</h3>
<p>These weaknesses are related to insecure ways in which data is sent  and received between separate components, modules, programs, processes, threads, or systems.</p>
<ul>
<li><a href="http://cwe.mitre.org/top25/#CWE-20">CWE-20</a>: Improper Input Validation</li>
<li><a href="http://cwe.mitre.org/top25/#CWE-116">CWE-116</a>: Improper Encoding or Escaping of Output</li>
<li><a href="http://cwe.mitre.org/top25/#CWE-89">CWE-89</a>: Failure to Preserve SQL Query Structure (aka &#8216;SQL Injection&#8217;)</li>
<li><a href="http://cwe.mitre.org/top25/#CWE-79">CWE-79</a>: Failure to Preserve Web Page Structure (aka &#8216;Cross-site Scripting&#8217;)</li>
<li><a href="http://cwe.mitre.org/top25/#CWE-78">CWE-78</a>: Failure to Preserve OS Command Structure (aka &#8216;OS Command Injection&#8217;)</li>
<li><a href="http://cwe.mitre.org/top25/#CWE-319">CWE-319</a>: Cleartext Transmission of Sensitive Information</li>
<li><a href="http://cwe.mitre.org/top25/#CWE-352">CWE-352</a>: Cross-Site Request Forgery (CSRF)</li>
<li><a href="http://cwe.mitre.org/top25/#CWE-362">CWE-362</a>: Race Condition</li>
<li><a href="http://cwe.mitre.org/top25/#CWE-209">CWE-209</a>: Error Message Information Leak</li>
</ul>
<h3>Risky Resource Management</h3>
<p>The weaknesses in this category are related to ways in which software  does not properly manage the creation, usage, transfer, or destruction of important system resources.</p>
<ul>
<li><a href="http://cwe.mitre.org/top25/#CWE-119">CWE-119</a>: Failure to Constrain Operations within the Bounds of a Memory Buffer</li>
<li><a href="http://cwe.mitre.org/top25/#CWE-642">CWE-642</a>: External Control of Critical State Data</li>
<li><a href="http://cwe.mitre.org/top25/#CWE-73">CWE-73</a>: External Control of File Name or Path</li>
<li><a href="http://cwe.mitre.org/top25/#CWE-426">CWE-426</a>: Untrusted Search Path</li>
<li><a href="http://cwe.mitre.org/top25/#CWE-94">CWE-94</a>: Failure to Control Generation of Code (aka &#8216;Code Injection&#8217;)</li>
<li><a href="http://cwe.mitre.org/top25/#CWE-494">CWE-494</a>: Download of Code Without Integrity Check</li>
<li><a href="http://cwe.mitre.org/top25/#CWE-404">CWE-404</a>: Improper Resource Shutdown or Release</li>
<li><a href="http://cwe.mitre.org/top25/#CWE-665">CWE-665</a>: Improper Initialization</li>
<li><a href="http://cwe.mitre.org/top25/#CWE-682">CWE-682</a>: Incorrect Calculation</li>
</ul>
<h3>Porous Defenses</h3>
<p>The weaknesses in this category are related to defensive techniques  that are often misused, abused, or just plain ignored.</p>
<ul>
<li><a href="http://cwe.mitre.org/top25/#CWE-285">CWE-285</a>: Improper Access Control (Authorization)</li>
<li><a href="http://cwe.mitre.org/top25/#CWE-327">CWE-327</a>: Use of a Broken or Risky Cryptographic Algorithm</li>
<li><a href="http://cwe.mitre.org/top25/#CWE-259">CWE-259</a>: Hard-Coded Password</li>
<li><a href="http://cwe.mitre.org/top25/#CWE-732">CWE-732</a>: Insecure Permission Assignment for Critical Resource</li>
<li><a href="http://cwe.mitre.org/top25/#CWE-330">CWE-330</a>: Use of Insufficiently Random Values</li>
<li><a href="http://cwe.mitre.org/top25/#CWE-250">CWE-250</a>: Execution with Unnecessary Privileges</li>
<li><a href="http://cwe.mitre.org/top25/#CWE-602">CWE-602</a>: Client-Side Enforcement of Server-Side Security</li>
</ul>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://baseplane.com/2009/01/12/2009-cwesans-top-25-most-dangerous-programming-errors/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mono 2.0 Officially Released</title>
		<link>http://baseplane.com/2008/10/06/mono-20-officially-released/</link>
		<comments>http://baseplane.com/2008/10/06/mono-20-officially-released/#comments</comments>
		<pubDate>Mon, 06 Oct 2008 10:40:30 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[announcement]]></category>
		<category><![CDATA[baseplane]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[toolkits]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[2.0]]></category>
		<category><![CDATA[3.0]]></category>
		<category><![CDATA[3.5]]></category>
		<category><![CDATA[linq]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[multi-platform]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[source]]></category>

		<guid isPermaLink="false">http://baseplane.com/?p=56</guid>
		<description><![CDATA[Mono 2.0 the open source .NET framework has been released.  Mono has made it&#8217;s way into many great systems by now from websites to even 3d engines such as Unity3D. It is great to have a toolkit that is powerful, has a great language set from C# to Boo and that is available on multiple [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mono-project.com/Release_Notes_Mono_2.0" target="_blank">Mono 2.0</a> the open source .NET framework has been released.  Mono has made it&#8217;s way into many great systems by now from websites to even 3d engines such as <a href="http://unity3d.com/" target="_blank">Unity3D</a>. It is great to have a toolkit that is powerful, has a great language set from C# to Boo and that is available on multiple platforms.  From Windows, to *nix to of course Mac OSX built on unix, it all just works.</p>
<p>Having 2.0 solid and complete is a great step to making production apps run off of it.</p>
<h2 style="padding-left: 30px;">Microsoft Compatible APIs</h2>
<ul style="padding-left: 30px;">
<li> ADO.NET 2.0 API for accessing databases.</li>
</ul>
<ul style="padding-left: 30px;">
<li> ASP.NET 2.0 API for developing Web-based applications.</li>
</ul>
<ul style="padding-left: 30px;">
<li> Windows.Forms 2.0 API to create desktop applications.</li>
</ul>
<ul style="padding-left: 30px;">
<li> System.XML 2.0: An API to manipulate XML documents.</li>
</ul>
<ul style="padding-left: 30px;">
<li> System.Core: Provides support for the Language Integrated Query (LINQ).</li>
</ul>
<ul style="padding-left: 30px;">
<li> System.Xml.Linq: Provides a LINQ provider for XML.</li>
</ul>
<ul style="padding-left: 30px;">
<li> System.Drawing 2.0 API: A portable graphics rendering API.</li>
</ul>
<p style="padding-left: 30px;"><a name="Mono_APIs"></a></p>
<h2 style="padding-left: 30px;">Mono APIs</h2>
<ul style="padding-left: 30px;">
<li> Gtk# 2.12: A binding to the Gtk+ 2.12 and GNOME libraries for creating desktop applications on Linux, Windows and MacOS X.</li>
<li> Mono.Cecil: A library to manipulate ECMA CLI files (the native format used for executables and libraries).</li>
<li> Mono.Cairo: A binding to the Cairo Graphics library to produce 2D graphics and render them into a variety of forms (images, windows, postscript and PDF).</li>
<li> Mono&#8217;s SQLite support: a library to create and consume databases created with SQLite.</li>
<li> Mono.Posix: a library to access Linux and Unix specific functionality from your managed application. With both a low-level interface as well as higher level interfaces.</li>
</ul>
<p style="padding-left: 30px;"><a name="Third_Party_APIs_bundled_with_Mono"></a></p>
<h3 style="padding-left: 30px;">Third Party APIs bundled with Mono</h3>
<ul style="padding-left: 30px;">
<li> Extensive support for databases: PostgresSQL, DB2, Oracle, Sybase, SQL server, SQLite and Firebird.</li>
<li> C5 Generics Library: we are bundling the C5 generics collection class library as part of Mono.</li>
</ul>
<p style="padding-left: 30px;"><a name="Compilers"></a></p>
<h2 style="padding-left: 30px;">Compilers</h2>
<p style="padding-left: 30px;">These compilers are part of the Mono 2.0 release:</p>
<ul style="padding-left: 30px;">
<li> C# 3.0 compiler implementation, with full support for LINQ.</li>
<li> Visual Basic 8 compiler.</li>
<li style="padding-left: 30px;"> IL assembler and disassembler and the development toolchain required to create libraries and applications.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://baseplane.com/2008/10/06/mono-20-officially-released/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Mono Now Has .NET 3.0 Support and 3.5 Features like LINQ and Expression Trees</title>
		<link>http://baseplane.com/2008/07/25/mono-now-has-net-30-support-and-35-features-like-linq-and-expression-trees/</link>
		<comments>http://baseplane.com/2008/07/25/mono-now-has-net-30-support-and-35-features-like-linq-and-expression-trees/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 07:14:34 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[announcement]]></category>
		<category><![CDATA[baseplane]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[market formats]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[3.0]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[linq]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[platform]]></category>

		<guid isPermaLink="false">http://baseplane.com/?p=55</guid>
		<description><![CDATA[Great news!  Mono has made it to .NET 3.0 support and this includes some of the latest stuff like LINQ expressions.
I am pleased to announce that Mono C# compiler (gmcs) has now full C# 3.0 support. Most of the features has been available since Mono 1.2.6 release. However, with the upcoming Mono 2.0 release we [...]]]></description>
			<content:encoded><![CDATA[<p>Great news!  <a href="http://mareksafar.blogspot.com/2008/07/mono-c-compiler-gets-full-c-30-support.html" target="_blank">Mono has made it to .NET 3.0 support</a> and this includes some of the latest stuff like LINQ expressions.</p>
<blockquote><p>I am pleased to announce that Mono C# compiler (gmcs) has now full C# 3.0 support. Most of the features has been available since Mono 1.2.6 release. However, with the upcoming Mono 2.0 release <strong>we will also support complex LINQ expressions and mainly <a href="http://msdn.microsoft.com/en-us/library/bb397951.aspx">expression trees</a> which is fairly overlooked new feature with a lot of potential</strong>.</p>
<p>For anyone interested in compiling and running <a href="http://blogs.msdn.com/lukeh/archive/2007/10/01/taking-linq-to-objects-to-extremes-a-fully-linqified-raytracer.aspx">this</a> LukeH&#8217;s slightly extreme LINQ example I have good news. It compiles on Mono and it runs as fast as on .NET.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://baseplane.com/2008/07/25/mono-now-has-net-30-support-and-35-features-like-linq-and-expression-trees/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>REST Pattern</title>
		<link>http://baseplane.com/2008/06/30/rest-pattern/</link>
		<comments>http://baseplane.com/2008/06/30/rest-pattern/#comments</comments>
		<pubDate>Tue, 01 Jul 2008 03:00:19 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[baseplane]]></category>
		<category><![CDATA[generation]]></category>
		<category><![CDATA[mob]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[services]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[architect]]></category>
		<category><![CDATA[ontology]]></category>
		<category><![CDATA[platform]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[semantic]]></category>
		<category><![CDATA[unique]]></category>
		<category><![CDATA[uri]]></category>
		<category><![CDATA[web3]]></category>

		<guid isPermaLink="false">http://baseplane.com/?p=54</guid>
		<description><![CDATA[
UNIVERSITY OF CALIFORNIA, IRVINE
Architectural Styles and
the Design of Network-based Software Architectures
DISSERTATION
submitted in partial satisfaction of the requirements for the degree of
DOCTOR OF PHILOSOPHY
in Information and Computer Science
by
Roy Thomas Fielding
2000
Dissertation Committee:
Professor Richard N. Taylor, Chair
Professor Mark S. Ackerman
Professor David S. Rosenblum

PDF Editions

1-column for viewing online
2-column for printing

Table of Contents

Dedication
Acknowledgments
Curriculum Vitae
Abstract of the Dissertation
Introduction
CHAPTER 1: Software Architecture

1.1 [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>UNIVERSITY OF CALIFORNIA, IRVINE</p>
<h1>Architectural Styles and<br />
the Design of Network-based Software Architectures</h1>
<p>DISSERTATION</p>
<p>submitted in partial satisfaction of the requirements for the degree of</p>
<p>DOCTOR OF PHILOSOPHY</p>
<p>in Information and Computer Science</p>
<p>by</p>
<p><a href="http://www.ics.uci.edu/%7Efielding/">Roy Thomas Fielding</a></p>
<p>2000</p>
<p>Dissertation Committee:<br />
Professor Richard N. Taylor, Chair<br />
Professor Mark S. Ackerman<br />
Professor David S. Rosenblum</p>
</div>
<h2><a name="pdf">PDF Editions</a></h2>
<dl>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/fielding_dissertation.pdf">1-column for viewing online</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/fielding_dissertation_2up.pdf">2-column for printing</a></dd>
</dl>
<h2><a name="toc">Table of Contents</a></h2>
<dl>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/dedication.htm">Dedication</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/acknowledgments.htm">Acknowledgments</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/fielding_cv_2000.htm">Curriculum Vitae</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/abstract.htm">Abstract of the Dissertation</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/introduction.htm">Introduction</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/software_arch.htm">CHAPTER 1: Software Architecture</a>
<dl>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/software_arch.htm#sec_1_1">1.1 Run-time Abstraction</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/software_arch.htm#sec_1_2">1.2 Elements</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/software_arch.htm#sec_1_3">1.3 Configurations</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/software_arch.htm#sec_1_4">1.4 Properties</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/software_arch.htm#sec_1_5">1.5 Styles</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/software_arch.htm#sec_1_6">1.6 Patterns and Pattern Languages</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/software_arch.htm#sec_1_7">1.7 Views</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/software_arch.htm#sec_1_8">1.8 Related Work</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/software_arch.htm#sec_1_9">1.9 Summary</a></dd>
</dl>
</dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/net_app_arch.htm">CHAPTER 2: Network-based Application Architectures</a>
<dl>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/net_app_arch.htm#sec_2_1">2.1 Scope</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/net_app_arch.htm#sec_2_2">2.2 Evaluating the Design of Application Architectures</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/net_app_arch.htm#sec_2_3">2.3 Architectural Properties of Key Interest</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/net_app_arch.htm#sec_2_4">2.4 Summary</a></dd>
</dl>
</dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/net_arch_styles.htm">CHAPTER 3: Network-based Architectural Styles</a>
<dl>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/net_arch_styles.htm#sec_3_1">3.1 Classification Methodology</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/net_arch_styles.htm#sec_3_2">3.2 Data-flow Styles</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/net_arch_styles.htm#sec_3_3">3.3 Replication Styles</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/net_arch_styles.htm#sec_3_4">3.4 Hierarchical Styles</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/net_arch_styles.htm#sec_3_5">3.5 Mobile Code Styles</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/net_arch_styles.htm#sec_3_6">3.6 Peer-to-Peer Styles</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/net_arch_styles.htm#sec_3_7">3.7 Limitations</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/net_arch_styles.htm#sec_3_8">3.8 Related Work</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/net_arch_styles.htm#sec_3_9">3.9 Summary</a></dd>
</dl>
</dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/web_arch_domain.htm">CHAPTER 4: Designing the Web Architecture: Problems and Insights</a>
<dl>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/web_arch_domain.htm#sec_4_1">4.1 WWW Application Domain Requirements</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/web_arch_domain.htm#sec_4_2">4.2 Problem</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/web_arch_domain.htm#sec_4_3">4.3 Approach</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/web_arch_domain.htm#sec_4_4">4.4 Summary</a></dd>
</dl>
</dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/rest_arch_style.htm">CHAPTER 5: Representational State Transfer (REST)</a>
<dl>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/rest_arch_style.htm#sec_5_1">5.1 Deriving REST</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/rest_arch_style.htm#sec_5_2">5.2 REST Architectural Elements</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/rest_arch_style.htm#sec_5_3">5.3 REST Architectural Views</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/rest_arch_style.htm#sec_5_4">5.4 Related Work</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/rest_arch_style.htm#sec_5_5">5.5 Summary</a></dd>
</dl>
</dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/evaluation.htm">CHAPTER 6: Experience and Evaluation</a>
<dl>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/evaluation.htm#sec_6_1">6.1 Standardizing the Web</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/evaluation.htm#sec_6_2">6.2 REST Applied to URI</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/evaluation.htm#sec_6_3">6.3 REST Applied to HTTP</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/evaluation.htm#sec_6_4">6.4 Technology Transfer</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/evaluation.htm#sec_6_5">6.5 Architectural Lessons</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/evaluation.htm#sec_6_6">6.6 Summary</a></dd>
</dl>
</dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/conclusions.htm">Conclusions</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/references.htm">References</a></dd>
</dl>
<h2><a name="lof">List of Figures</a></h2>
<dl>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/rest_arch_style.htm#fig_5_1">Figure 5-1. Null Style</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/rest_arch_style.htm#fig_5_2">Figure 5-2. Client-Server</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/rest_arch_style.htm#fig_5_3">Figure 5-3. Client-Stateless-Server</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/rest_arch_style.htm#fig_5_4">Figure 5-4. Client-Cache-Stateless-Server</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/rest_arch_style.htm#fig_5_5">Figure 5-5. Early WWW Architecture Diagram</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/rest_arch_style.htm#fig_5_6">Figure 5-6. Uniform-Client-Cache-Stateless-Server</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/rest_arch_style.htm#fig_5_7">Figure 5-7. Uniform-Layered-Client-Cache-Stateless-Server</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/rest_arch_style.htm#fig_5_8">Figure 5-8. REST</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/rest_arch_style.htm#fig_5_9">Figure 5-9. REST Derivation by Style Constraints</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/rest_arch_style.htm#fig_5_10">Figure 5-10. Process View of a REST-based Architecture</a></dd>
</dl>
<h2><a name="lot">List of Tables</a></h2>
<dl>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/net_arch_styles.htm#tab_3_1">Table 3-1. Evaluation of Data-flow Styles for Network-based Hypermedia</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/net_arch_styles.htm#tab_3_2">Table 3-2. Evaluation of Replication Styles for Network-based Hypermedia</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/net_arch_styles.htm#tab_3_3">Table 3-3. Evaluation of Hierarchical Styles for Network-based Hypermedia</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/net_arch_styles.htm#tab_3_4">Table 3-4. Evaluation of Mobile Code Styles for Network-based Hypermedia</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/net_arch_styles.htm#tab_3_5">Table 3-5. Evaluation of Peer-to-Peer Styles for Network-based Hypermedia</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/net_arch_styles.htm#tab_3_6">Table 3-6. Evaluation Summary</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/rest_arch_style.htm#tab_5_1">Table 5-1. REST Data Elements</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/rest_arch_style.htm#tab_5_2">Table 5-2. REST Connectors</a></dd>
<dd><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/rest_arch_style.htm#tab_5_3">Table 5-3. REST Components</a></dd>
</dl>
<hr size="1" noshade="noshade" />
<table border="0" width="100%">
<tbody>
<tr>
<td align="left" valign="top"><em>[<a rel="next" href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/dedication.htm">Next</a>]</em></td>
<td align="center" valign="top">© <a href="http://www.ics.uci.edu/%7Efielding/">Roy Thomas Fielding</a>, 2000.  All rights reserved.</td>
<td align="right" valign="top"><em>[<a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/faq.htm">How to reference this work.</a>]</em></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://baseplane.com/2008/06/30/rest-pattern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Restlet RESTful Lightweight Kit for Java</title>
		<link>http://baseplane.com/2008/06/20/restlet-restful-lightweight-kit-for-java/</link>
		<comments>http://baseplane.com/2008/06/20/restlet-restful-lightweight-kit-for-java/#comments</comments>
		<pubDate>Sat, 21 Jun 2008 03:24:36 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[baseplane]]></category>
		<category><![CDATA[formal]]></category>
		<category><![CDATA[generation]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[market formats]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[services]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[toolkits]]></category>
		<category><![CDATA[utility]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jax]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[RESTful]]></category>
		<category><![CDATA[Restlet]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[servlet]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://baseplane.com/?p=52</guid>
		<description><![CDATA[Finally rest for all that boilerplate in Java.  At each turn of lots of Java frameworks you are bombarded with layers.  I felt this long ago and see it in the developers eyes that work with Java.  Java can be easy, it can be RESTful and it will make you look sharp.

Lightweight REST framework for [...]]]></description>
			<content:encoded><![CDATA[<p>Finally rest for all that boilerplate in Java.  At each turn of lots of Java frameworks you are bombarded with layers.  I felt this long ago and see it in the developers eyes that work with Java.  Java can be easy, it can be RESTful and it will make you look sharp.</p>
<p style="padding-left: 30px;"><a href="http://www.restlet.org/"><img src="http://farm4.static.flickr.com/3283/2597021628_8bbf4d5baa_o.gif" alt="" width="200" height="71" /></a></p>
<p style="padding-left: 30px;"><a href="http://www.restlet.org/" target="_blank"><strong>Lightweight REST framework for Java</strong></a></p>
<p class="welcome" style="padding-left: 30px;">Do you want to embrace the architecture of the Web and benefit from its simplicity and scalability? Leverage our innovative REST engine and start blending your Web Sites and Web Services into uniform Web Applications!</p>
<p class="welcome">Java is making things more lightweight now with lots of emerging kits that compete with other web ready platforms like Python, Ruby, .NET, PHP etc. After this many years things get bloated and need to be simplified.  I think this will start winning people over in this direction.</p>
]]></content:encoded>
			<wfw:commentRss>http://baseplane.com/2008/06/20/restlet-restful-lightweight-kit-for-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Common Baseplane Method to Caching &#8212; memcached</title>
		<link>http://baseplane.com/2008/05/27/the-common-baseplane-method-to-caching-memcached/</link>
		<comments>http://baseplane.com/2008/05/27/the-common-baseplane-method-to-caching-memcached/#comments</comments>
		<pubDate>Tue, 27 May 2008 18:11:43 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[baseplane]]></category>
		<category><![CDATA[generation]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rom]]></category>
		<category><![CDATA[services]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[toolkits]]></category>
		<category><![CDATA[utility]]></category>
		<category><![CDATA[apis]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[common]]></category>
		<category><![CDATA[layers]]></category>
		<category><![CDATA[memcached]]></category>

		<guid isPermaLink="false">http://baseplane.com/?p=51</guid>
		<description><![CDATA[If you have ever worked on a massively high trafficked website, you know that cache is very important to keeping the server count down and being a superhero to your database servers.  Cache can be bad and overly optimized but when you hit a certain threshold, relational databases, databases that are dimension modelled for [...]]]></description>
			<content:encoded><![CDATA[<p>If you have ever worked on a massively high trafficked website, you know that cache is very important to keeping the server count down and being a superhero to your database servers.  Cache can be bad and overly optimized but when you hit a certain threshold, relational databases, databases that are dimension modelled for data warehouse, and even server resources get exhausted.  At that point you have two options, buy more servers, or more likely, cache read data.</p>
<p>Each platform has their own way to do this, but there is a common baseplane way to do caching, yes even in .NET.  That is with memcached.  <strong><a href="http://www.danga.com/memcached/apis.bml" target="_blank">Memcached </a></strong>is a very common and useful tool that makes caching data and cache layers in an application something that can be the same on every platform. The benefit of using memcached is it is open, common and<a href="http://www.danga.com/memcached/apis.bml" target="_blank"> it has APIs for nearly every popular web development platform</a> (and can be wired in easily to platforms that don&#8217;t have their own cache mechanism).  Why write your caching layer specific to a certain platform when you can memcache?</p>
<p>If you write high performance web apps and don&#8217;t memcache, I feel bad for your server budget and your late nights when that ad buy hits or something popular on your site becomes all the rave.</p>
<h2>Perl API</h2>
<p>An object-oriented Perl module can be <a href="http://search.cpan.org/dist/Cache-Memcached/">found on CPAN</a> as <tt>Cache::Memcached</tt> or <a href="http://code.sixapart.com/svn/memcached/trunk/api/perl/"> in Subversion</a> (<a href="http://code.sixapart.com/svn/memcached/trunk/api/perl/ChangeLog">ChangeLog</a>). (GPL/Artistic)</p>
<p>The Perl API takes advantage of the server&#8217;s opaque flag support and sets its &#8220;complex&#8221; flag whenever the object being stored or retrieved isn&#8217;t a plain scalar.  In that case, the <tt>Storable</tt> module is used to freeze and thaw the value automatically going in and out of the memcached.</p>
<p>There is also Cache::Memcached::Fast&#8212;another Perl client written in C, largely compatible with the original Cache::Memcached. Available on CPAN at <a href="http://search.cpan.org/dist/Cache-Memcached-Fast/">http://search.cpan.org/dist/Cache-Memcached-Fast/</a>.</p>
<h2>PHP API</h2>
<p>There are tons of PHP libraries available, in different conditions.  But it now seems there&#8217;s an official one:</p>
<ul>
<li><a href="http://pecl.php.net/package/memcache">PHP PECL memcached client</a> &#8212; official PHP client</li>
</ul>
<h2>Python API</h2>
<p>The Python client we&#8217;d previously released was just a prototype, and we don&#8217;t have regular Python programmers on hand. The folks at Tummy.com have took over maintenance. See <a href="ftp://ftp.tummy.com/pub/python-memcached/">ftp://ftp.tummy.com/pub/python-memcached/</a> for the latest versions.</p>
<h2>Ruby API</h2>
<ul>
<li><a href="http://www.deveiate.org/code/Ruby-MemCache.html">http://www.deveiate.org/code/Ruby-MemCache.html</a></li>
<li>gem install memcache-client</li>
<li><a href="http://blog.evanweaver.com/files/doc/fauna/memcached/">http://blog.evanweaver.com/files/doc/fauna/memcached/</a>. C backed client wrapping libmemcached.</li>
</ul>
<h2>Java API</h2>
<p>A Java API is maintained by <a href="mailto:greg@meetup.com">Greg Whalin</a> from <a href="http://www.meetup.com/">Meetup.com</a>.  You can find that library here:</p>
<ul>
<li><a href="http://www.whalin.com/memcached/">http://www.whalin.com/memcached/</a> &#8212; Java API for memcached</li>
</ul>
<p>An improved Java API maintained by Dustin Sallings is also available. Aggressively optimised, ability to run async, supports binary protocol, etc. See site for details:</p>
<ul>
<li><a href="http://bleu.west.spy.net/%7Edustin/projects/memcached/">http://bleu.west.spy.net/~dustin/projects/memcached/</a> &#8212; Improved Java API for memcached</li>
</ul>
<h2>C# API</h2>
<p>There are multiple C# APIs:</p>
<ul>
<li><a href="https://sourceforge.net/projects/memcacheddotnet/">https://sourceforge.net/projects/memcacheddotnet/</a></li>
<li><a href="http://www.codeplex.com/EnyimMemcached/">http://www.codeplex.com/EnyimMemcached/</a> &#8211; Client developed in .NET 2.0 keeping performance and extensibility in mind. (Supports consistent hashing.)</li>
<li><a href="http://code.google.com/p/beitmemcached/">http://code.google.com/p/beitmemcached/</a> &#8211; Client developed by BeIT with many new features.</li>
</ul>
<h2>C API</h2>
<p>Multiple C libraries for memcached exist:</p>
<ul>
<li><a href="http://www.outoforder.cc/projects/libs/apr_memcache/">apr_memcache</a> by Paul Querna; Apache Software License version 2.0</li>
<li><a href="http://tangent.org/552/libmemcached.html">libmemcached</a> by Brian Aker; BSD license. This is a new library, under heavy development.</li>
<li><a href="http://people.freebsd.org/%7Eseanc/libmemcache/">libmemcache</a> by Sean Chittenden; BSD license. This is the original C library. It is no longer under active development. You should try libmemcached instead.</li>
</ul>
<h2>Postgres API</h2>
<p>The pgmemcache project allows you to access memcache servers from Postgresql Stored Procedures and Triggers.   More details and downloads are available at:</p>
<ul>
<li><a href="http://pgfoundry.org/projects/pgmemcache/">http://pgfoundry.org/projects/pgmemcache/</a></li>
</ul>
<h2>Chicken Scheme</h2>
<ul>
<li><a href="http://chicken.wiki.br/memcached">http://chicken.wiki.br/memcached</a> &#8212; Chicken Scheme library</li>
</ul>
<h2>Lua</h2>
<ul>
<li><a href="http://luamemcached.luaforge.net/">http://luamemcached.luaforge.net/</a> &#8212; Lua library</li>
</ul>
<h2>MySQL API</h2>
<p>The memcache_engine allows memcache to work as a storage engine to MySQL. This means that you can SELECT/UPDATE/INSERTE/DELETE from it as though it is a table in MySQL.</p>
<ul>
<li><a href="http://tangent.org/index.pl?node_id=506">memcache_engine</a></li>
</ul>
<p>A set of MySQL UDFs (user defined functions) to work with memcached using libmemcached.</p>
<ul>
<li><a href="http://tangent.org/586/Memcached_Functions_for_MySQL.html">MySQL UDFs for memcached</a></li>
</ul>
<h2>Protocol</h2>
<p>To write a new client, check out the <a href="http://code.sixapart.com/svn/memcached/trunk/server/doc/protocol.txt">protocol docs</a>.  Be aware that the most important part of the client is the hashing across multiple servers, based on the key, or an optional caller-provided hashing value.  Feel free to join the mailing list (or mail me directly) for help, inclusion in Subversion, and/or a link to your client from this site.</p>
<p>The best part, they support all good platforms and even Lua, and wisely they left out VB.NET, no worries, VB.NET&#8217;ers will never know.  Only kidding&#8230;</p>
<p><strong>Finally, memcached is distributed, most cache layers included with platforms listed above are in process and per machine.  If you are running your code on a webfarm memcached is the only way to go.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://baseplane.com/2008/05/27/the-common-baseplane-method-to-caching-memcached/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is Your .NET Application/Assembly Mono Ready?  Find Out With MoMa</title>
		<link>http://baseplane.com/2008/05/17/is-your-net-applicationassembly-mono-ready-find-out-with-moma/</link>
		<comments>http://baseplane.com/2008/05/17/is-your-net-applicationassembly-mono-ready-find-out-with-moma/#comments</comments>
		<pubDate>Sat, 17 May 2008 20:24:11 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[announcement]]></category>
		<category><![CDATA[baseplane]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[market formats]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[toolkits]]></category>
		<category><![CDATA[2.0.moonlight]]></category>
		<category><![CDATA[moma]]></category>
		<category><![CDATA[mono]]></category>

		<guid isPermaLink="false">http://baseplane.com/?p=49</guid>
		<description><![CDATA[Well Mono has finally reached 2.0.  This is great news!  .NET skills now can span *nix, OSX, and Windows platforms.  But is your app or assembly capable of running on Mono?  Find out with MoMa.
Of course this is just a heuristic check and only finds out if your application on the surface has issues [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jpobst.blogspot.com/2008/05/big-finale.html">Well Mono has finally reached 2.0. </a> This is great news!  .NET skills now can span *nix, OSX, and Windows platforms.  But is your app or assembly capable of running on Mono?  Find out with <a href="http://www.mono-project.com/MoMA" target="_blank">MoMa.</a></p>
<p>Of course this is just a heuristic check and only finds out if your application on the surface has issues with running on a mono platform such as calls to p/invoke to windows apis or unsafe code that uses native calls but it is a great place to start.</p>
<p>The <a href="http://www.mono-project.com/MoMA" target="_blank">Mono Migration Analyzer (MoMA) tool helps you identify issues</a> you may have when porting your .Net application to Mono. It helps pinpoint platform specific calls (P/Invoke) and areas that are not yet supported by the Mono project.</p>
<blockquote><p>While MoMA can help show potential issues, there are many complex factors that cannot be covered by a simple tool. MoMA may fail to point out areas that will cause problems, and may point out areas which will not actually be an issue.</p>
<p>Use the results provided as a guide to get you started on porting your application, but remember the true test is actually running your application on Mono.</p>
<p>For a description of the errors that MoMA detects and how to deal with them, see <a title="MoMA - Issue Descriptions" href="http://www.mono-project.com/MoMA_-_Issue_Descriptions">MoMA &#8211; Issue Descriptions</a>.</p></blockquote>
<p>I have recently been really interested in making platforms and applications that aren&#8217;t limited by the OS they are contained in.  Thus mono is a very interesting platform now that it supports 2.0 fully and all the generic goodness to limit boxing/unboxing, common code between .net 2.0 apps (which are pretty much mainstream now) and developing for more of a standard that ensures your apps are portable.</p>
<p>Granted .NET 3.0 and 3.5 (pretty much the same version really with the addition of new frameworks such as WCF, LINQ which is very cool and functional as well as Silverlight) but most places deployed code is still .NET 2.0 and the poor souls working on very constricting .NET 1.0 and 1.1.</p>
<p>Also, recently <a href="http://www.mono-project.com/Moonlight" target="_blank">Moonlight the Mono version of Silverlight</a> has been released for alpha.</p>
]]></content:encoded>
			<wfw:commentRss>http://baseplane.com/2008/05/17/is-your-net-applicationassembly-mono-ready-find-out-with-moma/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Baseplane Tool: Is PureMVC the Cross Platform MVC Toolkit You Have Been Looking For?</title>
		<link>http://baseplane.com/2008/03/29/is-puremvc-the-cross-platform-baseplane-mvc-toolkit-you-have-been-looking-for/</link>
		<comments>http://baseplane.com/2008/03/29/is-puremvc-the-cross-platform-baseplane-mvc-toolkit-you-have-been-looking-for/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 04:13:03 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[baseplane]]></category>
		<category><![CDATA[market formats]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[toolkits]]></category>
		<category><![CDATA[actionscript3]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[controller]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[puremvc]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[silverlight]]></category>
		<category><![CDATA[view]]></category>

		<guid isPermaLink="false">http://baseplane.com/2008/03/29/is-puremvc-the-cross-platform-baseplane-mvc-toolkit-you-have-been-looking-for/</guid>
		<description><![CDATA[PureMVC is quite a versatile MVC kit.  With implementations for AS3, .NET (c#), Python, PHP, Silverlight and other platforms it is quite a system and domain to spread that far and have consistency.  There are small changes but for the most post the MVC is the same structure across the platforms.  This can be very [...]]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://puremvc.org/" target="_blank">PureMVC</a> is quite a versatile MVC kit.</strong>  With implementations for AS3, .NET (c#), Python, PHP, Silverlight and other platforms it is quite a system and domain to spread that far and have consistency.  There are small changes but for the most post the MVC is the same structure across the platforms.  This can be very beneficial for a service firm or for a product base that needs to support many different platforms.</p>
<blockquote><p>PureMVC is a lightweight framework  for creating applications based<br />
upon the classic Model-View-Controller design meta-pattern.<br />
This free, open-source framework is implemented in ActionScript 2 and<br />
3, Java, C# and a number of other popular programming languages.<br />
This allows development on a wide variety of platforms including:</p>
<ul>
<li>Mobile Environments: FlashLite, .NET Compact Framework, J2ME</li>
<li>Server Environments: ColdFusion, J2EE, PHP, Python</li>
<li>Browser Environments: Flash/Flex, JavaFX, Silverlight</li>
<li>Desktop Environments: .NET, AIR, FLASH, J2SE</li>
</ul>
</blockquote>
<p><strong>For Flex </strong><strong><a href="http://puremvc.org/" target="_blank">PureMVC</a></strong><strong> happens to be my favorite MVC kit. </strong> I only use one if absolutely necessary but <strong><a href="http://puremvc.org/" target="_blank">PureMVC</a></strong> keeps it clean.  <strong>The great thing is that is works with or without Flex unlike <a href="http://labs.adobe.com/wiki/index.php/Cairngorm" target="_blank">Cairngorm</a> and it is always up to date. </strong> <strong>It is just an added bonus that is spans so many other platforms. </strong>There are a few things I don&#8217;t like about it in other platforms like the url naming but it is much better than kits out there now and <a href="http://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc-framework-part-1.aspx" target="_blank">Microsoft&#8217;s ASP.NET MVC</a> most likely wont&#8217; be cross platform *wink*.</p>
<h4><strong>Some info on the PureMVC framework (caution PDF):</strong></h4>
<ul>
<li><a href="http://puremvc.org/component/option,com_wrapper/Itemid,31/" class="mainlevel">Goals &amp; Benefits</a></li>
<li><a href="http://puremvc.org/component/option,com_wrapper/Itemid,34/" class="mainlevel" id="active_menu">Conceptual Diagram</a></li>
<li><a href="http://puremvc.org/component/option,com_wrapper/Itemid,35/" class="mainlevel">Framework Overview</a></li>
<li><a href="http://puremvc.org/component/option,com_wrapper/Itemid,30/" class="mainlevel">Best Practices</a></li>
</ul>
<h4><a href="http://trac.puremvc.org/PureMVC">PureMVC Manifold</a></h4>
<ul>
<li></li>
<li><a href="http://trac.puremvc.org/PureMVC/wiki/Documentation">Documentation</a></li>
<li><a href="http://trac.puremvc.org/PureMVC/wiki/ProjectOwners">Project Owners</a></li>
<li><a href="http://trac.puremvc.org/PureMVC/wiki/Repositories">Repositories</a></li>
<li><a href="http://trac.puremvc.org/PureMVC/wiki/Contribute">Get Involved!</a></li>
</ul>
<h4>Ports</h4>
<ul>
<li><a href="http://trac.puremvc.org/PureMVC_AS2/">ActionScript 2 </a></li>
<li><a href="http://trac.puremvc.org/PureMVC_AS3/">ActionScript 3 </a></li>
<li><a href="http://trac.puremvc.org/PureMVC_CSharp/">C#</a></li>
<li><a href="http://trac.puremvc.org/PureMVC_CF/">ColdFusion</a></li>
<li><a href="http://trac.puremvc.org/PureMVC_Java/">Java</a></li>
<li><a href="http://trac.puremvc.org/PureMVC_Perl/">Perl</a></li>
<li><a href="http://trac.puremvc.org/PureMVC_PHP/">PHP</a></li>
<li><a href="http://trac.puremvc.org/PureMVC_Python/">Python</a></li>
<li><a href="http://trac.puremvc.org/PureMVC_Ruby/">Ruby</a></li>
<li><a href="http://trac.puremvc.org/PureMVC/wiki/Contribute">Propose a Port</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://baseplane.com/2008/03/29/is-puremvc-the-cross-platform-baseplane-mvc-toolkit-you-have-been-looking-for/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Big O Notation in Design Theory</title>
		<link>http://baseplane.com/2008/03/22/big-o-notation-in-design-theory/</link>
		<comments>http://baseplane.com/2008/03/22/big-o-notation-in-design-theory/#comments</comments>
		<pubDate>Sun, 23 Mar 2008 02:01:26 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[baseplane]]></category>
		<category><![CDATA[formal]]></category>
		<category><![CDATA[market formats]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[chaos]]></category>
		<category><![CDATA[complexity]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[mathematics]]></category>
		<category><![CDATA[simulation]]></category>
		<category><![CDATA[theory]]></category>

		<guid isPermaLink="false">http://baseplane.com/2008/03/22/big-o-notation-in-design-theory/</guid>
		<description><![CDATA[Big O Notation is based on complexity theory and is something engineers and architects should know about do determine complexity and orders of magnitude in their data and scalability formal blueprints. Whenever you use any algorithm or port a formal function into code, math and reducing the orders of magnitude is what separates the fast [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Big_O_notation" target="_blank">Big O Notation is based on complexity theory</a> and is something engineers and architects should know about do determine complexity and orders of magnitude in their data and scalability formal blueprints. Whenever you use any algorithm or port a formal function into code, math and reducing the orders of magnitude is what separates the fast from really fast.</p>
<p>Optimization can be evil, but solid base starting points are desired.  Many times formal knowledge can be as needed as logical or physical separation and understanding service and standards format layering in your applications for the best evolution and versioning as well as performance. Formal engineering is what is separating companies like Google from the pack.  Do you do formal?</p>
<blockquote>
<h2><span class="mw-headline">Orders of common functions</span></h2>
<p>Here is a list of classes of functions that are commonly encountered when analyzing algorithms. All of these are as <em>n</em> increases to infinity. The slower-growing functions are listed first. <em>c</em> is an arbitrary constant.</p></blockquote>
<blockquote>
<table class="wikitable">
<tr>
<th>Notation</th>
<th>Name</th>
<th>Example</th>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/8/8/8/888824f927e3941162481ec1e6a80a4d.png" class="tex" alt="\mathcal{O}\left(1\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Constant" title="Constant">constant</a></td>
<td>Determining if a number is even or odd</td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/3/7/9/379f15e10978c0cc0c0496a3c9393435.png" class="tex" alt="\mathcal{O}\left(\alpha(n)\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Ackermann_function" title="Ackermann function">inverse Ackermann</a></td>
<td><a href="http://en.wikipedia.org/wiki/Amortized" class="mw-redirect" title="Amortized">Amortized</a> time per operation when using a <a href="http://en.wikipedia.org/wiki/Disjoint-set_data_structure" title="Disjoint-set data structure">disjoint-set (union-find) data structure</a></td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/d/f/f/dffc45a5565208e34bba3fbc0733d2c3.png" class="tex" alt="\mathcal{O}\left(\log^* n\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Iterated_logarithm" title="Iterated logarithm">iterated logarithmic</a></td>
<td>The <tt>find</tt> algorithm of <a href="http://en.wikipedia.org/wiki/John_Hopcroft" title="John Hopcroft">Hopcroft</a> and <a href="http://en.wikipedia.org/wiki/Jeffrey_Ullman" title="Jeffrey Ullman">Ullman</a> on a <a href="http://en.wikipedia.org/wiki/Disjoint_set_data_structure" class="mw-redirect" title="Disjoint set data structure">disjoint set</a></td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/e/9/7/e97bac4d94b3b4762ebc061cb65c3a09.png" class="tex" alt="\mathcal{O}\left(\log n\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Logarithm" title="Logarithm">logarithmic</a></td>
<td>Finding an item in a sorted list with the <a href="http://en.wikipedia.org/wiki/Binary_search_algorithm" title="Binary search algorithm">binary search algorithm</a></td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/4/1/b/41be8765d7c54f6de4119838182a958d.png" class="tex" alt="\mathcal{O}\left(\left(\log n\right)^c\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Polylogarithmic" title="Polylogarithmic">polylogarithmic</a></td>
<td>Deciding if <em>n</em> is prime with the <a href="http://en.wikipedia.org/wiki/AKS_primality_test" title="AKS primality test">AKS primality test</a></td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/1/1/a/11a23e0d7b520ccb078ffdc68abf019e.png" class="tex" alt="\mathcal{O}\left({n^c}\right), 0&lt;c&lt;1" /></td>
<td>fractional power</td>
<td>searching in a <a href="http://en.wikipedia.org/wiki/Kd-tree" title="Kd-tree">kd-tree</a></td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/4/f/f/4ffb6f36df8528cc63aa62b32c85ff7c.png" class="tex" alt="\mathcal{O}\left(n\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Linear" title="Linear">linear</a></td>
<td>Finding an item in an unsorted list</td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/0/6/b/06b794d6fc33d5aaae41ee7658a09898.png" class="tex" alt="\mathcal{O}\left(n\log n\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Linearithmic_function" title="Linearithmic function">linearithmic</a>, loglinear, or quasilinear</td>
<td>Sorting a list with <a href="http://en.wikipedia.org/wiki/Heapsort" title="Heapsort">heapsort</a>, computing a <a href="http://en.wikipedia.org/wiki/Fast_Fourier_transform" title="Fast Fourier transform">FFT</a></td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/9/e/9/9e90bf6de369140a3f217b76a787a854.png" class="tex" alt="\mathcal{O}\left({n^2}\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Quadratic_function" title="Quadratic function">quadratic</a></td>
<td>Sorting a list with <a href="http://en.wikipedia.org/wiki/Insertion_sort" title="Insertion sort">insertion sort</a>, computing a <a href="http://en.wikipedia.org/wiki/Discrete_Fourier_transform" title="Discrete Fourier transform">DFT</a></td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/8/5/1/851ab6e4b5df90b53198ca4965aee204.png" class="tex" alt="\mathcal{O}\left({n^c}\right), c&gt;1" /></td>
<td><a href="http://en.wikipedia.org/wiki/Polynomial" title="Polynomial">polynomial</a>, sometimes called algebraic</td>
<td>Finding the shortest path on a weighted digraph with the <a href="http://en.wikipedia.org/wiki/Floyd-Warshall_algorithm" class="mw-redirect" title="Floyd-Warshall algorithm">Floyd-Warshall algorithm</a></td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/6/9/c/69c1a2ea49668b91f25d3b008a688865.png" class="tex" alt="\mathcal{O}\left({c^n}\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Exponential_function" title="Exponential function">exponential</a>, sometimes called <a href="http://en.wikipedia.org/wiki/Geometric_progression" title="Geometric progression">geometric</a></td>
<td>Finding the (exact) solution to the <a href="http://en.wikipedia.org/wiki/Traveling_salesman_problem" class="mw-redirect" title="Traveling salesman problem">traveling salesman problem</a> (under the assumption that <a href="http://en.wikipedia.org/wiki/P_%3D_NP_problem" title="P = NP problem">P ≠ NP</a>)</td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/0/0/3/0036a08882d5bc4bc7609acbb0825be9.png" class="tex" alt="\mathcal{O}\left(n!\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Factorial" title="Factorial">factorial</a>, sometimes called combinatorial</td>
<td>Determining if two logical statements are equivalent<sup id="cite_ref-0" class="reference"><a href="http://en.wikipedia.org/wiki/Big_O_notation#cite_note-0">[1]</a></sup>, <a href="http://en.wikipedia.org/wiki/Traveling_salesman_problem" class="mw-redirect" title="Traveling salesman problem">traveling salesman problem</a>, or any other <a href="http://en.wikipedia.org/wiki/NP-complete" title="NP-complete">NP-complete</a> problem via <a href="http://en.wikipedia.org/wiki/Brute-force_search" title="Brute-force search">brute-force search</a>, finding the <a href="http://en.wikipedia.org/wiki/Determinant" title="Determinant">determinant</a> of a <a href="http://en.wikipedia.org/wiki/Matrix" title="Matrix">matrix</a> with <a href="http://en.wikipedia.org/wiki/Expansion_by_minors" class="mw-redirect" title="Expansion by minors">expansion by minors</a></td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/9/d/4/9d45984ac8901e89779a1d1dfe805142.png" class="tex" alt="\mathcal{O}\left({n^n}\right)" /></td>
<td>n to the n</td>
<td>&nbsp;</td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/0/6/7/0672d9675d512bd7e975d3b79c31b874.png" class="tex" alt="\mathcal{O}\left(c_1^{c_2^n}\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Double_exponential_function" title="Double exponential function">double exponential</a></td>
<td>Finding a complete set of associative-commutative unifiers<sup id="cite_ref-1" class="reference"><a href="http://en.wikipedia.org/wiki/Big_O_notation#cite_note-1">[2]</a></sup></td>
</tr>
</table>
<p>Not as common, but even larger growth is possible, such as the single-valued version of the <a href="http://en.wikipedia.org/wiki/Ackermann_function" title="Ackermann function">Ackermann function</a>, A(<em>n</em>,<em>n</em>). Conversely, extremely slowly-growing functions such as the inverse of this function, often denoted α(<em>n</em>), are possible. Although unbounded, these functions are often regarded as being constant factors for all practical purposes.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://baseplane.com/2008/03/22/big-o-notation-in-design-theory/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>JSON-RPC Implementations</title>
		<link>http://baseplane.com/2008/03/20/json-rpc-implementations/</link>
		<comments>http://baseplane.com/2008/03/20/json-rpc-implementations/#comments</comments>
		<pubDate>Thu, 20 Mar 2008 10:14:31 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[baseplane]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[market formats]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[services]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[toolkits]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[json-rpc]]></category>
		<category><![CDATA[platforms]]></category>
		<category><![CDATA[rpc]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[xml-rpc]]></category>

		<guid isPermaLink="false">http://baseplane.com/2008/03/20/json-rpc-implementations/</guid>
		<description><![CDATA[
     JSON-RPC is the answer to the argument that XML RPC is too verbose and bloated and convoluted.  JSON is just about as simple as you can get in data formats and it is becoming a great baseplane standard and is a tool that spans many platforms.
 &#8220;Does distributed computing have [...]]]></description>
			<content:encoded><![CDATA[<p class="wikipage">
<p id="searchable">     <a href="http://json-rpc.org/" target="_blank">JSON-RPC</a> is the answer to the argument that XML RPC is too verbose and bloated and convoluted.  JSON is just about as simple as you can get in data formats and it is becoming a great baseplane standard and is a tool that spans many platforms.</p>
<blockquote><p> &#8220;Does distributed computing have to be any harder than this? I don&#8217;t think so.&#8221;</p>
<p>Can it be even simpler ?</p>
<p>JSON-RPC is lightweight remote procedure call protocol similar to XML-RPC. It&#8217;s designed to be simple!</p>
<ul>
<li><a href="http://json-rpc.org/wiki/specification" class="wiki">specification</a></li>
<li><a href="http://json-rpc.org/wiki/python-json-rpc" class="wiki">python package</a> implementing JSON-RPC</li>
<li><a href="http://json-rpc.org/wiki/implementations" class="wiki">more implementations</a></li>
<li><a href="http://json-rpc.org/wiki/services" class="wiki">services</a></li>
<li><a href="http://json-rpc.org/wiki/about" class="wiki">about JSON-RPC</a></li>
</ul>
</blockquote>
<p id="searchable">
<h2 id="JavaScript">JavaScript<a href="http://json-rpc.org/wiki/implementations#JavaScript" title="Link to this section" class="anchor"> </a></h2>
<ul>
<li>There is a JSON-RPC implementations as part of JavaScript O Lait <a href="http://jsolait.net/" class="ext-link"><span class="icon">jsolait</span></a>.<br />
You can also find some live <a href="http://jsolait.net/wiki/examples" class="ext-link"><span class="icon">examples</span></a></li>
<li>The <a href="http://sourceforge.net/projects/teleport/" class="ext-link"><span class="icon">Open Source TelePort Library</span></a> supports JSON-RPC as well as other RPC protocols.<br />
Live demos and documentation can be found <a href="http://www.javeline.org/modules/products/teleport.php" class="ext-link"><span class="icon">here</span></a>.</li>
<li><a href="http://oss.metaparadigm.com/jsonrpc/" class="ext-link"><span class="icon">JSON-RPC to Java bridge</span></a> includes a JavaScript client.</li>
<li><a href="http://dojotoolkit.org/" class="ext-link"><span class="icon">Dojo Toolkit 0.3</span></a> implements JSON RPC.</li>
<li><a href="http://code.google.com/p/json-xml-rpc/" class="ext-link"><span class="icon">JSON/XML-RPC Client Implementation</span></a> which abstracts-away the differences between JSON-RPC and XML-RPC and permits cross-site requests.</li>
</ul>
<h2 id="C">C<a href="http://json-rpc.org/wiki/implementations#C" title="Link to this section" class="anchor"> </a></h2>
<ul>
<li><a href="http://www.big-llc.com/Wiki.jsp?page=Products.JSONRPCLibrary" class="ext-link"><span class="icon">JSON-RPC C Bridge</span></a>. There is also support for <a href="http://www.goahead.com/webserver/webserver.htm" class="ext-link"><span class="icon">GoAhead WebServers</span></a>.</li>
</ul>
<h2 id="C1">C#<a href="http://json-rpc.org/wiki/implementations#C1" title="Link to this section" class="anchor"> </a></h2>
<ul>
<li><a href="http://jayrock.berlios.de/" class="ext-link"><span class="icon">.NET and ASP.NET</span></a></li>
</ul>
<h2 id="Erlang">Erlang<a href="http://json-rpc.org/wiki/implementations#Erlang" title="Link to this section" class="anchor"> </a></h2>
<ul>
<li><a href="http://yaws.hyber.org/json_intro.yaws" class="ext-link"><span class="icon">YAWS JSON-RPC module (HTTP client/server)</span></a></li>
</ul>
<h2 id="Java">Java<a href="http://json-rpc.org/wiki/implementations#Java" title="Link to this section" class="anchor"> </a></h2>
<ul>
<li><a href="http://oss.metaparadigm.com/jsonrpc/" class="ext-link"><span class="icon">JSON-RPC to Java bridge</span></a></li>
<li><a href="http://jrp.sourceforge.net/" class="ext-link"><span class="icon">JRP</span></a></li>
</ul>
<h2 id="Lisp">Lisp<a href="http://json-rpc.org/wiki/implementations#Lisp" title="Link to this section" class="anchor"> </a></h2>
<ul>
<li><a href="http://common-lisp.net/project/cl-json/" class="ext-link"><span class="icon">Common Lisp</span></a></li>
</ul>
<h2 id="Lua">Lua<a href="http://json-rpc.org/wiki/implementations#Lua" title="Link to this section" class="anchor"> </a></h2>
<ul>
<li><a href="http://json.luaforge.net/" class="ext-link"><span class="icon">Lua</span></a></li>
</ul>
<h2 id="Perl">Perl<a href="http://json-rpc.org/wiki/implementations#Perl" title="Link to this section" class="anchor"> </a></h2>
<ul>
<li><a href="http://www.catalystframework.org/" class="ext-link"><span class="icon">Catalyst</span></a> using the <a href="http://search.cpan.org/%7Emiyagawa/Catalyst-Plugin-JSONRPC-0.01/lib/Catalyst/Plugin/JSONRPC.pm" class="ext-link"><span class="icon">JSONRPC plugin</span></a></li>
<li><a href="http://search.cpan.org/dist/JSON/" class="ext-link"><span class="icon">JSON module</span></a></li>
</ul>
<h2 id="Php">Php<a href="http://json-rpc.org/wiki/implementations#Php" title="Link to this section" class="anchor"> </a></h2>
<ul>
<li><a href="http://mike.teczno.com/json.html" class="ext-link"><span class="icon">JSON-PHP</span></a></li>
<li><a href="http://www.aurore.net/projects/php-json/" class="ext-link"><span class="icon">php-json</span></a></li>
<li><a href="http://phpolait.sourceforge.net/" class="ext-link"><span class="icon">PHP-O-Lait</span></a></li>
<li><a href="http://phpxmlrpc.sourceforge.net/" class="ext-link"><span class="icon">Phpxmlrpc</span></a> (in the &#8216;extras&#8217; package)</li>
<li><a href="http://pecl.php.net/package/sca_sdo" class="ext-link"><span class="icon">SCA_SDO Pecl Package</span></a></li>
<li><a href="http://jsonphp.com/" class="ext-link"><span class="icon">JSON_RPC_Server, a JSON-RPC implementation in PHP</span></a></li>
<li><a href="http://code.google.com/p/json-xml-rpc/" class="ext-link"><span class="icon">JSON/XML-RPC Server Implementation</span></a> which abstracts-away the differences between JSON-RPC and XML-RPC.</li>
</ul>
<h2 id="Python">Python<a href="http://json-rpc.org/wiki/implementations#Python" title="Link to this section" class="anchor"> </a></h2>
<ul>
<li><a href="http://json-rpc.org/wiki/python-json-rpc" class="wiki">A python package</a> which implements the JSON-RPC specs. It includes an mod_python handler, a CGIHandler, a TCP server and (soon) a ServiceProxies implementation.</li>
<li><a href="http://www.cherrypy.org/wiki/CherryJsonRpc" class="ext-link"><span class="icon">CherryPy (python)</span></a></li>
<li><a href="http://www.zope.org/Members/ree/jsonserver2" class="ext-link"><span class="icon">Zope 2</span></a></li>
<li><a href="http://zif.hill-street.net/jsonserve" class="ext-link"><span class="icon">Zope 3</span></a></li>
<li><a href="http://projects.adytum.us/tracs/JSON-RPC" class="ext-link"><span class="icon">Twisted JSON-RPC</span></a> &#8211; Web, Web2, and TCP</li>
</ul>
<h2 id="Ruby">Ruby<a href="http://json-rpc.org/wiki/implementations#Ruby" title="Link to this section" class="anchor"> </a></h2>
<ul>
<li><a href="http://orbjson.rubyforge.org/" class="ext-link"><span class="icon">Ruby</span></a></li>
</ul>
<h2 id="Frameworks">Frameworks<a href="http://json-rpc.org/wiki/implementations#Frameworks" title="Link to this section" class="anchor"> </a></h2>
<ul>
<li><a href="http://www.catalystframework.org/" class="ext-link"><span class="icon">Catalyst (Perl)</span></a> using the <a href="http://search.cpan.org/%7Emiyagawa/Catalyst-Plugin-JSONRPC-0.01/lib/Catalyst/Plugin/JSONRPC.pm" class="ext-link"><span class="icon">JSONRPC plugin</span></a></li>
<li><a href="http://www.cherrypy.org/wiki/CherryJsonRpc" class="ext-link"><span class="icon">CherryPy (python)</span></a></li>
<li><a href="http://jrp.sourceforge.net/" class="ext-link"><span class="icon">JRP</span></a></li>
<li><a href="http://jayrock.berlios.de/" class="ext-link"><span class="icon">.NET and ASP.NET</span></a></li>
<li><a href="http://www.zope.org/Members/ree/jsonserver2" class="ext-link"><span class="icon">Zope 2</span></a></li>
<li><a href="http://zif.hill-street.net/jsonserve" class="ext-link"><span class="icon">Zope 3</span></a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://baseplane.com/2008/03/20/json-rpc-implementations/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
