<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://www.informix-zone.com" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>The Informix Zone - development</title>
 <link>http://www.informix-zone.com/taxonomy/term/20/0</link>
 <description></description>
 <language>en</language>
<item>
 <title>IBM strengthens Informix-Team with Young Professionals</title>
 <link>http://www.informix-zone.com/node/595</link>
 <description>&lt;h1&gt;IBM strengthens Informix-Team with Young Professionals&lt;/h1&gt;
&lt;p&gt;&lt;img src=&quot;/files/graphics/jannis.png &quot;/&gt;&lt;/p&gt;
&lt;p&gt;IBM reacts to the heavy demand for Informix Dynamic Server, which was voted the product with the &lt;b&gt;highest customer satisfaction&lt;/b&gt; in a &lt;a href=&quot;/vendorrate-informix&quot;&gt;recent survey&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I am glad to introduce &lt;b&gt;Jannis Dorlöchter&lt;/b&gt; on &lt;i&gt;The Informix-Zone&lt;/i&gt; who will start, as of now, as a &lt;b&gt;Technical Enablement Consultant&lt;/b&gt;. Jannis is assigned to the IBM Lab in Böblingen, Germany.&lt;/p&gt;
&lt;p&gt;Jannis successfully graduated this year September with a German Diploma-Degree (Berufsakademie) in Applied Computer Science.&lt;br /&gt;
He wrote his final year thesis with the title &lt;i&gt;Feedback Based Database Statistics for Informix Dynamic Server&lt;/i&gt; in North San José, California, where he was directly integrated into the &lt;b&gt;Informix-Development Team&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;Since October, he is dedicated to the &lt;b&gt;Informix Business Partner Enablement&lt;/b&gt; for the corresponding regions of the IOTs NE, SW &amp;amp; CEEMEA. His responsibility is to support &lt;b&gt;Independent Software Vendors&lt;/b&gt; (ISVs) with their implementation and development of &lt;b&gt;Informix based solutions&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;Jannis extends the Data Management Business Partner Enablement Team from Dittmar Hägele. This team, which operates  from Böblingen (Germany), already supports other Information Management products and  is part of a worldwide Partner Support Organization that is directly attached to Development. &lt;/p&gt;
&lt;p&gt;Through Jannis, the &lt;b&gt;European partners&lt;/b&gt; will receive valuable support for the planning and enablement of their Informix-based solutions.&lt;/p&gt;
&lt;p&gt;Jannis&#039; Email-Address is: &lt;a href=&quot;mailto:jannis.dorloechter@de.ibm.com&quot;&gt;jannis.dorloechter@de.ibm.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Use this new Informix-Resource for your business! &lt;b&gt;INFORMIX is on the rise again!&lt;/b&gt;&lt;br /&gt;
&lt;hr&gt;&lt;br /&gt;
&lt;img src=&quot;/files/german.gif&quot; /&gt; (&lt;i&gt;german content&lt;/i&gt;)&lt;/p&gt;
&lt;h1&gt;IBM verstärkt Informix-Team mit Nachwuchskräften&lt;/h1&gt;
&lt;p&gt;IBM reagiert auch hier in Deutschland auf die starke Nachfrage nach dem &lt;b&gt;I&lt;/b&gt;nformix &lt;b&gt;D&lt;/b&gt;ynamic &lt;b&gt;S&lt;/b&gt;erver, der in einer &lt;a href=&quot;/node/592&quot;&gt;aktuelle Umfrage&lt;/a&gt; die &lt;b&gt;höchste Kundenzufriedenheit&lt;/b&gt; aller Produkte erzielte. Ich freue mich &lt;b&gt;Jannis Dorlöchter&lt;/b&gt;, der ab sofort als &lt;b&gt;Technical Enablement Consultant&lt;/b&gt; tätig ist, auf der &lt;i&gt;Informix Zone&lt;/i&gt; vorstellen zu dürfen. Jannis ist dem &lt;b&gt;IBM Labor&lt;/b&gt; in Böblingen zugeordnet.&lt;/p&gt;
&lt;p&gt;Jannis hat im September diesen Jahres sein BA-Studium erfolgreich als Diplom-Informatiker (BA) in der Fachrichtung Angewandte Informatik abgeschlossen. Seine Diplomarbeit mit dem Titel &lt;i&gt;Feedback Based Database Statistics for Informix Dynamic Server&lt;/i&gt; erstellte er in North San José, Kalifornien und war dort direkt in das &lt;b&gt;Informix-Entwicklungsteam&lt;/b&gt; integriert.&lt;/p&gt;
&lt;p&gt;Seit Oktober ist er für das &lt;b&gt;Informix Business Partner Enablement&lt;/b&gt; im Bereich der IOTs NE, SW &amp;amp; CEEMEA zuständig.&lt;br /&gt;
Seine Aufgabe besteht darin, &lt;b&gt;Independent Software Vendors&lt;/b&gt; (ISVs) bei der Implementierung und Entwicklung von &lt;b&gt;Informix basierten Lösungen&lt;/b&gt; zu unterstützen. &lt;/p&gt;
&lt;p&gt;Jannis verstärkt das Data Management Business Partner Enablement Team von Dittmar Hägele. Neben Informix werden aus dem Böblinger Team auch wichtige Partner in anderen Produktfeldern unterstützt. Das Team in Böblingen ist Bestandteil einer weltweiten Partner Support Organisation und direkt dem Development zugeordnet. &lt;/p&gt;
&lt;p&gt;Durch Jannis finden nun auch die für den &lt;b&gt;europäischen Raum&lt;/b&gt; wichtigen Partner Unterstützung bei der Planung und beim Enablement ihrer Informix basierten Lösungen.&lt;/p&gt;
&lt;p&gt;Jannis Email-Adresse lautet: &lt;a href=&quot;mailto:jannis.dorloechter@de.ibm.com&quot;&gt;jannis.dorloechter@de.ibm.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Nutzen Sie diese neue Informix-Ressource für Ihr Business, denn &lt;b&gt;INFORMIX ist wieder angesagt !&lt;/b&gt;&lt;/p&gt;
</description>
 <comments>http://www.informix-zone.com/node/595#comment</comments>
 <category domain="http://www.informix-zone.com/taxonomy/term/20">development</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/178">isv</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/122">sales</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/86">support</category>
 <pubDate>Wed, 22 Oct 2008 09:04:51 +0200</pubDate>
 <dc:creator>eherber</dc:creator>
 <guid isPermaLink="false">595 at http://www.informix-zone.com</guid>
</item>
<item>
 <title>Start Developing with the Linux/IDS Virtual Appliance</title>
 <link>http://www.informix-zone.com/ids-appliance</link>
 <description>&lt;h1&gt;Start Developing with the Linux/IDS Virtual Appliance&lt;/h1&gt;
