<?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>VT&#039;s Tech Blog &#187; Interoperability</title>
	<atom:link href="http://blogs.vinuthomas.com/category/programming/interoperability/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.vinuthomas.com</link>
	<description>A Tech Discovery Blog on PHP, Ajax, Security and Social Media.</description>
	<lastBuildDate>Wed, 01 Feb 2012 03:30:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Simple Cloud API for Cross-Cloud Implementations</title>
		<link>http://blogs.vinuthomas.com/2009/09/29/simple-cloud-api-for-cross-cloud-implementations/</link>
		<comments>http://blogs.vinuthomas.com/2009/09/29/simple-cloud-api-for-cross-cloud-implementations/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 06:18:29 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Interoperability]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/?p=1588</guid>
		<description><![CDATA[tree from Stock Photography Zend has launched the Simple Cloud project which allows PHP developers to write Cloud based apps without having to bother about the different cloud based solutions available. This works like an abstraction layer for various cloud solutions like Amazon, Windows Azure, Rackspace Cloud Hosting and a few more. Initially this project [...]]]></description>
			<content:encoded><![CDATA[<div class="crestock-img" style="margin: 1em; display: block;">
<div>
<dl class="wp-caption alignright" style="width: 290px;">
<dt class="wp-caption-dt"><img class=" " title="lonely tree and a cloudy sky - 3d illustration" src="/wp-content/uploads/crestockimages/181364-ms.jpg" alt="lonely tree and a cloudy sky - 3d illustration" width="280" height="210" /></dt>
<dd class="wp-caption-dd crestock-img-attribution" style="font-size: 0.8em;"><a href="http://www.crestock.com/image/181364-tree.aspx">tree</a> from <a href="http://www.crestock.com">Stock Photography</a></dd>
</dl>
</div>
</div>
<p>Zend has launched the Simple Cloud project which allows PHP developers to write Cloud based apps without having to bother about the different cloud based solutions available. This works like an abstraction layer for various cloud solutions like <a href="http://aws.amazon.com/">Amazon</a>, <a href="http://www.microsoft.com/azure/windowsazure.mspx">Windows Azure</a>, <a href="http://www.rackspacecloud.com/">Rackspace Cloud Hosting</a> and a few more.</p>
<p>Initially this project aims at providing standard cross-cloud simple APIs for</p>
<ul>
<li><a href="http://www.simplecloud.org/api/file-storage">File storage</a>- including Windows Azure blobs, Rackspace Cloud Files, Nirvanix Storage Delivery Network and Amazon S3</li>
<li><a href="http://www.simplecloud.org/api/document-storage">Document Storage</a>- including Windows Azure tables and Amazon SimpleDB</li>
<li><a href="http://www.simplecloud.org/api/simple-queue">Simple Queues</a>- including Amazon SQS and Windows Azure queues</li>
</ul>
<p>From Zend&#8217;s press release, &#8220;<em>Zend Cloud will also provide adapters for local services to make offline coding and testing against cloud services as easy as connected development.</em>&#8221;</p>
<p>These APIs will be appearing soon on the Zend Framework as the Zend Cloud component. They will provide the basic functionality across the various cloud hosting services, but if you do need vendor specific functionality in your code, Zend Framework will provide vendor-specific libraries as well. They&#8217;ve already got <a href="http://framework.zend.com/manual/en/zend.service.nirvanix.html">Nirvanix</a>, Amazon <a href="http://framework.zend.com/manual/en/zend.service.amazon.ec2.html">EC2</a>, <a href="http://framework.zend.com/manual/en/zend.service.amazon.s3.html">S3</a> and <a href="http://framework.zend.com/manual/en/zend.service.amazon.sqs.html">SQS</a> covered. Microsoft&#8217;s <a href="http://framework.zend.com/wiki/display/ZFPROP/Zend_Service_WindowsAzure+-+Maarten+Balliauw">proposed the WindowsAzure services</a> for Zend Framework. IBM and Rackspace are also working with Zend to get their services covered. With these integrations in motion, they estimate that ZendCloud adapter with these features will be available in the Zend Framework by end of Q4.</p>
<p>An initial Simple Cloud API proposal and reference implementation is available now for community review and participation at <a href="http://www.simplecloud.org/">http://www.simplecloud.org</a>.</p>
<p><strong>Links: </strong></p>
<p>Zend Press Release &#8211; <a href="http://www.zend.com/en/company/news/Press/zend-teams-with-ibm-microsoft-rackspace-and-other-cloud-leaders-on-open-source-initiative-to-drive-cloud-application-development">Zend Teams with IBM, Microsoft, Rackspace and Other Cloud Leaders on Open Source Initiative to Drive Cloud Application Development</a><br />
MSDN Interoperability Blog &#8211; <a href="http://blogs.msdn.com/interoperability/archive/2009/09/22/microsoft-zend-and-others-announce-simple-api-for-cloud-application-services.aspx">Microsoft, Zend and others announce Simple API for Cloud Application Services</a></p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/3dc58758-ae70-483f-91bc-636f4c7089a4/"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=3dc58758-ae70-483f-91bc-636f4c7089a4" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2009/09/29/simple-cloud-api-for-cross-cloud-implementations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fastrack with PHP on Windows</title>
		<link>http://blogs.vinuthomas.com/2009/09/14/fastrack-with-php-on-windows/</link>
		<comments>http://blogs.vinuthomas.com/2009/09/14/fastrack-with-php-on-windows/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 07:40:32 +0000</pubDate>
		<dc:creator>Vinu Thomas</dc:creator>
				<category><![CDATA[Interoperability]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[iis php]]></category>

		<guid isPermaLink="false">http://blogs.vinuthomas.com/?p=1573</guid>
		<description><![CDATA[This article is the start of a series of articles on how PHP interoperates with other technologies. When people think of PHP, the first thing people think of is LAMP. But PHP is not limited to the run just under Apache, you can have PHP run under various configurations, including the command line. Here&#8217;s the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogs.vinuthomas.com/wp-content/uploads/2009/09/interop.jpg" rel="lightbox[1573]"><img class="alignright size-medium wp-image-1575" title="interop" src="http://blogs.vinuthomas.com/wp-content/uploads/2009/09/interop-299x300.jpg" alt="interop" width="299" height="300" /></a>This article is the start of a series of articles on how PHP interoperates with other technologies. When people think of PHP, the first thing people think of is LAMP. But PHP is not limited to the run just under Apache, you can have PHP run under various configurations, including the command line. Here&#8217;s the first article in this series which shows you how to get PHP working in IIS.</p>
<p>A few weeks back I had attended the Virtual Tech Days events, specifically the Interop sessions. I was quite interested in seeing what Microsoft had to offer for  PHP developers. Going through the oveview of the programs, they seem to have come up with quite a few solutions for PHP developers. One of the important integrations for PHP is the ability to run PHP directly from IIS, as a FastCGI app, without having  to install Apache in Windows.<span id="more-1573"></span></p>
<p>To make this task of installing PHP under IIS as easy as possible, Microsoft has provided Microsoft Web Platform Installer, which helps you install PHP and other server modules required to create your Web Platform.  To get started all you have to do is to head over to <a href="http://php.iis.net/">http://php.iis.net/</a> and click on the install blue PHP button there. That launches the Microsoft Web Platform Installer interface which installs PHP along with  the required dependencies required. If you&#8217;re on Windows XP, you&#8217;ll need Service Pack 2 more above and .NET framework 2 on your PC. I was pleasantly surprised with the ease of setting it up. Even though PHP works under IIS 6.0, it&#8217;s recommended that you run PHP under IIS 7.0 since some of the additional modules you&#8217;ll need (like the URL rewriting) are available on IIS 7.0.</p>
<p style="text-align: center;"><a href="http://blogs.vinuthomas.com/wp-content/uploads/2009/09/php-iis-net.png" rel="lightbox[1573]"><img class="size-medium wp-image-1576  aligncenter" title="php.iis.net" src="http://blogs.vinuthomas.com/wp-content/uploads/2009/09/php-iis-net-300x149.png" alt="php.iis.net" width="300" height="149" /></a></p>
<p>The Microsoft Web Platform Installer installer works on Windows XP, Vista and Windows Server 2003 and 2008. Apart from installing the server components on your system,  this installer also gives you quick installation of popular web applications like WordPress, Moodle LMS and Acquia Drupal to get you kickstarted in creating solutions in PHP on Windows. To learn more about it, check out &#8211; <span><span><span><a href="http://www.microsoft.com/web/Downloads/platform.aspx">http://www.microsoft.com/web/Downloads/platform.aspx</a></span></span></span></p>
<p>At this point most LAMP developers would be asking the question – But how will my existing application port over to the new platfom? Microsoft does provide a few additional modules which priovide the same functionality on IIS:</p>
<p><strong>Rewriting the URL:</strong></p>
<p>If you are looking for a functionality which is similar to Apache&#8217;s mod_rewrite, which allows you to create custom URL, here&#8217;s the answer to your problem. URL Rewriter for IIS 7.0 helps you create such custom URLs through rules on IIS. You can install URL Rewriter for IIS using Microsoft Web Platform Installer as well. For more information and links to documentations on this module head over to:  <span><span><span><a href="http://www.iis.net/extensions/URLRewrite">http://www.iis.net/extensions/URLRewrite</a></span></span></span>.You can also import your existing Apache&#8217;s rewrite rules into IIS  using the URL Rewriter. Here&#8217;s an artice which shows you how: <span><span><span><a href="http://learn.iis.net/page.aspx/470/importing-apache-modrewrite-rules/">http://learn.iis.net/page.aspx/470/importing-apache-modrewrite-rules/</a></span></span></span></p>
<p><strong>.htaccess rules in IIS?</strong></p>
<p>Now how do you get all your .htaccess rules to work on IIS? To do this you&#8217;ll have to translate the rules which you created in .htaccess to IIS 7.0&#8242;s web.config settings. The web.config in IIS 7.0 uses an xml style syntax to define rules so you will have to translate you current .htaccess rules into this syntax. Here&#8217;s an article which helps you learn more on this process with examples to illustrate the transformations between the two formats- <span><span><span><a href="http://learn.iis.net/page.aspx/557/translating-htaccess-content-to-iis-webconfig/">http://learn.iis.net/page.aspx/557/translating-htaccess-content-to-iis-webconfig/</a></span></span></span></p>
<p><strong>PHP Extensions in Windows</strong></p>
<p>Now to get those PHP extensions which you use and love working on Windows. All PECL extensions for PHP (pecl.php.net) should work on Windows if you compile them. If you are looking for pre-compiled versions of these extensions for Windows, pecl4win.com used to host them earlier, but that seems to be down as of now. You can get some of the (unofficially) compiled PHP exenstions at: <span><span><span><a href="http://downloads.php.net/pierre/">http://downloads.php.net/pierre/</a></span></span></span></p>
<p>To install an PHP extension, you&#8217;ll need to download the dll file for the extension. Then find the path to your extension directory in your php.ini. The path to the extensions should come in the line starting with <strong>extension_dir. </strong><span>If this is not set in your php.ini, you can create a new entry by adding this line in your php.ini &#8211; </span></p>
<pre>extension_dir = c:/php/extensions/</pre>
<p><span>Now you can copy the PHP  extension dll&#8217;s you downloaded to this folder. To enable the extension you have to add the a line in php.ini in the following format: </span><strong>extension = abcde.dll</strong><span>,</span> w<span>here <em>abcde.dll</em> is the file name of the dll you downloaded to the PHP extension directory. Restart your webserver and check in your phpinfo() to see if your extension has been loaded.</span></p>
<p><strong>Improve your PHP Application&#8217;s Performance on IIS: </strong></p>
<p>Once you&#8217;ve got your application working on IIS, here&#8217;s how to supercharge it. To boost the performance of PHP on your installation, you should check out the Windows Cache Extension for PHP. One of the ways this extension helps your improve the performance of your PHP application is by keeping the complied PHP bytecodes in memory for faster access and resuing this for subsequent accesses to the same scripts. Caching the opcodes in memory also helps reduce i/o overheads required to fetch the php scripts when they are accessed. To learn more about Windows Cache Extension for PHP and the link to the Microsoft Web Platform Installer installer for this module head over to : <span><span><span><a href="http://www.iis.net/extensions/WinCacheForPHP">http://www.iis.net/extensions/WinCacheForPHP</a></span></span></span></p>
<p>All these tools and modules does ease the work of developers who need to deploy their applicatons in Windows without much effort. Overall, Microsoft has come a long way in getting PHP applications working on the Windows platform.</p>
<p>One you&#8217;ve got PHP working in Windows, you can start using the other Microsoft technologies like Silverlight for PHP and the PHP SDK for Azure. More on these topics in the upcoming series.</p>
<p><strong>Image Credits:</strong><br />
Lighthouse Image from:<a rel="cc:attributionURL" href="http://www.flickr.com/photos/derohlsen/">http://www.flickr.com/photos/derohlsen/</a> Licensed under <a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/2.0/">CC BY-NC-ND 2.0</a></p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/08164938-da19-4635-84d9-18be23a96afb/"><img class="zemanta-pixie-img" style="border: medium none ; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=08164938-da19-4635-84d9-18be23a96afb" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vinuthomas.com/2009/09/14/fastrack-with-php-on-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic (Feed is rejected)
Page Caching using disk: enhanced
Database Caching 1/14 queries in 0.005 seconds using disk: basic
Object Caching 365/385 objects using disk: basic

Served from: blogs.vinuthomas.com @ 2012-02-08 15:20:47 -->
