<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
   <channel>
      <title>ESP – Product Engineering – Platform and Software Products</title>
      <link>http://www.infosysblogs.com/engineering-software/</link>
      <description>Infosys delivers concept-to-market software engineering services across the engineering value chain. Our blog will discuss the latest trends in software product engineering, outsourcing, technologies, and address business challenges. </description>
      <language>en</language>
      <copyright>Copyright 2010</copyright>
      <lastBuildDate>Thu, 18 Feb 2010 05:11:16 +0000</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/?v=3.2ysb5-20051201</generator>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 

            <item>
         <title>True Integration with VSTS 2010</title>
         <description><![CDATA[<p>Microsoft (India) conducted the &quot;VSTS 2010 Launch&quot; session at the Infosys Bangalore campus this week to familiarize the software community with VSTS 2010 before the official launch (planned in April, 2010). The session included a keynote followed by an intensive hands-on demonstration of the various facilities that are on offer in the latest edition of Visual Studio Team System Suite. There were a number of features on demo, but what was of special importance was the support for the architect community in this release.</p>]]></description>
         <link>http://www.infosysblogs.com/engineering-software/2010/02/true_integration_with_vsts_201_1.html</link>
         <guid>http://www.infosysblogs.com/engineering-software/2010/02/true_integration_with_vsts_201_1.html</guid>
         <category>General</category>
         <pubDate>Thu, 18 Feb 2010 05:11:16 +0000</pubDate>
      </item>
            <item>
         <title>Globalization and the Japanese Software Industry</title>
         <description><![CDATA[Japanese products in the manufacturing sector have most often than not withstood intense competition from competitors all around the world. Except for the recent <a href="http://edition.cnn.com/2010/WORLD/asiapcf/01/29/japan.toyota.apology/index.html" target="_blank">glitch</a>, Japanese cars have been the most sought after the world over for various engineering attributes like performance, reliability, design etc. But, unfortunately, the same cannot be said about the Japanese software industry &ndash; though there are efforts currently underway to change the structure of this industry.]]></description>
         <link>http://www.infosysblogs.com/engineering-software/2010/02/globalization_and_the_japanese_1.html</link>
         <guid>http://www.infosysblogs.com/engineering-software/2010/02/globalization_and_the_japanese_1.html</guid>
         <category>Internationalization</category>
         <pubDate>Wed, 03 Feb 2010 06:27:51 +0000</pubDate>
      </item>
            <item>
         <title>Internationalization and Performance considerations</title>
         <description><![CDATA[<p align="justify">Almost always, during the design discussion of any Internationalization project, one of the questions asked by the client is, &ldquo;<em>So, will Internationalization have any impact on the performance of the application</em>?&rdquo;. No matter what you think, there is no denying the fact that Internationalization does have a performance impact on the application, whether it is big or small. There may be situations where the business benefits of Internationalization will outweigh the performance criteria and in such situations it makes sense to go ahead with Internationalization even at the cost of some amount of performance degradation. However a good design can help you in avoiding severe performance hits.</p>]]></description>
         <link>http://www.infosysblogs.com/engineering-software/2010/01/internationalization_and_perfo.html</link>
         <guid>http://www.infosysblogs.com/engineering-software/2010/01/internationalization_and_perfo.html</guid>
         <category>Internationalization</category>
         <pubDate>Thu, 28 Jan 2010 06:54:44 +0000</pubDate>
      </item>
            <item>
         <title>Handling Data in Enterprise Mashups</title>
         <description><![CDATA[<span style="color: #333333">Mashups are always ever-green, hence gets the attention from all the stakeholders, be it a creator of&nbsp;the mashup or the user of&nbsp; the mashup. Thanks to Google Maps which has taken the popularity to next level. A Typical mashup application comprises of a web application that combines data or functionality from two or more external sources to create a new service. The term <strong>Mashup</strong> implies easy, fast integration, frequently using open APIs and data sources. An example of a mashup is the use of cartographic data to add location information to real estate data, thereby creating a new and distinct web API that was not originally provided by either source. These mashups have also got its foot into enterprise business and the termed coined is &ldquo;Enterprise Mashups&rdquo;. Here in addition to just data the process also comes into picture. If the enterprise is SOA enabled then we can directly use the BPM engine for process orchestration. Enterprise Mash up consists of: <p>&nbsp;</p></span><ul style="margin-top: 0in"><li class="MsoNormal" style="margin: 3pt 0in 0pt; color: #333333; mso-list: l0 level1 lfo1; tab-stops: list .5in; mso-line-height-alt: 7.0pt"><span style="font-size: 10pt">&nbsp;Web services <p>&nbsp;</p></span></li><li class="MsoNormal" style="margin: 3pt 0in 0pt; color: #333333; mso-list: l0 level1 lfo1; tab-stops: list .5in; mso-line-height-alt: 7.0pt"><span style="font-size: 10pt">&nbsp;RSS Feeds <p>&nbsp;</p></span></li><li class="MsoNormal" style="margin: 3pt 0in 0pt; color: #333333; mso-list: l0 level1 lfo1; tab-stops: list .5in; mso-line-height-alt: 7.0pt"><span style="font-size: 10pt">&nbsp;Platform services in a cloud&nbsp; <p>&nbsp;</p></span></li><li class="MsoNormal" style="margin: 3pt 0in 0pt; color: #333333; mso-list: l0 level1 lfo1; tab-stops: list .5in; mso-line-height-alt: 7.0pt"><span style="font-size: 10pt">&nbsp;Data <p>&nbsp;</p></span></li><li class="MsoNormal" style="margin: 3pt 0in 0pt; color: #333333; mso-list: l0 level1 lfo1; tab-stops: list .5in; mso-line-height-alt: 7.0pt"><span style="font-size: 10pt">&nbsp;Client Application&nbsp; <p>&nbsp;</p></span></li></ul><span style="font-size: 10pt; color: #333333"><p>&nbsp;</p></span><span style="color: #333333">In this blog, I will quickly touch upon on Data part of the mash-ups. Data in Enterprise Mashups can be in the form of: <p>&nbsp;</p></span><ul style="margin-top: 0in"><li class="MsoNormal" style="margin: 3pt 0in 0pt; color: #333333; mso-list: l1 level1 lfo2; mso-line-height-alt: 7.0pt"><span style="font-size: 10pt">XML data residing in RSS feeds or in webservices. <p>&nbsp;</p></span></li><li class="MsoNormal" style="margin: 3pt 0in 0pt; color: #333333; mso-list: l1 level1 lfo2; mso-line-height-alt: 7.0pt"><span style="font-size: 10pt">DB data <p>&nbsp;</p></span></li><li class="MsoNormal" style="margin: 3pt 0in 0pt; color: #333333; mso-list: l1 level1 lfo2; mso-line-height-alt: 7.0pt"><span style="font-size: 10pt">Unstructured data <p>&nbsp;</p></span></li><li class="MsoNormal" style="margin: 3pt 0in 0pt; color: #333333; mso-list: l1 level1 lfo2; mso-line-height-alt: 7.0pt"><span style="font-size: 10pt">JSON <p>&nbsp;</p></span></li></ul><span style="color: #333333">In Mashups the processing of data is a dynamic activity hence the time taken to process the data may increase the overall execution of the mashup application. To tackle this problem distributed computing can be applied on different kinds of data as mentioned above. <p>&nbsp;</p></span><span style="color: #333333">For XML and JSON data, the parallel parsers can be used to create the Mash up. This could be multithreaded or use Multicore architecture of Intel chip at hardware level <a href="http://www.intel.com/cd/software/products/asmo-na/eng/406212.htm">http://www.intel.com/cd/software/products/asmo-na/eng/406212.htm</a>. On other hand we can use hadoop&rsquo;s HDFS and MapReduce for un-structured data. <br />Hadoop is a framework based on java that supports distributed computing scale very well for data intensive applications. Hadoop Distributed File System (HDFS) is the primary storage system used by Hadoop applications. HDFS creates multiple replicas of data blocks and distributes them on compute nodes throughout a cluster to enable reliable, extremely rapid computations. MapReduce is a programming model and software framework for writing applications that rapidly process vast amounts of data in parallel on large clusters of compute nodes <a href="http://wiki.apache.org/hadoop/">http://wiki.apache.org/hadoop/.</a> One good example of an enterprise mashup is &ldquo;CRM-gadget&rdquo; <a href="http://www.programmableweb.com/tag/enterprise">http://www.programmableweb.com/tag/enterprise</a> , which searches new account or validate accounts on oracle on demand over Google local search.&nbsp; This mashup can tap the potential of Hadoop HDFS and Mapreduce and reduce the time to search the accounts.&nbsp;</span><span style="font-size: 5.5pt; color: #333333"> <p>&nbsp;</p></span><span style="font-size: 11pt; color: #333333">&nbsp;</span><span style="color: #333333">To conclude, we need to build POCs&nbsp;and see the dynamic&nbsp;dissection/split of data&nbsp;on parallel/distributed nodes&nbsp;to achieve almost linear speed-up. This will in-turn reduce the total time of executing an Enterprise Mashup application.</span><span style="color: #333333; mso-ansi-language: EN"> </span><span style="color: #333333"><p>&nbsp;</p></span><p>&nbsp;</p>]]></description>
         <link>http://www.infosysblogs.com/engineering-software/2010/01/handling_data_in_enterprise_ma_1.html</link>
         <guid>http://www.infosysblogs.com/engineering-software/2010/01/handling_data_in_enterprise_ma_1.html</guid>
         <category>Web 2.0</category>
         <pubDate>Wed, 27 Jan 2010 14:12:23 +0000</pubDate>
      </item>
            <item>
         <title>Google File System</title>
         <description><![CDATA[<p><span style="font-family: Arial; font-size: 9pt">The Google File System (GFS) is a scalable distributed file system designed and developed by Google for distributed data intensive applications. GFS was born out of the need to meet the rapidly growing data processing needs of Google. The design of the GFS shared many of the same goals (e.g. concurrency, scalability, availability and reliability) as previous distributed file systems, but differed from earlier file systems to meet the demands of application workloads and technological environment at Google. Almost a decade later, most of Google&rsquo;s applications rely on GFS to store and process data. Although Google has not published the GFS code, the design of GFS is discussed in detail, in a paper (titled &ldquo;The Google File System&rdquo;) published by Google engineers. To explore more about the design of GFS, one needs to read the original paper present at <a href="http://labs.google.com/papers/gfs.html">http://labs.google.com/papers/gfs.html</a>. </span></p><p><span style="font-family: Arial; font-size: 9pt" /></p>]]></description>
         <link>http://www.infosysblogs.com/engineering-software/2010/01/google_file_system_1.html</link>
         <guid>http://www.infosysblogs.com/engineering-software/2010/01/google_file_system_1.html</guid>
         <category>General</category>
         <pubDate>Sun, 24 Jan 2010 10:29:49 +0000</pubDate>
      </item>
            <item>
         <title>Is Big Bang the right approach to Internationalization?</title>
         <description><![CDATA[<p align="justify">Over the years our project teams have matured in the way they handle the implementation of an Internationalization project, however things were not always so smooth. There were times when the project was tested and delivered to the client, but it refused to work on the client&rsquo;s machines. The offshore team just couldn&rsquo;t figure out the reason for this to happen. A lot of fire fighting effort was then required to get things back on track and take corrective actions. Most of the problems were due to wrong planning, lack of technical understanding and incorrect assumptions. Things are pretty much streamlined now with an i18n Center of Excellence (CoE), i18n frameworks, analysis tools, POC&rsquo;s and best practices in place. Here I am going to recollect my earliest Internationalization experience and what we learnt from it.</p>]]></description>
         <link>http://www.infosysblogs.com/engineering-software/2010/01/is_big_bang_the_right_approach.html</link>
         <guid>http://www.infosysblogs.com/engineering-software/2010/01/is_big_bang_the_right_approach.html</guid>
         <category>Internationalization</category>
         <pubDate>Mon, 11 Jan 2010 09:12:11 +0000</pubDate>
      </item>
            <item>
         <title>Deciding Optimal Unicode Solution for Globalization Database</title>
         <description><![CDATA[<p align="justify">The concept of Globalization and the estimation model has been explained very well by Aviraj Singh in his post <em><u><span>Effort estimation for a Globalization project</span></u></em>.&nbsp;&nbsp; Being a database person I always look at it from a different perspective, giving a bit extra weightage to database. There are lots of granular intricacies that one has to think of before deciding the solution for supporting<span> </span>Unicode data in databases.&nbsp; It can be achieved though <em>Unicode database</em> i.e. <span>&nbsp;</span>Upgrading database character set to one that supports UTF-8 encoded characters as SQL datatypes like CHAR/VARCHAR2 etc. Another option can be <em>Unicode</em> <em>Datatype</em> i.e. to support multilingual data only for certain columns by using Unicode national character set <span>&nbsp;</span>to store multilingual data in SQL NCHAR datatype attributes , without making any changes to database character set. The&nbsp; most confusing and key&nbsp;&nbsp; decision for Globalization project is&nbsp; whether <em>one should opt for <strong>Unicode database</strong> or <strong>Unicode data types</strong></em> for supporting multiple languages in database. This is a key decision for the success of any Globalization project and will also have a considerable impact on effort estimations.&nbsp; An incorrect choice at this stage can lead to a lot of rework and end hour surprises.&nbsp;&nbsp; </p><p align="justify">&nbsp;</p>]]></description>
         <link>http://www.infosysblogs.com/engineering-software/2009/12/deciding_optimal_unicode_solut_1.html</link>
         <guid>http://www.infosysblogs.com/engineering-software/2009/12/deciding_optimal_unicode_solut_1.html</guid>
         <category>Internationalization</category>
         <pubDate>Thu, 31 Dec 2009 10:31:25 +0000</pubDate>
      </item>
            <item>
         <title>Google Public DNS</title>
         <description><![CDATA[<p class="Normal"><span class="Normal__Char" style="font-size: 10pt">A month ago,&nbsp;Google announced the release of Google Public DNS (Domain Name System), which is a free DNS resolution service. DNS is used to translate human friendly computer names into IP addresses. When a user types the name of a website, the Domain Name Servers convert this name into an IP address, and this IP address is used by your machine to send requests. A DNS network contains a set of servers which maintain a cache of domain name to IP address mappings. Usually these Domain Name Servers are maintained by your Internet Service Providers (ISP). With Public DNS service, Google wants to provide an alternative to your ISP&rsquo;s service. Public DNS leverages the existing infrastructure used by Google&rsquo;s search engine, which uses crawlers to scan through millions of websites. The DNS information cached by these web crawlers is used by Public DNS. Already a company by name Open DNS offers a similar popular DNS resolution service.</span></p><p class="Normal"><span class="Normal__Char" style="font-size: 10pt" /></p><!-- Copyright (c) 2006 Microsoft Corporation.  All rights reserved. --><!-- OwaPage = ASP.webreadyviewbody_aspx --><!--Copyright (c) 2006 Microsoft Corporation. All rights reserved.-->]]></description>
         <link>http://www.infosysblogs.com/engineering-software/2009/12/google_public_dns.html</link>
         <guid>http://www.infosysblogs.com/engineering-software/2009/12/google_public_dns.html</guid>
         <category>General</category>
         <pubDate>Wed, 30 Dec 2009 13:37:32 +0000</pubDate>
      </item>
            <item>
         <title>Don’t think local, think locale</title>
         <description><![CDATA[<p align="justify">Imagine yourself going to Japan to open a restaurant. Your market research says that your burgers are going to sell like hot cakes there, so you have planned a major investment there and drawn up plans for expansions. You land at the Narita airport and are absolutely clueless on how to get out of there. You look around and find that all directions and signs in Japanese. You try to ask for directions but all you get is blank stares because no one understands English. Somehow you manage to find your way out and get busy with your work. After a lot of hard work, you finally open your restaurant but you don&rsquo;t find many people walking in. Your business goes dry and it&rsquo;s difficult to survive with so much local competition around. What is really going wrong? Didn&rsquo;t your market research say that you are bound to succeed?</p>]]></description>
         <link>http://www.infosysblogs.com/engineering-software/2009/12/dont_think_local_think_locale.html</link>
         <guid>http://www.infosysblogs.com/engineering-software/2009/12/dont_think_local_think_locale.html</guid>
         <category>Internationalization</category>
         <pubDate>Fri, 11 Dec 2009 12:25:24 +0000</pubDate>
      </item>
            <item>
         <title>Green Computing and Virtualization</title>
         <description><![CDATA[<p>While&nbsp;contemplating about&nbsp;the importance of virtualization in achieving green computing standards especially in organizations hosting data centers, I came across an interesting article <a title="Cloud Computers to warm homes" href="http://timesofindia.indiatimes.com/home/environment/developmental-issues/Cloud-computers-to-warm-homes-from-six-feet-under-/articleshow/5304474.cms" target="_blank">here</a> on how energy emissions from data centers can be used to warm homes in Scandinavian countries. </p>]]></description>
         <link>http://www.infosysblogs.com/engineering-software/2009/12/green_computing_and_virtualiza.html</link>
         <guid>http://www.infosysblogs.com/engineering-software/2009/12/green_computing_and_virtualiza.html</guid>
         <category>Virtualization</category>
         <pubDate>Wed, 09 Dec 2009 11:55:20 +0000</pubDate>
      </item>
            <item>
         <title>Testing Cycles and Product Stability</title>
         <description><![CDATA[<p>Years of experience in software development have not helped reduce anxiety levels whenever a project enters the 'Testing' phase of the Software Development Life Cycle. It feels the same as one would feel when parents accompanied you to school to collect your academic results at the end of term examinations. There is always the anxiety of whether&nbsp;the&nbsp;output of the design and coding phase will be able to successfully sustain the&nbsp;test case bombardment. Besides, you would also be anxious&nbsp;&nbsp;to know if&nbsp;there are&nbsp;enough test cases to traverse all paths of the software while testing functionality&nbsp;and QoS parameters&nbsp;-&nbsp;so as to&nbsp;be confident that all loose ends are&nbsp;covered. An even more difficult pill to swallow is a situation where you realize that a number of your tests are failing, and you will have to get back to the customer with the bad news and request an extension. But even after that, how do you gurantee that your product will be defect free ? How do you gurantee that you have not introduced defects unknowingly while fixing the known ones ?&nbsp;Experts would ofcourse&nbsp;recommend a 'thorough peer code review' - but even after that, you would still need a 'tested and passed' certificate before the software is passed to the customer for his acceptance tests.</p>]]></description>
         <link>http://www.infosysblogs.com/engineering-software/2009/12/testing_cycles_and_product_sta.html</link>
         <guid>http://www.infosysblogs.com/engineering-software/2009/12/testing_cycles_and_product_sta.html</guid>
         <category>Software Product Testing</category>
         <pubDate>Tue, 08 Dec 2009 09:49:15 +0000</pubDate>
      </item>
            <item>
         <title>Internationalization and the development life cycle</title>
         <description><![CDATA[<p align="justify">As a product company your team has come up with a brilliant concept which has tremendous marketing potential in your country. Your marketing survey shows that the concept will soon catch up with other countries across the globe and you can capture the overseas market too. The only catch is that the product will be required to be globalized before it is launched in the international markets. A global launch is still 5-6 months away, so what product strategy will you adopt? Develop the product in English and later when you have access to the global markets, think of internationalizing it or start developing an internationalized version of the product right from conceptualization stage so that you are ready to penetrate the global markets when the time comes? This is a question most product managers will face while developing a product.</p>]]></description>
         <link>http://www.infosysblogs.com/engineering-software/2009/11/internationalization_and_the_d.html</link>
         <guid>http://www.infosysblogs.com/engineering-software/2009/11/internationalization_and_the_d.html</guid>
         <category>Internationalization</category>
         <pubDate>Wed, 25 Nov 2009 08:10:02 +0000</pubDate>
      </item>
            <item>
         <title>Trading off with Design Patterns</title>
         <description><![CDATA[<p>Over the last decade or so, any queries as regards designing object oriented software systems would lead to one being advised to read the Go4's book on Design Patterns (Design Patterns: Elements of Reusable Object-Oriented Software). It is without doubt a wonderfully written book and should be in the possession of most software designers involved in the world of object oriented design. But, what happens when an over-enthusiastic reader ends up seeing patterns in every software problem he encounters ? </p>]]></description>
         <link>http://www.infosysblogs.com/engineering-software/2009/11/trading_off_with_design_patter.html</link>
         <guid>http://www.infosysblogs.com/engineering-software/2009/11/trading_off_with_design_patter.html</guid>
         <category></category>
         <pubDate>Tue, 24 Nov 2009 10:37:51 +0000</pubDate>
      </item>
            <item>
         <title>Effort estimation for a Globalization project</title>
         <description><![CDATA[<p class="MsoNormal" style="margin: 0in 0in 0pt" align="justify"><span style="font-size: 10pt; font-family: Arial">Effort estimation is the first step to undertaking any software project and a Globalization project is no different. Effort estimation for a product or application which needs to be Globalized follows more or less the same estimation principles as regular maintenance projects, yet there are no defined methods specifically for estimating the amount of I18N or L10N changes required. While working on the proposal for a Globalization project for one of our clients we were faced with the dilemma of adopting standard methodologies like <em>SMC based</em> estimation, <em>FP based</em> estimation etc or trying to create a hybrid and come up with our own estimation model which follows the same estimation principles but is more tailored for globalization projects. Finally we came up with a raw estimation model which was fine tuned over time and gave us estimates which were statistically inline with the results from other maintenance projects.</span><span style="font-size: 10pt; font-family: Arial" /></p>]]></description>
         <link>http://www.infosysblogs.com/engineering-software/2009/11/effort_estimation_for_a_global.html</link>
         <guid>http://www.infosysblogs.com/engineering-software/2009/11/effort_estimation_for_a_global.html</guid>
         <category>Internationalization</category>
         <pubDate>Wed, 11 Nov 2009 08:19:04 +0000</pubDate>
      </item>
            <item>
         <title>Embrace Parallelism with Virtual Machines</title>
         <description>Parallelism has until recently been a term associated with the world of high performance computing. Though humans have been endowed naturally with the ability to &apos;parallelize&apos; worldly activities (one dangerous manifestation of which is the tendency to talk on the cell while driving your car), designing systems to embrace parallelism has always required that extra bit of mental effort. </description>
         <link>http://www.infosysblogs.com/engineering-software/2009/11/embrace_parallelism_with_virtu.html</link>
         <guid>http://www.infosysblogs.com/engineering-software/2009/11/embrace_parallelism_with_virtu.html</guid>
         <category>Virtualization</category>
         <pubDate>Tue, 10 Nov 2009 14:21:15 +0000</pubDate>
      </item>
      
   </channel>
</rss>