&lt;p&gt;&lt;img src=&quot;/files/graphics/ibm_linux.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Amazing news for developers ! The IBM/Informix team has created a &lt;a target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Virtual_appliance&quot;&gt;virtual appliance&lt;/a&gt; based on &lt;b&gt;VMWare&lt;/b&gt; and &lt;b&gt;Suse Linux&lt;/b&gt;. The appliance allows developers to get familiar with INFORMIX technology and immediately start the development of applications that work with this superior IBM data server. &lt;/p&gt;
&lt;p&gt;You can find more detailed information about the &lt;b&gt;IDS Virtual Appliance&lt;/b&gt; at Guy&#039;s Blog:&lt;/p&gt;
&lt;ul class=&quot;ra&quot;&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.ibm.com/developerworks/blogs/page/gbowerman?entry=the_informix_virtual_appliance&quot;&gt;Guy Bowerman: The Informix virtual appliance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://www14.software.ibm.com/webapp/iwm/web/reg/download.do?source=swg-informixfpd&amp;amp;S_PKG=dl&quot;&gt;Download: The Informix virtual appliance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Heise (Germany): &lt;a target=&quot;_blank&quot; href=&quot;http://www.heise.de/newsticker/Virtuelles-Informix-11-5-fuer-Entwickler--/meldung/117667&quot;&gt;Virtuelles Informix 11.5 für Entwickler&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://www14.software.ibm.com/webapp/iwm/web/reg/download.do?source=swg-informixfpd&amp;amp;S_PKG=dl&quot;&gt;&lt;img src=&quot;/files/graphics/ids_vm.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Isn&#039;t it time for you to move to the world&#039;s &lt;a href=&quot;/oninit-openpsl-survey&quot;&gt;most reliable data server&lt;/a&gt; that achieved the &lt;b&gt;highest customer satisfaction&lt;/b&gt; from all products in a &lt;a href=&quot;/node/592&quot;&gt;recent survey&lt;/a&gt; ?&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;/ids-positioning&quot;&gt;IDS&lt;/a&gt; is among IBM&#039;s &lt;b&gt;top selling products&lt;/b&gt; and the &lt;b&gt;driving force&lt;/b&gt; behind the growth in IBM&#039;s database business. Convince yourself why INFORMIX is the &lt;b&gt;best choice&lt;/b&gt; for database application development !&lt;/p&gt;
</description>
 <comments>http://www.informix-zone.com/ids-appliance#comment</comments>
 <category domain="http://www.informix-zone.com/taxonomy/term/177">appliance</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/20">development</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/45">ids</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/21">linux</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/15">technical</category>
 <pubDate>Sun, 19 Oct 2008 11:02:15 +0200</pubDate>
 <dc:creator>eherber</dc:creator>
 <guid isPermaLink="false">594 at http://www.informix-zone.com</guid>
</item>
<item>
 <title>Why choose IDS?</title>
 <link>http://www.informix-zone.com/node/563</link>
 <description>&lt;p&gt;&lt;em&gt;I discovered a new blogger today. &lt;a href=&quot;http://www.25hoursaday.com/weblog/2008/09/08/The3LawsOfPlatformAdoptionWhyDevelopersChoosePlatformsAndWhatItMeansToYou.aspx&quot;&gt;This post&lt;/a&gt; was pointed out to me by another IBMer:&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;There are three main benefits adoption of one platform over another can offer a developer. These benefits are captured in the following &quot;laws&quot; of platform adoption&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;u&gt;Developers adopt a platform when it offers differentiation from competitors:&lt;/u&gt; In competitive software markets, building an application that stands out from the crowd is important. Platforms or technologies that enable developers to provide features that are unique to the application, even just temporarily, are thus valuable to developers in such markets. Typically, if these features are truly valuable to end users this leads to a &quot;keeping up with the Joneses&quot; effect where the majority applications in that space eventually adopt this platform. Recent examples of this include &lt;a href=&quot;http://en.wikipedia.org/wiki/Flash_Video&quot;&gt;Flash video&lt;/a&gt;, &lt;a href=&quot;http://adaptivepath.com/ideas/essays/archives/000385.php&quot;&gt;AJAX&lt;/a&gt; and the &lt;a href=&quot;http://www.flickr.com/services/api/&quot;&gt;Flickr API&lt;/a&gt;. &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;u&gt;&lt;u&gt;Developers adopt a platform when it &lt;/u&gt;reduces the cost of software development:&lt;/u&gt; Building software is a labor intensive, complicated and error prone process &lt;a title=&quot;Coding Horror: The Long, Dismal History of Software Project Failure&quot; href=&quot;http://www.codinghorror.com/blog/archives/000588.html&quot;&gt;which often results in failure&lt;/a&gt;. This makes software development an expensive undertaking. Platforms which reduce the cost of development are thus very valuable to developers. Platforms like Java and the .NET Framework reduced the cost of software development compared to building applications using C and C++. In recent years, platforms based on dynamic languages such as Ruby On Rails and Django have become increasingly popular for building Web applications as they offer simpler development options compared to using &quot;enterprise&quot; platforms like Java. &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;u&gt;&lt;u&gt;Developers adopt a platform when it &lt;/u&gt;provides reach and/or better distribution:&lt;/u&gt; Every platform choice places a limit on which users the developer can reach. Building a Facebook application limits you to building applications for Facebook users, building an iPhone application limits you to people running Apple&#039;s phone and building an AJAX application limits you to users of modern browsers who don&#039;t have JavaScript disabled. In all of the aforementioned cases, the reach of the application platform is in the millions of users. Additionally, in all of the aforementioned cases there are alternative platforms that developers could choose that do not as many addressable end users and thus have less reach.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Distribution is another value add that modern platforms have begun to offer which augments the reach of the platform. The Facebook platform offers &lt;a href=&quot;http://www.insidefacebook.com/2007/10/22/new-data-on-facebook-application-virality/&quot;&gt;several viral distribution mechanisms for applications&lt;/a&gt; which enables applications to get noticed by end users and spread organically among users without explicit action by the developer. The Apple iPhone has the &lt;a href=&quot;http://www.apple.com/iphone/appstore/&quot;&gt;App Store&lt;/a&gt; which is the single, well-integrated entry point for users to discover and purchase applications for the device. Thus even though the iPhone may have users than other smart phone platforms, targeting the iPhone platform may still be more attractive than targeting other platforms due to its superior distribution channel for applications built on its platform.&amp;nbsp; &lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Sometimes developers adopt platforms due to external effects such as management mandate or peer pressure but even in these cases the underlying justification is usually one or more of the benefits above. These laws mean different things for the various participants in the software ecosystem. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;For software vendors, they clarify that delivering a software platform isn&#039;t just about delivering a technology or a set of APIs. The value proposition to developers with regards to the three laws of adoption must be clearly shown to get developers to accept the platform. Smart platform vendors should pick one or more of these axes as the value proposition of their platform and hammer it home. Good examples of these approaches include how &lt;a title=&quot;TechCrunch: OpenSocial Now Reaches 350 Million Users, And Growing&quot; href=&quot;http://www.techcrunch.com/2008/08/20/opensocial-now-reaches-350-million-users-and-growing/&quot;&gt;Google has been hammering home the &#039;reach&#039; benefit of adopting OpenSocial&lt;/a&gt; or &lt;a title=&quot;The Pragmatic Bookshelf: What&#039;s all this fuss about Erlang?&quot; href=&quot;http://www.pragmaticprogrammer.com/articles/erlang.html&quot;&gt;how Erlang evangelists have been pitching it as a solution to the multicore crises&lt;/a&gt; given that building concurrent applications is still an expensive endeavor in today&#039;s popular programming languages.&amp;nbsp; &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;For developers, they explain how to evaluate a platform and why some platforms get traction among their peers while others do not. So if you are a fan of the Common Lisp or &lt;a href=&quot;http://pownce.com/api/&quot;&gt;the Pownce API&lt;/a&gt;, these laws of platform adoption explain why developers have flocked to other platforms in their stead. &lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;em&gt;So, given that IDS can do things that no other database can, can reduce the TCO of a sale significantly by making much more efficient use of hardware and given that you can draw on IBM&#039;s massive reach to help sell your application, why aren&#039;t you using IDS yet?&lt;/em&gt;&lt;/p&gt;
</description>
 <comments>http://www.informix-zone.com/node/563#comment</comments>
 <category domain="http://www.informix-zone.com/taxonomy/term/20">development</category>
 <pubDate>Tue, 16 Sep 2008 18:51:33 +0200</pubDate>
 <dc:creator>Spokey</dc:creator>
 <guid isPermaLink="false">563 at http://www.informix-zone.com</guid>
</item>
<item>
 <title>Extending the Open Admin Tool (OAT)</title>
 <link>http://www.informix-zone.com/node/536</link>
 <description>&lt;h1&gt;Extending the Open Admin Tool (OAT)&lt;/h1&gt;
&lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.php.net&quot;&gt;&lt;img src=&quot;/files/graphics/php_logo.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you like programming in &lt;a target=&quot;_blank&quot; href=&quot;http://www.php.net&quot;/&gt;PHP&lt;/a&gt;, you might be interested in developing new functionality for the &lt;b&gt;OAT&lt;/b&gt; (&lt;b&gt;O&lt;/b&gt;pen &lt;b&gt;A&lt;/b&gt;dmin &lt;b&gt;T&lt;/b&gt;ool). A new Plug-In Manager makes it now easier to develop and integrate your own OAT PHP modules. An interesting article from &lt;b&gt;Erika Von Bargen&lt;/b&gt;, which describes this new functionality, has been recently published on &lt;a target=&quot;_blank&quot; href=&quot;http://www.ibm.com/developerworks/db2/products/informix/index.html?S_TACT=105AGX11&amp;amp;S_CMP=FP&quot;&gt;IBM developerWorks&lt;/a&gt;: &lt;/p&gt;
&lt;ul class=&quot;ra&quot;&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.ibm.com/developerworks/db2/library/techarticle/dm-0808vonbargen/index.html?ca=drs-&amp;amp;ca=dkw-informix&quot;&gt;Build plug-ins for IBM&#039;s OpenAdmin Tool for IDS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In the next &lt;b&gt;Chat with the Lab&lt;/b&gt; &lt;a href=&quot;/taxonomy/term/1&quot;&gt;webcast&lt;/a&gt; &lt;b&gt;John Miller&lt;/b&gt; will present the new features of the &lt;b&gt;OAT&lt;/b&gt;:&lt;/p&gt;
&lt;ul class=&quot;ra&quot;&gt;
&lt;li&gt;&lt;a href=&quot;/node/529&quot;&gt;Webcast: What&#039;s New with the OAT ?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;More information about the &lt;b&gt;OAT&lt;/b&gt; can be found here:&lt;/p&gt;
&lt;ul class=&quot;ra&quot;&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.openadmintool.org/&quot;&gt;Website Open Admin Tool&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.iiug.org/forums/oat/index.cgi&quot;&gt;IIUG - OAT Forum&lt;/a&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.ibm.com/developerworks/db2/library/techarticle/dm-0807kudgavkar/index.html?ca=drs-&amp;amp;ca=dkw-informix&quot;&gt;Part 1: Configuring and using the OpenAdmin Tool with IDS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.ibm.com/developerworks/db2/library/techarticle/dm-0807sriram/index.html?ca=drs-&amp;amp;ca=dkw-informix&quot;&gt;Part 2: Migrate from Informix Server Administrator to the IDS OpenAdmin Tool&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.ibm.com/developerworks/db2/library/techarticle/dm-0807sudha/index.html?ca=drs-&amp;amp;ca=dkw-informix&lt;br /&gt;
&quot;&gt;Part 3: Performance analysis of Informix Dynamic Server made easy through the OpenAdmin Tool&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.ibm.com/developerworks/blogs/page/idsteam?entry=https_on_oat&quot;&gt;HTTPS on OAT&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
 <comments>http://www.informix-zone.com/node/536#comment</comments>
 <category domain="http://www.informix-zone.com/taxonomy/term/95">cheetah2</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/20">development</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/145">oat</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/34">php</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/15">technical</category>
 <pubDate>Fri, 15 Aug 2008 10:57:05 +0200</pubDate>
 <dc:creator>eherber</dc:creator>
 <guid isPermaLink="false">536 at http://www.informix-zone.com</guid>
</item>
<item>
 <title>IBM on Demand Webcasts</title>
 <link>http://www.informix-zone.com/node/531</link>
 <description>&lt;h1&gt;IBM on Demand Webcasts&lt;/h1&gt;
&lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.apple.com&quot;&gt;&lt;img src=&quot;/files/graphics/mac_leopard.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;New &lt;b&gt;IBM on Demand Webcasts&lt;/b&gt; covering &lt;a href=&quot;/ids-positioning&quot;&gt;Informix Dynamic Server&lt;/a&gt; are available at the IBM website (&lt;i&gt;registration required&lt;/i&gt;):&lt;/p&gt;
&lt;ul class=&quot;ra&quot;&gt;
&lt;li&gt;&lt;b&gt;Carlton Doe&lt;/b&gt; - &lt;a target=&quot;_blank&quot; href=&quot;http://www.ibm.com/developerworks/db2/events/macosx.html?S_TACT=105AGX54&amp;amp;S_CMP=B0807&amp;amp;ca=dnw-931&quot;&gt;Developing IDS applications for Mac OS X&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Jacques  Roy&lt;/b&gt; - &lt;a target=&quot;_blank&quot; href=&quot;http://www.ibm.com/developerworks/db2/events/transaction.html?S_TACT=105AGX11&amp;amp;S_CMP=FP&quot;&gt;Developing and managing transaction intensive solutions for your industry&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
 <comments>http://www.informix-zone.com/node/531#comment</comments>
 <category domain="http://www.informix-zone.com/taxonomy/term/95">cheetah2</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/20">development</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/2">education</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/96">mac</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/15">technical</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/1">webcast</category>
 <pubDate>Thu, 07 Aug 2008 22:32:29 +0200</pubDate>
 <dc:creator>eherber</dc:creator>
 <guid isPermaLink="false">531 at http://www.informix-zone.com</guid>
</item>
<item>
 <title>A whole bunch of new Informix articles</title>
 <link>http://www.informix-zone.com/node/482</link>
 <description>&lt;h1&gt;A whole bunch of new INFORMIX articles&lt;/h1&gt;
&lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://wpclipart.com/&quot;&gt;&lt;img src=&quot;/files/graphics/articles.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;During the last 3-4 weeks a &lt;b&gt;whole bunch&lt;/b&gt; of interesting new articles about INFORMIX technology has been published on &lt;a target=&quot;_blank&quot; href=&quot;http://www.ibm.com/developerworks/db2/products/informix/index.html?S_TACT=105AGX11&amp;amp;S_CMP=FP&quot;&gt;IBM developerWorks&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;First of all I like to promote the article about &lt;b&gt;IDS/Linux/Xen&lt;/b&gt; written by my friend &lt;b&gt;Martin Fuerderer&lt;/b&gt; (IBM IDS development group Munich/Germany) and &lt;b&gt;Nicole Neubuerger&lt;/b&gt; (student at the University of Applied Sciences Munich). The article provides a great overview about IDS running on Linux in a Xen virtual machine: &lt;/p&gt;
&lt;ul class=&quot;ra&quot;&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.ibm.com/developerworks/db2/library/techarticle/dm-0807fuerderer/index.html?ca=drs-&amp;amp;ca=dkw-informix&quot;&gt;Running IDS on Linux in Xen hypervisor&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The new &lt;a target=&quot;_blank&quot; href=&quot;http://www.ibm.com/developerworks/blogs/page/idsteam?entry=ibm_openadmin_tool_for_ids1&quot;&gt;Version 2.21&lt;/a&gt; of the &lt;a target=&quot;_blank&quot; href=&quot;http://www.openadmintool.org&quot;&gt;IDS OpenAdmin Tool&lt;/a&gt; is available for download. Several articles describe in &lt;b&gt;great detail&lt;/b&gt; how to install, configure and use the OAT for your daily work with IDS 11.1 and 11.5:&lt;/p&gt;
&lt;ul class=&quot;ra&quot;&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.ibm.com/developerworks/db2/library/techarticle/dm-0807kudgavkar/index.html?ca=drs-&amp;amp;ca=dkw-informix&quot;&gt;Part 1: Configuring and using the OpenAdmin Tool with IDS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.ibm.com/developerworks/db2/library/techarticle/dm-0807sriram/index.html?ca=drs-&amp;amp;ca=dkw-informix&quot;&gt;Part 2: Migrate from Informix Server Administrator to the IDS OpenAdmin Tool&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.ibm.com/developerworks/db2/library/techarticle/dm-0807sudha/index.html?ca=drs-&amp;amp;ca=dkw-informix&lt;br /&gt;
&quot;&gt;Part 3: Performance analysis of Informix Dynamic Server made easy through the OpenAdmin Tool&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.ibm.com/developerworks/blogs/page/idsteam?entry=https_on_oat&quot;&gt;HTTPS on OAT&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Developers might take a look at the following article which describes the &lt;b&gt;IBM Data Studio&lt;/b&gt; software for IDS and DB2:&lt;/p&gt;
&lt;ul class=&quot;ra&quot;&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.ibm.com/developerworks/db2/library/techarticle/dm-0807hayes/index.html?ca=drs-&amp;amp;ca=dkw-informix&quot;&gt;IBM Data Studio software: The big picture&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For those who prefer &lt;i&gt;hardcore&lt;/i&gt; programming using &lt;b&gt;Esql/C&lt;/b&gt;, there is an interesting article talking about &lt;b&gt;optimizing cursor operations&lt;/b&gt; in your code. Esql/C is still a popular option when it comes to application development because it delivers &lt;b&gt;great performance&lt;/b&gt; and &lt;b&gt;efficient&lt;/b&gt; use of system resources due to the compiled code:&lt;/p&gt;
&lt;ul class=&quot;ra&quot;&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.ibm.com/developerworks/db2/library/techarticle/dm-0807thummapudi/index.html?ca=drs-&amp;amp;ca=dkw-informix&quot;&gt;Optimize the cursor in IDS with ESQL/C &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For the &lt;b&gt;IDS 11.5&lt;/b&gt; fans there is a new article about the sophisticate &lt;b&gt;replication capabilities&lt;/b&gt; of INFORMIX:&lt;/p&gt;
&lt;ul class=&quot;ra&quot;&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.ibm.com/developerworks/db2/library/techarticle/dm-0807geib/index.html?ca=drs-&amp;amp;ca=dkw-informix&quot;&gt;Replication technologies in IDS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And another one talking about the &lt;b&gt;dynamic SQL support&lt;/b&gt; in &lt;b&gt;stored procedures&lt;/b&gt; available with IDS 11.5. This functionality is a great enhancement to the Informix SPL as it allows a lot more &lt;b&gt;flexibility&lt;/b&gt; when writing stored procedure code:&lt;/p&gt;
&lt;ul class=&quot;ra&quot;&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.ibm.com/developerworks/db2/library/techarticle/dm-0806mottupalli/index.html?ca=drs-&amp;amp;ca=dkw-informix&lt;br /&gt;
&quot;&gt;Dynamic SQL support in IDS Stored Procedure Language&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The &lt;b&gt;newest updates&lt;/b&gt; in the &lt;b&gt;various&lt;/b&gt; INFORMIX Blogosphere can always be monitored thru &lt;i&gt;The Informix Zone&lt;/i&gt;:&lt;/p&gt;
&lt;ul class=&quot;ra&quot;&gt;
&lt;li&gt;&lt;a href=&quot;/aggregator/sources/14&quot;&gt;IIUG Newsfeed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/aggregator/sources/5&quot;&gt;IBM IDS developerWorks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/aggregator/sources/8&quot;&gt;IBM IDS Technical Support&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/aggregator/sources/6&quot;&gt;IBM IDS Developer Forum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/aggregator/sources/9&quot;&gt;IBM IDS Experts Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/aggregator/sources/1&quot;&gt;Guy Bowerman&#039;s Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/aggregator/sources/11&quot;&gt;Fernando Nunes Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/aggregator/sources/13&quot;&gt;Madison Pruet&#039;s Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/aggregator/sources/15&quot;&gt;Jacques Roy&#039;s Blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Have fun !&lt;/b&gt;&lt;/p&gt;
</description>
 <comments>http://www.informix-zone.com/node/482#comment</comments>
 <category domain="http://www.informix-zone.com/taxonomy/term/95">cheetah2</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/20">development</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/45">ids</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/15">technical</category>
 <pubDate>Fri, 18 Jul 2008 17:40:51 +0200</pubDate>
 <dc:creator>eherber</dc:creator>
 <guid isPermaLink="false">482 at http://www.informix-zone.com</guid>
</item>
<item>
 <title>Informix Code exchange at IBM developerWorks</title>
 <link>http://www.informix-zone.com/node/465</link>
 <description>&lt;h1&gt;Informix Code Exchange at IBM developerWorks&lt;/h1&gt;
&lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://wpclipart.com/&quot;&gt;&lt;img id=&quot;edu&quot; src=&quot;/files/graphics/computer_disposition.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Share your clever &lt;b&gt;scripts&lt;/b&gt; and &lt;b&gt;code snippets&lt;/b&gt; on the the new &lt;b&gt;Informix Code Exchange&lt;/b&gt; website at IBM developerWorks:&lt;/p&gt;
&lt;ul class=&quot;ba&quot;&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.ibm.com/developerworks/exchange/dw_category.jspa?categoryID=1034&quot;&gt;IBM developer Works - Informix Code Exchange&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Another great place to look for existing scripts and programs around IDS is the &lt;b&gt;Software Repository&lt;/b&gt; at &lt;a target=&quot;_blank&quot; href=&quot;http://www.iiug.org&quot;&gt;IIUG&lt;/a&gt;:&lt;/p&gt;
&lt;ul class=&quot;ba&quot;&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.iiug.org/software/software_index.html&quot;&gt;IIUG - Informix Software Repository&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
 <comments>http://www.informix-zone.com/node/465#comment</comments>
 <category domain="http://www.informix-zone.com/taxonomy/term/20">development</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/45">ids</category>
 <pubDate>Tue, 10 Jun 2008 22:37:18 +0200</pubDate>
 <dc:creator>eherber</dc:creator>
 <guid isPermaLink="false">465 at http://www.informix-zone.com</guid>
</item>
<item>
 <title>Talking with Perl, PHP, Python, Ruby to IDS</title>
 <link>http://www.informix-zone.com/informix-script-dbapi</link>
 <description>&lt;h1&gt;Creating a Powerful Mixture&lt;/h1&gt;
&lt;table width=&quot;100%&quot;&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.perl.org&quot;&gt;&lt;img src=&quot;/files/graphics/perl_logo.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.php.net&quot;&gt;&lt;img src=&quot;/files/graphics/php_logo.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.python.org&quot;&gt;&lt;img src=&quot;/files/graphics/python_logo.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.ruby-lang.org/en/&quot;&gt;&lt;img src=&quot;/files/graphics/ruby_logo.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.informix.com&quot;&gt;&lt;img src=&quot;/files/blue_marine_logo.gif&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;This article describes the &lt;b&gt;database interfaces&lt;/b&gt; of popular &lt;b&gt;script languages&lt;/b&gt; like &lt;a target=&quot;_blank&quot; href=&quot;http://www.perl.org&quot;&gt;Perl&lt;/a&gt;, &lt;a target=&quot;_blank&quot; href=&quot;http://www.php.net&quot;&gt;PHP&lt;/a&gt;, &lt;a target=&quot;_blank&quot; href=&quot;http://www.python.org&quot;&gt;Python&lt;/a&gt; or &lt;a target=&quot;_blank&quot; href=&quot;http://www.ruby-lang.org/en/&quot;&gt;Ruby&lt;/a&gt; which provide direct access to data stored in &lt;a target=&quot;_blank&quot; href=&quot;http://www.ibm.com/software/data/informix/ids/&quot;&gt;Informix Dynamic Server&lt;/a&gt;.&lt;br /&gt;
&lt;!-- break --&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#powerful scripting&quot;&gt;Powerful Script Languages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#powerful ids&quot;&gt;Powerful IDS Capabilities&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#best of breed&quot;&gt;Best of Breed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#db api&quot;&gt;Database Abstraction Layer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#perl&quot;&gt;IDS and Perl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#php&quot;&gt;IDS and PHP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#python&quot;&gt;IDS and Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#ruby&quot;&gt;IDS and Ruby&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a name=&quot;powerful scripting&quot;&gt;&lt;br /&gt;
&lt;h2&gt;Powerful Script Languages&lt;/h2&gt;
&lt;p&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Script languages like &lt;a target=&quot;_blank&quot; href=&quot;http://www.perl.org&quot;&gt;Perl&lt;/a&gt;, &lt;a target=&quot;_blank&quot; href=&quot;http://www.php.net&quot;&gt;PHP&lt;/a&gt;, &lt;a target=&quot;_blank&quot; href=&quot;http://www.python.org&quot;&gt;Python&lt;/a&gt; and &lt;a target=&quot;_blank&quot; href=&quot;http://www.ruby-lang.org/en/&quot;&gt;Ruby&lt;/a&gt; are getting more and more &lt;b&gt;popular&lt;/b&gt;. Beside &lt;b&gt;rapid&lt;/b&gt; prototyping capabilities they also allow the development of &lt;b&gt;complex&lt;/b&gt; software projects in a &lt;b&gt;time-saving&lt;/b&gt; and &lt;b&gt;efficient&lt;/b&gt; manner. &lt;/p&gt;
&lt;p&gt;&lt;a name=&quot;powerful ids&quot;&gt;&lt;br /&gt;
&lt;h2&gt;Powerful Informix Capabilities&lt;/h2&gt;
&lt;p&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;I&lt;/b&gt;normix &lt;b&gt;D&lt;/b&gt;ynamic &lt;b&gt;S&lt;/b&gt;erver is a &lt;a href=&quot;/ids-positioning&quot;&gt;strategic data server&lt;/a&gt; inside the IBM Information Management Division that is well known for it&#039;s &lt;b&gt;outstanding&lt;/b&gt; capabilities:&lt;/p&gt;
&lt;ul class=&quot;ba&quot;&gt;
&lt;li&gt;Impressive Transaction Performance&lt;/li&gt;
&lt;li&gt;High Reliability and First Class Support&lt;/li&gt;
&lt;li&gt;Rich, sophisticated Extensibility Features&lt;/li&gt;
&lt;li&gt;Backward Compatibility and Painless Version Upgrades&lt;/li&gt;
&lt;li&gt;Powerful Replication Solutions inside the DBMS Kernel&lt;/li&gt;
&lt;li&gt;Hardware gentle, scalable Multithreading Architecture&lt;/a&gt;
&lt;li&gt;Extremely low Administration Overhead&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a name=&quot;best of breed&quot;&gt;&lt;br /&gt;
&lt;h2&gt;Script Languages + IDS = Powerful Mixture&lt;/h2&gt;
&lt;p&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Combining the advantages of Perl, PHP, Python or Ruby with IBM&#039;s &lt;a href=&quot;?q=node/30&quot;&gt;cult database&lt;/a&gt; &lt;b&gt;Informix Dynamic Server&lt;/b&gt; results in an extremly &lt;b&gt;efficient&lt;/b&gt; software platform. A platform that is well primed for &lt;b&gt;increasing&lt;/b&gt; data volumes and the most demanding &lt;b&gt;high availability&lt;/b&gt; requirements.&lt;/p&gt;
&lt;p&gt;&lt;a name=&quot;db api&quot;&gt;&lt;br /&gt;
&lt;h1&gt;Database Abstraction Layer&lt;/h1&gt;
&lt;p&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;All four script languages offer a &lt;b&gt;database abstraction layer&lt;/b&gt; which allows the programming of &lt;a&gt;portable&lt;/a&gt; database applications:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/files/graphics/db_api.jpg&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The Informix specific implementations of those database abstraction layers are all programmed in &lt;b&gt;Esql/C&lt;/b&gt;. In order to compile the driver you need beside a &lt;b&gt;C compiler&lt;/b&gt; the free of charge Informix &lt;b&gt;Client SDK&lt;/b&gt; software installed. The Client SDK can be downloaded from here:&lt;/p&gt;
&lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www14.software.ibm.com/webapp/download/search.jsp?rs=ifxdl&quot;&gt;Free Download of Client SDK&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a name=&quot;perl&quot;&gt;&lt;img src=&quot;/files/graphics/perl_logo.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Perl&quot;&gt;Perl&lt;/a&gt; has a long history and is still one of the most &lt;b&gt;popular&lt;/b&gt; scripting languages available today. Beside the development of web based applications, Perl is heavily used in the area of &lt;b&gt;system administration&lt;/b&gt; automation on Unix and Linux systems. Another prominent Perl area is the &lt;b&gt;extraction&lt;/b&gt; and &lt;b&gt;conversion&lt;/b&gt; of data due to it&#039;s outstanding text processing capabilities.&lt;/p&gt;
&lt;p&gt;Perl provides a &lt;b&gt;rich&lt;/b&gt; offering of additional modules for almost every task, just take a look at the &lt;a target=&quot;_blank&quot; href=&quot;http://www.cpan.org&quot;&gt;Comprehensive Perl Archive Network&lt;/a&gt; (CPAN). The DBI (&lt;b&gt;D&lt;/b&gt;ata&lt;b&gt;B&lt;/b&gt;ase &lt;b&gt;I&lt;/b&gt;nterface) is the well established standard for accessing databases from Perl. It defines a set of abstract methods which are implemented by the underlaying &lt;b&gt;D&lt;/b&gt;ata&lt;b&gt;B&lt;/b&gt;ase &lt;b&gt;D&lt;/b&gt;river (DBD). The driver for accessing an Informix database is called &lt;b&gt;&lt;i&gt;DBD::Informix&lt;/i&gt;&lt;/b&gt; and it has been written by &lt;b&gt;Jonathan Leffler&lt;/b&gt;, a superb Informix expert and architect of Informix@IBM. &lt;i&gt;DBD::Informix&lt;/i&gt; is well-engineered and contains an &lt;b&gt;excellent&lt;/b&gt; documentation.&lt;/p&gt;
&lt;h3&gt;Installation steps for DB-API DBD::Informix&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://search.cpan.org/~johnl/DBD-Informix-2005.02/Informix.pm&quot;&gt;Download DBD::Informix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;gzcat &amp;lt;perl_ifx_archive&amp;gt; | tar xvf -&lt;/li&gt;
&lt;li&gt;cd &amp;lt;perl_ifx_archive_dir&amp;gt;&lt;/li&gt;
&lt;li&gt;perl Makefile.PL&lt;/li&gt;
&lt;li&gt;make&lt;/li&gt;
&lt;li&gt;make test&lt;/li&gt;
&lt;li&gt;make install&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Example Program&lt;/h3&gt;
&lt;pre&gt;
#!/usr/bin/perl

use warnings;
use strict;
use DBI;

# ------------------------------------
# open connection to database &#039;stores&#039;
# ------------------------------------
my $dbh = DBI-&gt;connect
          (
             &quot;DBI:Informix:stores&quot;,
             &#039;&#039;,
             &#039;&#039;,
             { PrintError =&gt; 0, RaiseError =&gt; 1, AutoCommit =&gt; 0 }
          );

# ----------------
# open transaction
# ----------------
$dbh-&gt;do(&quot;begin&quot;);

# --------------------------------------
# prepare and execute &#039;select&#039; statement
# --------------------------------------
my $sth1 =$dbh-&gt;prepare(&quot;select code, sname from state&quot;);
$sth1-&gt;execute();

# --------------------------
# prepare &#039;delete&#039; statement
# --------------------------
my $sth2 = $dbh-&gt;prepare(&quot;delete from state where code = ?&quot;);

# ---------------------
# fetch thru result set
# ---------------------
while (my $row = $sth1-&gt;fetchrow_hashref())
{

    # -------------------------------------------
    # delete row if column &#039;code&#039; begins with &#039;C&#039;
    # -------------------------------------------
   if ($row-&gt;{code} =~ /^C/)
   {
      $sth2-&gt;bind_param(1, $row-&gt;{code});
      $sth2-&gt;execute();
      print sprintf(&quot;DELETED: %-2s %-15s\n&quot;, $row-&gt;{code}, $row-&gt;{sname});
      next;
   }

   # --------
   # show row
   # --------
   print sprintf(&quot;%-2s %-15s\n&quot;, $row-&gt;{code}, $row-&gt;{sname});

}

# ---------------------------------------
# commit transaction and close connection
# ---------------------------------------
$dbh-&gt;do(&quot;commit&quot;);
$dbh-&gt;disconnect();

exit 0;
&lt;/pre&gt;&lt;h3&gt;More Information on Perl and DBD::Informix&lt;/h3&gt;
&lt;table width=&quot;100%&quot; border=0&gt;
&lt;tr&gt;
&lt;th&gt;Resource&lt;/th&gt;
&lt;th&gt;Location/URL&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Perl Home&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.perl.org&quot;&gt;http://www.perl.org&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Learning Perl&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://learn.perl.org/&quot;&gt;http://learn.perl.org&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Download DBD::Informix&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://search.cpan.org/~johnl/DBD-Informix-2005.02/Informix.pm&quot;&gt;DBD::Informix&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;J. Leffler: IDS and Open Source&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot;  href=&quot;/files/presentations/ids_opensource_jleffler.ppt&quot;&gt;ids_opensource_jleffler.ppt&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;D. Priest: Using Perl &amp;amp; DBI&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;/files/presentations/perl_dbi_dpriest.pdf&quot;&gt;perl_dbi_dpriest.pdf&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;&lt;hr&gt;&lt;/p&gt;
&lt;p&gt;&lt;a name=&quot;php&quot;&gt;&lt;img src=&quot;/files/graphics/php_logo.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;hhttp://en.wikipedia.org/wiki/Php&quot;&gt;PHP&lt;/a&gt; is the language of the &lt;b&gt;Web&lt;/b&gt; and contains an &lt;b&gt;awesome&lt;/b&gt; function library in this area. It is the foundation for many commercial and non-commerical websites today. PHP offers a Perl like syntax, is &lt;b&gt;easy&lt;/b&gt; to learn and allows newbies to be &lt;b&gt;quickly&lt;/b&gt; productive. In contrast to Perl the PHP programming instructions are directly &lt;b&gt;embedded&lt;/b&gt; in the HTML page which seems to be more &lt;b&gt;intuitive&lt;/b&gt; to most developers. However beyond the Web, languages like Perl and Python are more dominant than PHP. &lt;/p&gt;
&lt;p&gt;PHP 5 offers a database abstraction layer called &lt;b&gt;&lt;i&gt;PDO&lt;/i&gt;&lt;/b&gt; (&lt;b&gt;P&lt;/b&gt;HP &lt;b&gt;D&lt;/b&gt;ata &lt;b&gt;O&lt;/b&gt;bjects) which is included in PHP 5.1. &lt;b&gt;&lt;i&gt;PDO_INFORMIX&lt;/b&gt;&lt;/i&gt; is the Informix specific implementation of this abstraction layer developed by &lt;b&gt;Krishna Raman&lt;/b&gt; and &lt;b&gt;Kellen Bombardier&lt;/b&gt;. &lt;/p&gt;
&lt;h3&gt;Installation steps for DB-API PDO_INFORMIX with PHP 5.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
      &lt;a target=&quot;_blank&quot; href=&quot;http://pecl.php.net/package/PDO_INFORMIX/&quot;&gt;Download PDO_INFORMIX&lt;/a&gt;
   &lt;/li&gt;
&lt;li&gt;
      Create PHP with PDO as shared extension&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;configure -with-zlib -enable-pdo=shared&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
      Install Informix PDO Modul&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;pear install PDO_INFORMIX&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
      Add entries to &lt;b&gt;&lt;i&gt;php.ini&lt;/i&gt;&lt;/b&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;extension=pdo.so&lt;/li&gt;
&lt;li&gt;extension=pdo_informix.so&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;More detailled instructions about installing and configuring PDO can be found &lt;a target=&quot;_blank&quot; href=&quot;http://www.php-editors.com/php_manual/ref.pdo.html&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Example Program&lt;/h3&gt;
&lt;pre&gt;
&amp;lt;?php

# ------------------------------------
# open connection to database &#039;stores&#039;
# ------------------------------------
$dbh = new PDO(&quot;informix:host=starship2; service=1753; database=stores; server=starship2; protocol=onsoctcp&quot;);

# ----------------
# open transaction
# ----------------
$dbh-&gt;beginTransaction();

# --------------------------------------
# prepare and execute &#039;select&#039; statement
# --------------------------------------
$sth1 = $dbh-&gt;prepare(&quot;select code, sname from state&quot;);
$sth1-&gt;execute();

# --------------------------
# prepare &#039;delete&#039; statement
# --------------------------
$sth2 = $dbh-&gt;prepare(&quot;delete from state where code = ?&quot;);

# ---------------------
# fetch thru result set
# ---------------------
while( $row = $sth1-&gt;fetch() )
{
    # -------------------------------------------
    # delete row if column &#039;code&#039; begins with &#039;C&#039;
    # -------------------------------------------
   if (strncmp($row[&#039;CODE&#039;], &quot;C&quot;, 1) == 0)
   {
      $sth2-&gt;BindParam(1, $row[&#039;CODE&#039;]);
      $sth2-&gt;execute();
      printf(&quot;DELETED: %-2s %-15s\n&quot;, $row[&#039;CODE&#039;], $row[&#039;SNAME&#039;]);
      continue;
   }

    # --------
    # show row
    # --------
    printf(&quot;%-2s %-15s\n&quot;, $row[&#039;CODE&#039;], $row[&#039;SNAME&#039;]);

}

# ---------------------------------------
# commit transaction and close connection
# ---------------------------------------
$dbh-&gt;commit();
$dbh = null;

?&gt;
&lt;/pre&gt;&lt;h3&gt;More Information on PHP and PDO_INFORMIX&lt;/h3&gt;
&lt;table width=&quot;100%&quot; border=0&gt;
&lt;tr&gt;
&lt;th&gt;Resource&lt;/th&gt;
&lt;th&gt;Location/URL&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PHP Home&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.php.net&quot;&gt;http://www.php.net&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Learning PHP&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.w3schools.com/php/default.asp&quot;&gt;http://www.w3schools.com/php/default.asp&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Download PDO_INFORMIX&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://pecl.php.net/package/PDO_INFORMIX/&quot;&gt;PDO_INFORMIX&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;J-G. Perrin: PHP Development with IDS&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;/files/presentations/php_jgp.ppt&quot;&gt;php_jpg.ppt&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;td&gt;IBM Redbook about PHP Development with IDS&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.redbooks.ibm.com/abstracts/sg247218.html&quot;&gt;http://www.redbooks.ibm.com/abstracts/sg247218.html&lt;/a&gt;&lt;/td&gt;
&lt;tr&gt;
&lt;tr&gt;
&lt;td&gt;How to install, configure Apache,PHP,IDS on Linux&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0606bombardier/&quot;&gt;IBM developerWorks article&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google Maps API and PHP/IDS on Linux&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0602lurie/&quot;&gt;IBM developerWorks article&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;&lt;hr&gt;&lt;/p&gt;
&lt;p&gt;&lt;a name=&quot;python&quot;&gt;&lt;img src=&quot;/files/graphics/python_logo.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Python_language&quot;&gt;Python&lt;/a&gt; is getting more and more popular. It has a clean, &lt;b&gt;object-oriented&lt;/b&gt; design. Scripts written in Python have a clean structure and easy to read and &lt;b&gt;maintain&lt;/b&gt;. The &lt;b&gt;basic&lt;/b&gt; version of Python already contains a whole bunch of useful modules. This is called the Python &lt;b&gt;&lt;i&gt;batteries included&lt;/i&gt;&lt;/b&gt; philosophy,  an interesting &lt;b&gt;analogy&lt;/b&gt; to &lt;b&gt;IDS&lt;/b&gt; Enterprise Edition which is also delivered with batteries included (Fragmentation, HDR, ER, HPL...).&lt;/p&gt;
&lt;p&gt;There is also an interesting second implementation of Python called &lt;a target=&quot;_blank&quot; href=&quot;http://www.jython.org&quot;&gt;Jython&lt;/a&gt;. Jython is a &lt;b&gt;pure Java&lt;/b&gt; implementation of the Python language and allows the developer to use Java class libraries (for example &lt;i&gt;JDBC&lt;/i&gt;) &lt;b&gt;directly&lt;/b&gt; in their Jython code. Check it out.&lt;/p&gt;
&lt;p&gt;Python has quite a wide range of use. It is perfectly suited for developing &lt;b&gt;ambitious&lt;/b&gt; software projects. However in the Web environment Perl and particulary PHP are more &lt;b&gt;dominant&lt;/b&gt;. &lt;/p&gt;
&lt;p&gt;The standard for accessing databases from Python is the &lt;b&gt;&lt;i&gt;DB-API&lt;/b&gt;&lt;/i&gt;. &lt;b&gt;Carsten Haese&lt;/b&gt; has developed the Informix specific implemenation of this abstraction layer called the &lt;b&gt;&lt;i&gt;InformixDB&lt;/i&gt;&lt;/b&gt; driver.&lt;/p&gt;
&lt;h3&gt;Installation steps for DB-API InformixDB&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://informixdb.sourceforge.net/&quot;&gt;Download DB-API InformixDB&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;gzcat &amp;lt;python_ifx_archiv&amp;gt; | tar xvf -&lt;/li&gt;
&lt;li&gt;cd &amp;lt;python_ifx_dir&amp;gt;&lt;/li&gt;
&lt;li&gt;python setup.py build_ext&lt;/li&gt;
&lt;li&gt;python setup.py install&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Example Program&lt;/h3&gt;
&lt;pre&gt;
#!/usr/bin/python

import sys
import informixdb  # import the InformixDB module

# ------------------------------------
# open connection to database &#039;stores&#039;
# ------------------------------------
conn = informixdb.connect(&quot;stores&quot;)

# ----------------------------------
# allocate cursor and execute select
# ----------------------------------
cursor1 = conn.cursor(rowformat = informixdb.ROW_AS_DICT)
cursor1.execute(&#039;select code, sname from state&#039;)

# --------------------------
# prepare &#039;delete&#039; statement
# --------------------------
cursor2 = conn.cursor()

# ---------------------
# fetch thru result set
# ---------------------
for row in cursor1:

    # -------------------------------------------
    # delete row if column &#039;code&#039; begins with &#039;C&#039;
    # -------------------------------------------
    if row[&#039;code&#039;][0] == &#039;C&#039;:
        cursor2.execute(&#039;delete from state where code = ?&#039;, (row[&#039;code&#039;],))
        print &quot;DELETED: %-2s %-15s&quot; % (row[&#039;code&#039;], row[&#039;sname&#039;])
        continue

   # --------
   # show row
   # --------
   print &quot;%-2s %-15s&quot; % (row[&#039;code&#039;], row[&#039;sname&#039;])


# ---------------------------------------
# commit transaction and close connection
# ---------------------------------------
conn.commit()
conn.close()

sys.exit(0);
&lt;/pre&gt;&lt;h3&gt;More Information on Python and InformixDB&lt;/h3&gt;
&lt;table width=&quot;100%&quot; border=0&gt;
&lt;tr&gt;
&lt;th&gt;Resource&lt;/th&gt;
&lt;th&gt;Location/URL&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Python Home&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.python.org&quot;&gt;http://www.python.org&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Learning Python&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://docs.python.org/tut/tut.html&quot;&gt;http://docs.python.org/tut/tut.html&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Download DB-API InformixDB&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://informixdb.sourceforge.net/&quot;&gt;DB-API InformixDB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C. Haese: The Python InformixDB API &lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;/files/presentations/python_dbi_khaese.pdft&quot;&gt;python_dbi_khaese.pdf&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;&lt;hr&gt;&lt;/p&gt;
&lt;p&gt;&lt;a name=&quot;ruby&quot;&gt;&lt;img src=&quot;/files/graphics/ruby_logo.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Ruby_language&quot;&gt;Ruby&lt;/a&gt; seems to be an interesting alternative to the well established script languages like Perl, PHP and Python. With the &lt;a target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Ruby_on_rails&quot;&gt;Ruby on Rails&lt;/a&gt; web framework, Ruby is getting more and more important in the &lt;b&gt;professional&lt;/b&gt; web development space. &lt;/p&gt;
&lt;p&gt;Ruby does also provide a database independent API called &lt;b&gt;&lt;i&gt;DBI&lt;/i&gt;&lt;/b&gt;. The actual Ruby/Informix driver written by &lt;b&gt;Gerardo Santana Gomez Garrido&lt;/b&gt; does currently not use the DBI. Ruby/Informix is a Ruby extension written in Esql/C. Even without the DBI/DBD wrapper, it can be &lt;b&gt;perfectly&lt;/b&gt; used to access Informix databases from the Ruby programming language. An Informix adapter for Ruby on Rails is also available (check the link section below).&lt;/p&gt;
&lt;p&gt;Unfortunately I didn&#039;t have the time to test Ruby myself, but &lt;b&gt;Gerado&lt;/b&gt; was so kind to translate my example program to Ruby/Informix.&lt;/p&gt;
&lt;h3&gt;Installation steps for DB-API Ruby-Informix&lt;/h3&gt;
&lt;p&gt;Here are two documents that might help:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.troubleshooters.com/codecorn/ruby/database/index.htm&quot;&gt;Ruby Database Connectivity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://ruby-informix.rubyforge.org&quot;&gt;Informix Driver for Ruby&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Example Program&lt;/h3&gt;
&lt;pre&gt;
#!/usr/local/bin/ruby -w

require &#039;informix&#039;

# ------------------------------------
# open connection to database &#039;stores&#039;
# ------------------------------------
db = Informix.connect(&#039;stores&#039;)

# ----------------
# open transaction
# ----------------
db.transaction {

# --------------------------------------
# prepare cursor for &#039;select&#039; statement
# --------------------------------------
  cursor = db.cursor(&quot;select code, sname from state&quot;)

# --------------------------
# prepare &#039;delete&#039; statement
# --------------------------
  stmt_delete = db.prepare(&quot;delete from state where code = ?&quot;)

# ---------------------
# open cursor and fetch thru result set
# ---------------------
  cursor.open.each_hash {|row|
    # -------------------------------------------
    # delete row if column &#039;code&#039; begins with &#039;C&#039;
    # -------------------------------------------
    if row[&#039;code&#039;][0].chr == &#039;C&#039;
      stmt_delete.execute(row[&#039;code&#039;])
      printf(&quot;DELETED: %-2s %-15s\n&quot;, row[&#039;code&#039;], row[&#039;sname&#039;])
      next
    end

    # --------
    # show row
    # --------
    printf(&quot;%-2s %-15s\n&quot;, row[&#039;code&#039;], row[&#039;sname&#039;])
  }.close

# ---------------------------------------
# commit transaction
# ---------------------------------------
}

# ---------------------------------------
# close connection
# ---------------------------------------
db.close
&lt;/pre&gt;&lt;h3&gt;More Information on Ruby and InformixDB&lt;/h3&gt;
&lt;table width=&quot;100%&quot; border=0&gt;
&lt;tr&gt;
&lt;th&gt;Resource&lt;/th&gt;
&lt;th&gt;Location/URL&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ruby Home&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.ruby-lang.org/en&quot;&gt;http://www.ruby-lang.org/en&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Learning Ruby&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://sitekreator.com/satishtalim/toc.html&quot;&gt;http://sitekreator.com/satishtalim/toc.html&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Download Ruby/Informix API&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://rubyforge.org/projects/ruby-informix/&quot;&gt;DB-API Ruby-Informix&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Download Informix/Rails Adapter&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://rails-informix.rubyforge.org/&quot;&gt;Informix Adapter for Ruby Rails&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Informix on Rails&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www-03.ibm.com/developerworks/blogs/page/gbowerman?entry=informix_on_rails&amp;amp;ca=drs-bl/&quot;&gt;Guy Bowerman&#039;s Summary&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
</description>
 <comments>http://www.informix-zone.com/informix-script-dbapi#comment</comments>
 <category domain="http://www.informix-zone.com/taxonomy/term/20">development</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/33">perl</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/34">php</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/38">python</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/41">ruby</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/15">technical</category>
 <pubDate>Sun, 19 Nov 2006 09:04:49 +0100</pubDate>
 <dc:creator>eherber</dc:creator>
 <guid isPermaLink="false">28 at http://www.informix-zone.com</guid>
</item>
</channel>
</rss>
