<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6424353480348156968</id><updated>2011-11-30T04:07:57.853-08:00</updated><category term='Windows 2003'/><category term='Software Engineering'/><category term='GOF Pattern'/><category term='Metro'/><category term='Performance'/><category term='Deductive logic'/><category term='Structural inefficiency  in Health Care Network'/><category term='Application Security'/><category term='Inteactive and Reactive programming'/><category term='Security Model'/><category term='837'/><category term='VB.NET'/><category term='C# Compiler'/><category term='OOB'/><category term='SoCal Code Camp'/><category term='RIA'/><category term='Focus'/><category term='hadoop'/><category term='ASP.NET'/><category term='LinqDataSource'/><category term='web 2.0'/><category term='SNOMED'/><category term='ORM'/><category term='many-core'/><category term='Inductive logic'/><category term='WEb Service'/><category term='SOA Architecture'/><category term='EDI X12 834'/><category term='HTTP End Points'/><category term='.NET 2.0'/><category term='LINQ'/><category term='logic'/><category term='Javascript'/><category term='Silverlight 4'/><category term='LA CloudCamp'/><category term='SQL Server 2005'/><category term='transformation'/><category term='Simplicity'/><category term='XML'/><category term='Business Model'/><category term='spatial cache'/><category term='on demand'/><category term='CouchDB'/><category term='Source code'/><category term='Windows Phone 7'/><category term='ASP.NET / C#'/><category term='managing for the change'/><category term='Tokyo Cabinet'/><category term='aspect oriented programming'/><category term='market'/><category term='Update Stored Procedure'/><category term='compiler'/><category term='multi-processor'/><category term='Entity Framework'/><category term='.NET'/><category term='Hybernate'/><category term='Mainframe'/><category term='Interoperability'/><category term='skills'/><category term='Windows 8'/><category term='CAPEX'/><category term='Architecture'/><category term='Evolution of Computer Systems Architecture'/><category term='MVC'/><category term='Advances in computer science'/><category term='Velocity'/><category term='Exception types'/><category term='cache'/><category term='Enterprise Pattern'/><category term='Mango'/><category term='OOD'/><category term='AJAX'/><category term='Code Refactor'/><category term='temporal cache'/><category term='Integration'/><category term='SOA'/><category term='Dynamic Data Entities Web Application'/><category term='demand cache'/><category term='Client Server'/><category term='Data Structure'/><category term='MEF'/><category term='High level langueges'/><category term='SaaS'/><category term='Gartner Hype Cycle'/><category term='Software licensing'/><category term='Gen next coming'/><category term='EDI X12 837'/><category term='browser'/><category term='Impedance mismatch'/><category term='Visual Basic'/><category term='Virtualization'/><category term='Power of programming language'/><category term='Azure Platform'/><category term='OPEX'/><category term='transactional cache'/><category term='SQl Azure'/><category term='Application Design'/><category term='VS 2008 debugger'/><category term='team building'/><category term='Advertizing based software'/><category term='ClockLink'/><category term='Internet'/><category term='cloud computing'/><category term='IASA'/><category term='.NET Reflector'/><category term='evolution of UI and Data'/><category term='HL7'/><category term='Software Development'/><category term='experience'/><category term='migration'/><category term='ASP'/><category term='primed cache'/><category term='Hardware Upgrade'/><category term='RDBMS'/><category term='HTTPEndpoints'/><category term='Type checking'/><category term='Object Browser'/><category term='multiplexing'/><category term='Caching'/><category term='Role Base Access Security [RBAC]'/><category term='VB'/><category term='Java'/><category term='ADO.NET'/><category term='Distributed Computing'/><category term='C#'/><category term='JAOO'/><category term='CAP'/><category term='software architecture'/><category term='Hypervisor'/><category term='Database'/><category term='PDC'/><category term='LOINC'/><category term='Design Pattern'/><category term='programmer productivity'/><category term='IT Infrastructure Planning'/><category term='shared cache'/><category term='835'/><title type='text'>Software As Service</title><subtitle type='html'>What is SaaS? From Salesforce.com to workday.com, many vendors are offering Internet based, hosted software services. This business model is commonly known as SaaS. This Blog will focus on Design and Development of SaaS. &lt;center&gt;&lt;strong&gt;Abhijit Gadkari&lt;/strong&gt;&lt;br&gt;&lt;/center&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>67</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-261569495890146895</id><published>2011-09-13T11:27:00.000-07:00</published><updated>2011-09-15T15:03:49.924-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows 8'/><title type='text'>Windows 8 Programming Stack</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/-2JGRisccuCc/TnJ1osMViZI/AAAAAAAAATY/-lt2IsjGxME/s1600/NEW%2BMS%2BStack1.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 200px;" src="http://4.bp.blogspot.com/-2JGRisccuCc/TnJ1osMViZI/AAAAAAAAATY/-lt2IsjGxME/s320/NEW%2BMS%2BStack1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5652709824221514130" /&gt;&lt;/a&gt;My take with few additions&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Original Slide from MS&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/-AQcO8mOZfMc/Tm-g6iBFVpI/AAAAAAAAATQ/eUwDjDZmC5I/s1600/NEW%2BMS%2BStack.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="text-align: left;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 320px; height: 200px; " src="http://1.bp.blogspot.com/-AQcO8mOZfMc/Tm-g6iBFVpI/AAAAAAAAATQ/eUwDjDZmC5I/s320/NEW%2BMS%2BStack.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5651912984797468306" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;SIlverlight and XAML are not dead but HTML 5 and Javascript are supported out-of-the box.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Good summary available @ &lt;a href="http://www.zdnet.com/blog/microsoft/microsoft-to-developers-metro-is-your-future/10611"&gt;http://www.zdnet.com/blog/microsoft/microsoft-to-developers-metro-is-your-future/10611&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-261569495890146895?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/261569495890146895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=261569495890146895' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/261569495890146895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/261569495890146895'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2011/09/windows-8-programming-stack.html' title='Windows 8 Programming Stack'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-2JGRisccuCc/TnJ1osMViZI/AAAAAAAAATY/-lt2IsjGxME/s72-c/NEW%2BMS%2BStack1.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-7410924369900156384</id><published>2011-08-15T21:48:00.000-07:00</published><updated>2011-08-15T21:52:30.794-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='market'/><title type='text'>Numbers and Pictures!</title><content type='html'>&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-GxcRB3ztnCk/Tkn2o7OQi5I/AAAAAAAAAS0/mZzT6iBqQH4/s1600/market.png"&gt;&lt;img style="margin: 0px auto 10px; width: 320px; height: 246px; text-align: center; display: block; cursor: pointer;" id="BLOGGER_PHOTO_ID_5641311191210953618" border="0" alt="" src="http://3.bp.blogspot.com/-GxcRB3ztnCk/Tkn2o7OQi5I/AAAAAAAAAS0/mZzT6iBqQH4/s320/market.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-7410924369900156384?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/7410924369900156384/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=7410924369900156384' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/7410924369900156384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/7410924369900156384'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2011/08/numbers-and-pictures.html' title='Numbers and Pictures!'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-GxcRB3ztnCk/Tkn2o7OQi5I/AAAAAAAAAS0/mZzT6iBqQH4/s72-c/market.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-2567435284040612669</id><published>2011-04-13T23:36:00.001-07:00</published><updated>2011-04-13T23:46:07.697-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Metro'/><category scheme='http://www.blogger.com/atom/ns#' term='Mango'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Phone 7'/><title type='text'>Windows Phone 7 app</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/-drvXdsHvigs/TaaXoX8Ie0I/AAAAAAAAAR8/XIB3eo_m1KM/s1600/tweet.png"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 171px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5595326306931211074" border="0" alt="" src="http://2.bp.blogspot.com/-drvXdsHvigs/TaaXoX8Ie0I/AAAAAAAAAR8/XIB3eo_m1KM/s320/tweet.png" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;Got windows phone 7 app going over the weekend. Hoping that will get new Windows Phone 7 codebase -"Mango" soon to build new cool applications&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/-Udmc2jYRZrc/TaaWlLPSH7I/AAAAAAAAARs/OHMDUeMb04w/s1600/schedule.png"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 171px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5595325152470638514" border="0" alt="" src="http://3.bp.blogspot.com/-Udmc2jYRZrc/TaaWlLPSH7I/AAAAAAAAARs/OHMDUeMb04w/s320/schedule.png" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;div&gt;Above : Schedule application for Doctor and working Win Phone 7 tweet application&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-2567435284040612669?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/2567435284040612669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=2567435284040612669' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/2567435284040612669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/2567435284040612669'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2011/04/got-windows-phone-7-app-going-over.html' title='Windows Phone 7 app'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-drvXdsHvigs/TaaXoX8Ie0I/AAAAAAAAAR8/XIB3eo_m1KM/s72-c/tweet.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-4238748821825158</id><published>2010-11-20T14:43:00.001-08:00</published><updated>2010-11-20T14:46:37.010-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Inteactive and Reactive programming'/><title type='text'>Push Pull</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_J8sDhLDCDXA/TOhPSn4yqzI/AAAAAAAAAQ4/fw0Flufb6Uc/s1600/PushPull.png"&gt;&lt;img style="WIDTH: 320px; HEIGHT: 243px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5541766522842819378" border="0" alt="" src="http://3.bp.blogspot.com/_J8sDhLDCDXA/TOhPSn4yqzI/AAAAAAAAAQ4/fw0Flufb6Uc/s320/PushPull.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;in .NET, Reactive Framework provides great async programming model. More details @ &lt;a href="http://channel9.msdn.com/posts/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues"&gt;Reactive Framework&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-4238748821825158?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/4238748821825158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=4238748821825158' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/4238748821825158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/4238748821825158'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2010/11/push-pull.html' title='Push Pull'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_J8sDhLDCDXA/TOhPSn4yqzI/AAAAAAAAAQ4/fw0Flufb6Uc/s72-c/PushPull.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-1656227918187983286</id><published>2010-09-26T19:31:00.001-07:00</published><updated>2010-09-26T19:32:53.993-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='evolution of UI and Data'/><category scheme='http://www.blogger.com/atom/ns#' term='many-core'/><category scheme='http://www.blogger.com/atom/ns#' term='multi-processor'/><title type='text'>Evolution of Data and UI</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_J8sDhLDCDXA/TKACIkuD9GI/AAAAAAAAAQw/gmNm5zh2BGg/s1600/ManycoreforBlog.png"&gt;&lt;img style="WIDTH: 320px; HEIGHT: 239px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5521415489475310690" border="0" alt="" src="http://4.bp.blogspot.com/_J8sDhLDCDXA/TKACIkuD9GI/AAAAAAAAAQw/gmNm5zh2BGg/s320/ManycoreforBlog.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-1656227918187983286?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/1656227918187983286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=1656227918187983286' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/1656227918187983286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/1656227918187983286'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2010/09/evolution-of-data-and-ui.html' title='Evolution of Data and UI'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_J8sDhLDCDXA/TKACIkuD9GI/AAAAAAAAAQw/gmNm5zh2BGg/s72-c/ManycoreforBlog.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-1748403285112748035</id><published>2010-06-28T00:17:00.001-07:00</published><updated>2010-07-05T13:19:38.679-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SNOMED'/><category scheme='http://www.blogger.com/atom/ns#' term='HL7'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='LOINC'/><category scheme='http://www.blogger.com/atom/ns#' term='Interoperability'/><category scheme='http://www.blogger.com/atom/ns#' term='EDI X12 834'/><title type='text'>Healthcare Interoperability 101</title><content type='html'>&lt;span xmlns=""&gt; &lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:Times New Roman;"&gt;In the US healthcare, there is a lot of buzz around "&lt;em&gt;Interoperability&lt;/em&gt;". Mostly driven by standardization bodies and vendors, this discussion is lost in translation. Just count number of standards, HL7, LOINC, SNOMED, DICOM, CDA, AJCC, FORDS, etc. Don't worry if you don't know a few of these standards – Google will lead you in the right direction.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="font-size:130%;"&gt;For system integrators, challenge is in synchronizing the relevant information and to facilitate the prompt decision making. Mostly the source data is stored in a relational format in the underlying RDBMS systems like SQL Server, Oracle, DB2, MySQL etc. In some cases, data is stored in legacy systems on mainframe computers in EBCDIC format. For example &lt;/span&gt;&lt;a href="http://www.zdnet.com/blog/healthcare/vista-to-be-saved-as-open-source/3626"&gt;&lt;span style="font-size:130%;"&gt;VistA&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:130%;"&gt;, the Veteran Administration's aging Electronic Health Records (EHR) system written in MUMPS.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:Times New Roman;"&gt;A good analogy would be to compare healthcare interoperability landscape with the United Nations General Assembly. In the UN, we have more than 150 countries and their representative speaking in hundreds of different languages and numerous dialects. Everyone is concerned with "Global Peace". And as was explained by one UN employee, the challenge is to establish the common ground, and ensuring that the message is not lost in translation. We in healthcare are facing the same challenge – for us, it's an interoperability challenge. For system healthcare integrators, interoperability is an ongoing struggle. Consider the following figure&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://3.bp.blogspot.com/_J8sDhLDCDXA/TChNZJacbfI/AAAAAAAAAQY/eUL9ROilsO8/s1600/MessageFormat.png"&gt;&lt;span style="font-size:130%;"&gt;&lt;img style="WIDTH: 320px; HEIGHT: 194px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5487721240369851890" border="0" alt="" src="http://3.bp.blogspot.com/_J8sDhLDCDXA/TChNZJacbfI/AAAAAAAAAQY/eUL9ROilsO8/s320/MessageFormat.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Figure above represents the simplistic view of diverse message formats used in every day healthcare information exchange. Many expert working groups are investing a lot of time and energy in formulating these standards, and keeping them up to date. Most of these messages carry almost identical information like patient demographics, albeit in its own format. For example, X12 Eligibility request and &lt;span style="color:black;"&gt;HL7 patient demographics information. In the source data store, patient information will mostly be stored in the same location.&lt;/span&gt; Challenge is in figuring out the real cost of supporting these diverse message sets for system integrators like EMR/EHR vendors, and for the end users like providers and hospitals?&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Time and again, these standards are presented as panacea for all healthcare data integration issues. Each group claims universal support and wide adoption on their website, and vendors supporting them use it wherever possible. Challenging or questioning their relevance is a sin. From BI system to PACS vendors, everyone is driving this bandwagon. IMHO, standards can resolve an interoperability issue is a myth. Standards are part of this puzzle but not the puzzle itself.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="font-size:130%;"&gt;Another issue in interoperability domain is related to the special cases / exceptions. For example, In the US labs market, &lt;/span&gt;&lt;a href="http://loinc.org/"&gt;&lt;span style="font-size:130%;"&gt;LOINC&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:130%;"&gt; is a well established standard. But there are some reference labs where LOINC is not a good enough solution. So we end up with the broken system in which we implement LOINC plus custom codes. It's like writing 90% of the blog post in English with remaining 10% in some other foreign language. Supporting such special requests breaks the interop logic flow. At the implementation level, such requests are either implemented via lookup tables or through custom logic built inside the interop / rules engine.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="font-size:130%;"&gt;Finally, the uniqueness of healthcare presents its own challenge. Consider the specialty like cancer care and in that specialty, a very specialized vertical like Brest Cancer treatment. Brest Cancer treatment and survival statistics reporting demands some special attention. Hence, we end up with &lt;/span&gt;&lt;a href="http://www.facs.org/cancer/coc/fordsmanual.html"&gt;&lt;span style="font-size:130%;"&gt;FORDS&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:130%;"&gt; -&lt;em&gt; Facility Oncology Registry Data Standard. &lt;/em&gt;FORDS provides definitions and detailed instructions for coding patient diagnosis, treatment, and outcomes. Now, standards like FORDS play an important role in the cancer treatment domain. But for the system integrators, this is one more message format to deal with. In the end, we have to deal with multitude of interoperability challenges as explained below&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_J8sDhLDCDXA/TChNtq4qDgI/AAAAAAAAAQg/TjQqHBV3D78/s1600/interoperability.png"&gt;&lt;span style="font-size:130%;"&gt;&lt;img style="WIDTH: 320px; HEIGHT: 215px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5487721592952327682" border="0" alt="" src="http://3.bp.blogspot.com/_J8sDhLDCDXA/TChNtq4qDgI/AAAAAAAAAQg/TjQqHBV3D78/s320/interoperability.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;p&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;Conclusion&lt;br /&gt;&lt;br /&gt;Interoperability requirements will evolve with time. No one standard / group should try to design "Grand Daddy" of all these systems. Any such attempt will create a gynormous blueprint, practically impossible to implement.&lt;br /&gt;&lt;br /&gt;References &lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.amazon.com/Principles-Health-Interoperability-SNOMED-Informatics/dp/1848828020"&gt;&lt;span style="font-size:130%;"&gt;Principles of Health Interoperability HL7 and SNOMED&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-1748403285112748035?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/1748403285112748035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=1748403285112748035' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/1748403285112748035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/1748403285112748035'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2010/06/healthcare-interoperability-101.html' title='Healthcare Interoperability 101'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_J8sDhLDCDXA/TChNZJacbfI/AAAAAAAAAQY/eUL9ROilsO8/s72-c/MessageFormat.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-6312626358756390244</id><published>2010-03-12T17:10:00.000-08:00</published><updated>2010-06-20T16:01:01.886-07:00</updated><title type='text'>What type of company are you working for?</title><content type='html'>No great company can be built on revenue model – everything should start with product. Apple, BMW, and GE – everybody had a great product and then they built revenue model around it. If we drive our development to catch up with revenue, we will be in catch-up game all the time. We will end up adding a lot of functionality for anybody who wants to buy. Every opportunity is billion dollar one and every customer is God! We get it, but if we don’t know where we want to go – any road will take us there…&lt;br /&gt;&lt;br /&gt;Are you working for a product driven company or revenue driven one? Answers are not simple as revenue will drive the product, and product will generate revenue. But there is a litmus test, if your short term plan is in flux and you bump on new keyword every three to five weeks, chances are you are driven by sales organization. If you have people talking about same technology for long time, and have a capacity built around it, then you are working for a product driven company. &lt;br /&gt;&lt;br /&gt;For example, iPhone, Google, ebay was not built to make millions / billions and 110% growth. First the product was designed and developed followed by growth. Now anybody trying to catch–up with these companies are investing 10 bucks, and want 40 back in two years. And we all know where this strategy is going.&lt;br /&gt;&lt;br /&gt;Alas! We know – We understand and then We ignore…what type of company are you working for?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-6312626358756390244?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/6312626358756390244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=6312626358756390244' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/6312626358756390244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/6312626358756390244'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2010/03/what-type-of-company-are-you-working.html' title='What type of company are you working for?'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-5948298602185289876</id><published>2010-02-26T22:12:00.000-08:00</published><updated>2010-02-26T22:14:36.239-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gen next coming'/><title type='text'>Gen next coming</title><content type='html'>Barbie The Computer Engineer...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_J8sDhLDCDXA/S4i4Awb_2rI/AAAAAAAAAP0/hp-I8cdybM4/s1600-h/Barbie.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 114px; height: 320px;" src="http://1.bp.blogspot.com/_J8sDhLDCDXA/S4i4Awb_2rI/AAAAAAAAAP0/hp-I8cdybM4/s320/Barbie.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5442802472819088050" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-5948298602185289876?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/5948298602185289876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=5948298602185289876' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/5948298602185289876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/5948298602185289876'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2010/02/gen-next-coming.html' title='Gen next coming'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_J8sDhLDCDXA/S4i4Awb_2rI/AAAAAAAAAP0/hp-I8cdybM4/s72-c/Barbie.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-1450273999573166637</id><published>2010-02-13T10:43:00.000-08:00</published><updated>2010-02-13T11:06:15.611-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MEF'/><category scheme='http://www.blogger.com/atom/ns#' term='RIA'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight 4'/><category scheme='http://www.blogger.com/atom/ns#' term='OOB'/><title type='text'>Freash from Boot Camp</title><content type='html'>I just got back from Silverlight 4.0 Microsoft boot camp. It was great experience [much better than a three day conference]. &lt;a href="http://geekswithblogs.net/BelugaNeil/archive/2010/01/05/silverlight-4-oob-out-of-browser-application.aspx"&gt;OOB&lt;/a&gt;,&lt;a href="http://msdn.microsoft.com/en-us/library/dd460648(VS.100).aspx"&gt;MEF&lt;/a&gt;,&lt;a href="http://blogs.msdn.com/brada/archive/2009/03/19/what-is-net-ria-services.aspx"&gt;RIA web service&lt;/a&gt;,&lt;a href="http://blogs.silverlight.net/blogs/msnow/archive/2008/07/16/tip-of-the-day-19-using-isolated-storage.aspx"&gt;isolated storage&lt;/a&gt;,local mesh and much more...&lt;br /&gt;&lt;br /&gt;What we saw in these four days in Redmond is really amazing, and talking to silverlight dev team was a great experience.Friends, river of possibilities is flowing high - its just a matter of jumping in and being part of the fun ride...&lt;br /&gt;&lt;br /&gt;I am working on a silverlight 4 test app. Will blog a bout it when its ready.&lt;br /&gt;&lt;br /&gt;Till then, have fun, stay in touch and be safe!&lt;br /&gt;&lt;br /&gt;Ciao!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-1450273999573166637?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/1450273999573166637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=1450273999573166637' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/1450273999573166637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/1450273999573166637'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2010/02/freash-from-boot-camp.html' title='Freash from Boot Camp'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-1946663349313469039</id><published>2010-01-21T07:25:00.000-08:00</published><updated>2010-01-21T07:28:52.901-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Architecture'/><title type='text'>Design 101</title><content type='html'>I was reading "Dreaming in Code" and thinking about many project I worked on in my career...&lt;br /&gt;&lt;br /&gt;And the thought of production tragedy kept coming at me. So finally got it... &lt;br /&gt;&lt;br /&gt;When Design is a disaster and Implementation is catastrophe - production will be  Tragedy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-1946663349313469039?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/1946663349313469039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=1946663349313469039' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/1946663349313469039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/1946663349313469039'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2010/01/design-101.html' title='Design 101'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-5662930882309206160</id><published>2009-12-27T22:02:00.000-08:00</published><updated>2009-12-27T22:35:17.307-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OPEX'/><category scheme='http://www.blogger.com/atom/ns#' term='CAPEX'/><category scheme='http://www.blogger.com/atom/ns#' term='SOA Architecture'/><title type='text'>SOA: CAPEX Vs OPEX</title><content type='html'>When is your Information Technology investment in general and Service related investment in particular is CAPEX and not an OPEX? Let’s consider an example, if service is a value-add then money spent on it will be CAPEX, otherwise if it is something you have to do to keep your product alive – it’s definitely OPEX.  &lt;br /&gt;&lt;br /&gt;From architecture point, CAPEX services can be developed in an isolated environment and tied back to the product via satellite interface. Many such services are offered via browser and charged on pay-per-use billing model. On the other hand, core business services like messaging and security are integral part of the product and are tightly integrated with it. Mostly, customer will end up paying for OPEX service in one way or other. &lt;br /&gt;&lt;br /&gt;Recently, my cell phone provider offered me additional data storage for fixed cost per month. This is a good example of a CAPEX service. Same provider is charging me fixed price for each text message [since I don’t have text plan] – I guess, for the provider, this is an OPEX service.&lt;br /&gt;&lt;br /&gt;There are many things we consider while evaluating any technology including distribution model. With SOA, this distribution channel and CAPEX / OPEX model will decide many things like coupling architecture, SLA and revenue projections…&lt;br /&gt;&lt;br /&gt;**I am not an accountant and do not understand the nuances involved in this CAPEX Vs OPEX discussion. So feel free to correct me …&lt;br /&gt;&lt;br /&gt;Happy Holidays!&lt;br /&gt;&lt;br /&gt;Ref:&lt;br /&gt;&lt;a href="http://www.stratetect.com/2008/06/capex-vs-opex-what-is-the-difference/"&gt;http://www.stratetect.com/2008/06/capex-vs-opex-what-is-the-difference/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-5662930882309206160?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/5662930882309206160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=5662930882309206160' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/5662930882309206160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/5662930882309206160'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2009/12/soa-capex-vs-opex.html' title='SOA: CAPEX Vs OPEX'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-3284344123036140591</id><published>2009-11-03T12:18:00.003-08:00</published><updated>2009-11-03T12:19:47.765-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EDI X12 837'/><category scheme='http://www.blogger.com/atom/ns#' term='Structural inefficiency  in Health Care Network'/><category scheme='http://www.blogger.com/atom/ns#' term='HL7'/><title type='text'>X12 and HL7 view of the patient</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_J8sDhLDCDXA/SvCQPumMnoI/AAAAAAAAAPs/el03a3zdaHY/s1600-h/X12HL7.PNG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 253px;" src="http://1.bp.blogspot.com/_J8sDhLDCDXA/SvCQPumMnoI/AAAAAAAAAPs/el03a3zdaHY/s320/X12HL7.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5399974553097903746" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-3284344123036140591?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/3284344123036140591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=3284344123036140591' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/3284344123036140591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/3284344123036140591'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2009/11/x12-and-hl7-view-of-patient.html' title='X12 and HL7 view of the patient'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_J8sDhLDCDXA/SvCQPumMnoI/AAAAAAAAAPs/el03a3zdaHY/s72-c/X12HL7.PNG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-9000332234776156127</id><published>2009-10-18T11:57:00.000-07:00</published><updated>2009-10-18T12:00:04.609-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADO.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Impedance mismatch'/><category scheme='http://www.blogger.com/atom/ns#' term='RDBMS'/><title type='text'>Impedance mismatch</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_J8sDhLDCDXA/Sttlh6sACEI/AAAAAAAAAPk/Qpw5zET-tWU/s1600-h/impedencemismatch.PNG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 249px;" src="http://1.bp.blogspot.com/_J8sDhLDCDXA/Sttlh6sACEI/AAAAAAAAAPk/Qpw5zET-tWU/s320/impedencemismatch.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5394016612070197314" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-9000332234776156127?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/9000332234776156127/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=9000332234776156127' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/9000332234776156127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/9000332234776156127'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2009/10/impedance-mismatch.html' title='Impedance mismatch'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sttlh6sACEI/AAAAAAAAAPk/Qpw5zET-tWU/s72-c/impedencemismatch.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-7238107582364589914</id><published>2009-10-02T23:12:00.000-07:00</published><updated>2009-10-02T23:16:49.123-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamic Data Entities Web Application'/><category scheme='http://www.blogger.com/atom/ns#' term='SQl Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET / C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Entity Framework'/><title type='text'>Healthcare Demo App on SQL Azure Platform</title><content type='html'>In our Azure user group meeting and at the LA CloudCamp, I heard many people asking about support for entity framework on top of SQL Azure platform. The best way to test / ans / find out is to build an application. &lt;br /&gt;&lt;br /&gt;So I have developed a healthcare app [provider claim lookup] on top of SQL Azure. This app is based on "Code Far" model -i.e. app is running of the hosted server but data is stored in the cloud.&lt;br /&gt;&lt;br /&gt;Developed using : Dynamic Data Entities Web Application, Entity Framework, SQL Azure, ASP.NET / C#&lt;br /&gt;&lt;br /&gt;Here is a link &lt;a href="http://www.zimbatech.com/healthcaredemo/ " target="_blank"&gt;http://www.zimbatech.com/healthcaredemo/ &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;abhi&lt;br /&gt;&lt;a href="http://www.zimbatech.com" target="_blank"&gt;www.zimbatech.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-7238107582364589914?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/7238107582364589914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=7238107582364589914' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/7238107582364589914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/7238107582364589914'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2009/10/healthcare-demo-app-on-sql-azure.html' title='Healthcare Demo App on SQL Azure Platform'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-4776060644865113295</id><published>2009-10-01T15:27:00.000-07:00</published><updated>2009-10-01T16:02:12.549-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQl Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='Tokyo Cabinet'/><category scheme='http://www.blogger.com/atom/ns#' term='LA CloudCamp'/><category scheme='http://www.blogger.com/atom/ns#' term='JAOO'/><category scheme='http://www.blogger.com/atom/ns#' term='CAP'/><category scheme='http://www.blogger.com/atom/ns#' term='PDC'/><category scheme='http://www.blogger.com/atom/ns#' term='CouchDB'/><category scheme='http://www.blogger.com/atom/ns#' term='hadoop'/><title type='text'>LA CloudCamp -Data in the Cloud</title><content type='html'>We had a very good &lt;a href="http://www.cloudcamp.com/?page_id=1263" target="_blank"&gt;CloudCamp in LA&lt;/a&gt;. It was my first unconference – I was not sure what to expect and what I will learn. But at the end of the day [around 11.45 PM or so], when I was walking up to my underground garage on the corner of 5th and Olive, I felt really good about it. It was on the fly brainstorming session with 100 plus technology related folks.&lt;br /&gt; &lt;br /&gt;The way this camp was conducted is impressive and food [please read it as free food] was awesome. They had unlimited beer for those who would like to climb up in the cloud before getting into any serious conversation…&lt;br /&gt;&lt;br /&gt;We focused on the general theme of data in the cloud. I started the conversation with &lt;a href="http://www.infoq.com/presentations/availability-consistency" target="_blank"&gt;CAP&lt;/a&gt; [not CRAP]. &lt;a href="http://www.julianbrowne.com/article/viewer/brewers-cap-theorem" target="_blank"&gt;C: Consistency, A: Availability and P: partionshing &lt;/a&gt;[a.k.a. load balancing, scaling etc.]. It is mathematically proven that one can have any two of these three qualities in any massively distributed system. Now if we are building an app for the cloud – this principal is very important as there is a network in the middle… it was a discussion that could almost go on for days if not weeks, and we had to wrap it up in half an hour. So the conclusion was twofold – know the limitations and choose what you want before you build your app – you can have any combination of CAP – viz – CA, AP or CP but not all…&lt;br /&gt;&lt;br /&gt;Then &lt;a href="http://blogs.msdn.com/SoCalDevGal/" target="_blank"&gt;Lynn Langit&lt;/a&gt; of the Microsoft presented on &lt;a href="http://www.microsoft.com/azure/sql.mspx" target="_blank"&gt;SQL Azure&lt;/a&gt;. It was a very good, house full presentation. Our small room was jam packed to its limit and Lynn did a great job of introducing this RDBMS in the cloud. Yes, we heard all those legitimate concerns one more time – how can you build a real database with 10 GB, and what about replication? But as Lynn said this is V1 [and we know from our experience that MS gets the right product out with V3]. I learned one important lesson in this session – when there are non-microsofties around – explain every acronym you use. For them &lt;a href="http://microsoftpdc.com/" target="_blank"&gt;PDC&lt;/a&gt; and RTM is like &lt;a href="http://jaoo.dk/" target="_blank"&gt;JAOO&lt;/a&gt; to the Microsoft community.&lt;br /&gt;&lt;br /&gt;Our final talk was on scaling the data in the cloud. From what I understood [which might be way off the mark], there is altogether other alternative to the RDBMS model. Things like &lt;a href="http://www.igvita.com/2009/02/13/tokyo-cabinet-beyond-key-value-store/" target="_blank"&gt;Tokyo Cabinet&lt;/a&gt; and &lt;a href="http://hadoop.apache.org/" target="_blank"&gt;hadoop&lt;/a&gt; , HBASE, &lt;a href="http://couchdb.apache.org/" target="_blank"&gt;CouchDB&lt;/a&gt;, etc. [WOW – I remembered all these things]. The point of this discussion was, start thinking outside the box. There are other ways to think about transactions – like &lt;a href="http://www.johndcook.com/blog/2009/07/06/brewer-cap-theorem-base/" target="_blank"&gt;BASE&lt;/a&gt;, and ACID is not the only way to achieve the consistency. This session was more techno- philosophical. Take away, as per our DBA friend –“RDBMS is crap, start thinking about alternatives”. In the end, the data structures you want to use depend on the type of applications you want to build. Facebook and banking app are two extreme end points on this scale, and have their unique requirements. Albeit, both of them deal with large datasets…&lt;br /&gt;&lt;br /&gt;In the end, walking back to the parking lot, I heard this interesting comment –“I went to watch a movie and they told me to act in it, there was no Tom Cruise or Don Box, Lary Ellison in the room, and I ended up presenting the show. Oh! Well – thank god my wife was not in the room…please pardon me if I said something stupid, you know I was little bit drunk…”&lt;br /&gt;&lt;br /&gt;abhi&lt;br /&gt;&lt;a href="http://www.zimbatech.com" target="_blank"&gt;www,zimbatech.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-4776060644865113295?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/4776060644865113295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=4776060644865113295' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/4776060644865113295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/4776060644865113295'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2009/10/la-cloudcamp-data-in-cloud.html' title='LA CloudCamp -Data in the Cloud'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-2511727992762083319</id><published>2009-09-26T13:09:00.000-07:00</published><updated>2009-09-26T13:13:52.730-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQl Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='Object Browser'/><title type='text'>SQL Azure Object Browser</title><content type='html'>Yesterday, I did a &lt;a href="http://soaas.blogspot.com/2009/09/alter-stored-procedure-in-sql-azure.html"&gt;blog post&lt;/a&gt; on how to alter a stored procedure. On Microsoft Azure Forum, Gaurav has suggested two very good options. Both of them are a scale down version of SSMS - but are way better than the existing support of SSMS for SQL Azure - they provide decent object browser and you don’t have to cancel the login first time you connect to the SQL Azure database...&lt;br /&gt;&lt;br /&gt;1. Cerebrata supports Windows Azure Platform. An online demo can be found on&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cerebrata.com/Blog/post/Browser-based-SQL-Azure-Explorer.aspx" target="_blank"&gt;http://www.cerebrata.com/Blog/post/Browser-based-SQL-Azure-Explorer...&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I am impressed with the functionality offered here&lt;br /&gt;&lt;br /&gt;2. SQL Azure Manager by &lt;a href="http://hanssens.org/post/SQL-Azure-Manager.aspx" target="_blank"&gt;http://hanssens.org/post/SQL-Azure-Manager.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is a ClickOnce app and only supports table and views but you can run your TSQL here. One can use a combination of these two apps to simulate almost 75% of the SSMS support and is good enough for most of the routine stuff.&lt;br /&gt;&lt;br /&gt;abhi&lt;br /&gt;&lt;a href="http://www.zimbatech.com" target="_blank"&gt;www.zimbatech.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-2511727992762083319?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/2511727992762083319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=2511727992762083319' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/2511727992762083319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/2511727992762083319'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2009/09/sql-azure-object-browser.html' title='SQL Azure Object Browser'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-3533998534765538802</id><published>2009-09-25T23:02:00.000-07:00</published><updated>2009-09-25T23:30:00.136-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQl Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='Update Stored Procedure'/><title type='text'>Alter Stored Procedure in SQL AZURE</title><content type='html'>Absence of object browser in SQL Azure throws many challenges. For example, how would you update a stored procedure in your SQL Azure database? The challenge is to get the source code from the cloud database.&lt;br /&gt;&lt;br /&gt;select * from sys.objects &lt;br /&gt;&lt;br /&gt;will only display the objects in your database and not the source code for any stored procedure or view etc. &lt;br /&gt;&lt;br /&gt;Here is my hack to get the source code for any stored procedure. &lt;br /&gt;&lt;br /&gt;1. SELECT * from information_schema.Routines&lt;br /&gt;&lt;br /&gt;Will give you the list of all stored procedures. For example you want to alter the stored procedure usp_Test. Then&lt;br /&gt;&lt;br /&gt;SELECT routine_definition from information_schema.Routines where specific_name ='usp_Test'&lt;br /&gt;&lt;br /&gt;Now copy the contents of routine_definition – this is the source code for usp_Test. In my case this is&lt;br /&gt;&lt;br /&gt;  CREATE PROCEDURE usp_Test         AS  BEGIN       -- SET NOCOUNT ON added to prevent extra result sets from        -- interfering with SELECT statements.   SET NOCOUNT ON;             -- Insert statements for procedure here          select count(*) as TotalVisits1 from visits         END&lt;br /&gt;&lt;br /&gt;3. format this code &lt;br /&gt;&lt;br /&gt;  CREATE PROCEDURE usp_Test  &lt;br /&gt;      AS  BEGIN       &lt;br /&gt;         -- SET NOCOUNT ON added to prevent extra result sets from  &lt;br /&gt;         -- interfering with SELECT statements.   &lt;br /&gt;         SET NOCOUNT ON;             &lt;br /&gt;         select count(*) as TotalVisits1 from visits&lt;br /&gt;     END&lt;br /&gt;&lt;br /&gt;4. change CREATE PROCEDURE to ALTER PROCEDURE&lt;br /&gt;&lt;br /&gt;  ALTER PROCEDURE  usp_Test  &lt;br /&gt;      AS  BEGIN       &lt;br /&gt;         -- SET NOCOUNT ON added to prevent extra result sets from  &lt;br /&gt;         -- interfering with SELECT statements.   &lt;br /&gt;         SET NOCOUNT ON;             &lt;br /&gt;         select count(*) as TotalVisits1 from visits&lt;br /&gt;     END&lt;br /&gt;&lt;br /&gt;Update the source code as required and execute the TSQL&lt;br /&gt;&lt;br /&gt;5. This will update your stored procedure in the cloud database.&lt;br /&gt;&lt;br /&gt;I guess, best practice would be to mantain a local copy of your database and keep it in sync with your cloud database. That way we can run the code on our local copy and just run the script against the cloud database.&lt;br /&gt;&lt;br /&gt;Oh! Well – we are just learning and I did not have a local copy of my test database.  Again, this is not an elegent solution but it does work, so if you can recommend  / find any better solution – please let us know…Thanks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-3533998534765538802?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/3533998534765538802/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=3533998534765538802' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/3533998534765538802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/3533998534765538802'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2009/09/alter-stored-procedure-in-sql-azure.html' title='Alter Stored Procedure in SQL AZURE'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-6605846069396776419</id><published>2009-09-21T17:10:00.000-07:00</published><updated>2009-09-23T14:53:14.558-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQl Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure Platform'/><title type='text'>SQL AZURE Service</title><content type='html'>Finally, I got the SQL Service up and running. It is running of the hosted server&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.zimbatech.com/mycloud/" target="_blank"&gt;MyCloud Service&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;While working on this app, I found some interesting things. Here is a short summary&lt;br /&gt;&lt;br /&gt;1. select * from sys.objects IS YOUR NEW OBJECT BROWSER&lt;br /&gt;&lt;br /&gt;2. truncate table tablename will not work in SQL Azure - yes,drop and delete does work.&lt;br /&gt;&lt;br /&gt;3. select @@servername will not work but select @@version does work&lt;br /&gt;&lt;br /&gt;4. DO NOT TRY exec sp_help and exec sp_who – it will not work&lt;br /&gt;&lt;br /&gt;5.Insert WILL NOT WORK if you forget to add a primary key on your table - For example&lt;br /&gt;&lt;br /&gt;create table test&lt;br /&gt;(&lt;br /&gt;my_id int,&lt;br /&gt;my_name varchar(10)&lt;br /&gt;)&lt;br /&gt;insert into test values (1,'abhi')&lt;br /&gt;and you will get an error –“ Heaps can not be replicated tables. Please create a clustered index for the table.” . Just add a PK on my_id and things will work as expected&lt;br /&gt;&lt;br /&gt;6. Migrating data from your local DB to the cloud is not easy - check out &lt;a href="http://www.stephenforte.net/PermaLink,guid,09d0bb8b-42fe-417d-86bf-8b8129b622e7.aspx" target="_blank"&gt;&gt;http://www.stephenforte.net&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;7. Copy connection string from your &lt;a href="https://sql.azure.com/ServerInfo.aspx" target="_blank"&gt;&gt;https://sql.azure.com/ServerInfo.aspx&lt;/a&gt; page - this is the easiest and fastest way to connect your app with SQL Azure&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Also,I will be presenting on SQL Azure in the upcoming &lt;a href="http://www.socalcodecamp.com/session.aspx?sid=ef3699de-1bd5-4aec-8f6f-98d655645b1f" target="_blank"&gt;SoCal Code Camp 2009 @ USC&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-6605846069396776419?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/6605846069396776419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=6605846069396776419' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/6605846069396776419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/6605846069396776419'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2009/09/sql-azure-service.html' title='SQL AZURE Service'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-3390346071836873</id><published>2009-09-19T17:44:00.001-07:00</published><updated>2009-09-19T18:03:30.509-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='MVC'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>MVC</title><content type='html'>&lt;img style="visibility:hidden;width:0px;height:0px;" border=0 width=0 height=0 src="http://counters.gigya.com/wildfire/IMP/CXNID=2000002.0NXC/bHQ9MTI1MzQwNzQxMzg*MyZwdD*xMjUzNDA3NDYyMDMxJnA9MTAxOTEmZD1MSV9zdl8lMGElMDlwcmVzZW5*YXRpb24lMDkmbj1ibG9nZ2VyJmc9MSZvPTNiN2RjYzQ4OGM2MDRjNjA5YTE3Y2Y*ZjI2ODJlM2I*Jm9mPTA=.gif" /&gt;&lt;div style='width:425px;text-align:left'&gt;&lt;object style='margin:0px' width='425' height='355'&gt;&lt;param name='movie' value='http://static.slideshare.net/swf/ssplayer2.swf?doc=mvc-124681948894-phpapp02&amp;stripped_title=mvc-1684285' /&gt;&lt;param name='allowFullScreen' value='true'/&gt;&lt;param name='allowScriptAccess' value='always'/&gt;&lt;embed src='http://static.slideshare.net/swf/ssplayer2.swf?doc=mvc-124681948894-phpapp02&amp;stripped_title=mvc-1684285' type='application/x-shockwave-flash' allowscriptaccess='always' allowfullscreen='true' width='425' height='355'&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-3390346071836873?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/3390346071836873/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=3390346071836873' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/3390346071836873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/3390346071836873'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2009/09/mvc.html' title='MVC'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-3997598230621492261</id><published>2009-09-17T12:23:00.000-07:00</published><updated>2009-09-17T12:25:20.795-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Evolution of Computer Systems Architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='software architecture'/><title type='text'>Evolving Architecture – Breathing Code</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_J8sDhLDCDXA/SrKM-sXPnVI/AAAAAAAAAO4/XeQdRQ6P6pA/s1600-h/EvolvingArchitecture.PNG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 247px;" src="http://2.bp.blogspot.com/_J8sDhLDCDXA/SrKM-sXPnVI/AAAAAAAAAO4/XeQdRQ6P6pA/s320/EvolvingArchitecture.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5382519513349594450" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-3997598230621492261?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/3997598230621492261/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=3997598230621492261' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/3997598230621492261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/3997598230621492261'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2009/09/evolving-architecture-breathing-code.html' title='Evolving Architecture – Breathing Code'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_J8sDhLDCDXA/SrKM-sXPnVI/AAAAAAAAAO4/XeQdRQ6P6pA/s72-c/EvolvingArchitecture.PNG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-150826246347568775</id><published>2009-09-16T16:36:00.000-07:00</published><updated>2009-09-16T16:49:11.968-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Basic'/><title type='text'>Gone with the wind…</title><content type='html'>Recently, I drove almost 85 miles for an interview. When I entered into the office, I was greeted by a very enthusiastic developer.  And then came the moment of truth – he walked me into a room and told me to take a hands-on programming test. OK. The test was on VB6 programming. Well, what happened next is a very funny story, but it kept me nagging that I haven’t thought about VB environment for long time…with all this .NET code around, I just forgot about my old pal VB. Yes – it’s been almost a decade for me when I wrote any code in VB. And then while talking to somebody on COM/DCOM horror stories – I was told that the official support for VB development environment is gone. I found following post on VB resource center &lt;br /&gt;&lt;br /&gt;“The Visual Basic 6.0 IDE will be supported on Windows Vista and Windows Server 2008 as part of the Visual Basic 6.0 Extended Support policy until April 8, 2008… ” &lt;br /&gt;From http://msdn.microsoft.com/en-us/vbrun/ms788708.aspx&lt;br /&gt;&lt;br /&gt;Yes – VB runtime will be supported till 2019, but support for Visual Studio 6 is gone. Well, everyone using VB 6 is aware of this fact, but for me, on personnel note – it is a weird feeling...&lt;br /&gt;&lt;br /&gt;"I have forgot much, Cynara! gone with the wind."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-150826246347568775?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/150826246347568775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=150826246347568775' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/150826246347568775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/150826246347568775'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2009/09/gone-with-wind.html' title='Gone with the wind…'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-7071901282298720471</id><published>2009-08-21T23:15:00.000-07:00</published><updated>2009-08-21T23:22:54.110-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='team building'/><category scheme='http://www.blogger.com/atom/ns#' term='managing for the change'/><title type='text'>Graph of diminishing questions</title><content type='html'>&lt;div&gt;&lt;p class="MsoNormal"&gt;How do you feel if somebody asks too many questions?&lt;/p&gt;&lt;p class="MsoNormal"&gt;Well, whenever we have a new team member joining our group – we all  go through the same experience. I call it - graph of diminishing questions [as shown below]&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_J8sDhLDCDXA/So-NY6AD6SI/AAAAAAAAAOw/ycJgJOw9-QQ/s1600-h/newhire.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 210px;" src="http://4.bp.blogspot.com/_J8sDhLDCDXA/So-NY6AD6SI/AAAAAAAAAOw/ycJgJOw9-QQ/s320/newhire.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5372668339502180642" /&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_J8sDhLDCDXA/So-NY6AD6SI/AAAAAAAAAOw/ycJgJOw9-QQ/s1600-h/newhire.JPG"&gt;&lt;/a&gt;&lt;p class="MsoNormal"&gt;We see one of the following reactions or some combination of it&lt;/p&gt;  &lt;p class="MsoNormal"&gt;1. why s/he is asking so many questions - come-on it’s a simple business application - and you are hired to work on it - go figure it out - we gave him / her access to all the systems, code, database - what more can we do - I mean put some break points - run some queries - go figure it out on your own - that’s why you are hired - don’t ask me all these stupid questions?&lt;/p&gt;  &lt;p class="MsoNormal"&gt;2. I am not sure why s/he is not asking any questions. If you don’t understand then just ask us. &lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;But please don’t say yes when you don’t get it. You know - just yesterday, I was at his/her desk, and by looking at the screen, I can tell you s/he is lost, I don’t think s/he knows anything about the system - and I am not sure why s/he is not asking any questions?&lt;/p&gt;  &lt;p class="MsoNormal"&gt;3. Well s/he is a smart person but I think – I don’t know - s/he might have over promised in the interview and now struggling - I think s/he is not that smart as was told to us [by somebody – may be our boss…]&lt;/p&gt;  &lt;p class="MsoNormal"&gt;4. We don’t do too much training here - we throw the baby in the water and if she can swim - she can stay&lt;/p&gt;  &lt;p class="MsoNormal"&gt;5. We do work with new people and explain them the system and also help them understand the real challenge&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; I can go on and on and on, but I guess the point is simple - what do you do? I am sure almost everybody wants to opt for no 5, but in reality we are somewhere between 1 and 4. Challenge is to change our culture and look back at our own experience, and remember the day when we were new. When everything looked like a big mystery and intimidating nightmare. We had no clue where to start and what to do. This will force us to help others in understanding the mess [sorry software] that we help [or were paid] to build...&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-7071901282298720471?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/7071901282298720471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=7071901282298720471' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/7071901282298720471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/7071901282298720471'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2009/08/graph-of-diminishing-questions.html' title='Graph of diminishing questions'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_J8sDhLDCDXA/So-NY6AD6SI/AAAAAAAAAOw/ycJgJOw9-QQ/s72-c/newhire.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-6451966293270918183</id><published>2009-06-11T17:06:00.000-07:00</published><updated>2009-06-11T17:19:12.792-07:00</updated><title type='text'>How many CPUs your operating system can handle?</title><content type='html'>How many CPUs your operating system can handle? 2 / 4 / 8 – many a times ans is very simple – I don’t know? How to find the answer? Here is one easy way to get to the bottom of this issue. Go to the Task Manager and right click on any process , and then click on the set affinity option as shown below. You will get the answer. Note: this is the number – how many CPUs can be managed by your OS and not the underlying hardware.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_J8sDhLDCDXA/SjGcU6wZ6wI/AAAAAAAAANw/aW4ysod8MVA/s1600-h/manycore.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5346226115849087746" style="WIDTH: 222px; CURSOR: hand; HEIGHT: 320px" alt="" src="http://4.bp.blogspot.com/_J8sDhLDCDXA/SjGcU6wZ6wI/AAAAAAAAANw/aW4ysod8MVA/s320/manycore.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And here are the specs for a machine I used in this excercise&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_J8sDhLDCDXA/SjGcxvAcTXI/AAAAAAAAAN4/CltpH4E0i1Y/s1600-h/mymachine.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5346226610911333746" style="WIDTH: 273px; CURSOR: hand; HEIGHT: 320px" alt="" src="http://2.bp.blogspot.com/_J8sDhLDCDXA/SjGcxvAcTXI/AAAAAAAAAN4/CltpH4E0i1Y/s320/mymachine.JPG" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-6451966293270918183?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/6451966293270918183/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=6451966293270918183' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/6451966293270918183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/6451966293270918183'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2009/06/how-many-cpus-your-operating-system-can.html' title='How many CPUs your operating system can handle?'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_J8sDhLDCDXA/SjGcU6wZ6wI/AAAAAAAAANw/aW4ysod8MVA/s72-c/manycore.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-7397246405844427218</id><published>2009-05-03T18:24:00.000-07:00</published><updated>2009-05-03T18:30:40.614-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='multiplexing'/><category scheme='http://www.blogger.com/atom/ns#' term='Software licensing'/><title type='text'>Multiplexing strategy for reducing software licensing cost</title><content type='html'>Software licensing is a complex and confusing topic. Most of us know how to use and master any given software like SQL Server, Oracle, or Crystal Report etc. But purchasing a software and figuring out the real cost is a challenge. Questions like do you want to go with named-users or per core licensing or on the basis of number of processors or total number of CPU’s are confusing. For example, Microsoft will charge you based on the number of processors in your server irrespective of number of CPUs / core per processor and Oracle will treat each core as half the processor. For example, on 4 quad core server [4 processors with 4 CPUs on each processor = 16 CPUs or cores], SQL server will cost you for 4 licenses and Oracle will result in 8 licensees [16 * 0.5 =8] [1]&lt;br /&gt;&lt;br /&gt;Now this might be acceptable for enterprise grade tools like RDBMS or reporting solution. But many a time we end up buying 8 or 10 copies of small commodity software used by a department or a group of users working on a special project. Most of these tools are sold on per instance basis. So we end up paying for 10 copies and installing it on individual desktops. This also results in maintenance nightmare.&lt;br /&gt; &lt;br /&gt;There is a better way to deal with such commodity tools – strategy known as multiplexing. It’s very straight forward – all you have to do is to install one instance of the commodity software on your central server and write a wrapper around it. The wrapper can be exposed over the network [LAN / WAN / Internet] using http, https etc.  Yes, you will have to write a web application that will expose the interface for the commodity tool. Many a times, this strategy will work like a charm [except if licensing agreement for the commodity tool explicitly deny the permission for any such exercise]. Note – this does not involve changing any of the bits / code in the commodity software – all you are doing is to expose its public interface over the network. Threading and deadlocks might pose some challenge when shared resources are simultaneously utilized by many users. But this can be avoided by placing an explicit lock on shared resources like file folders.  Additionally, this public interface can be modified to accept the inputs from internal resources like local databases, file system etc. &lt;br /&gt;&lt;br /&gt;If used judiciously, multiplexing can deliver a great business value.&lt;br /&gt;&lt;br /&gt;Reference:&lt;br /&gt;&lt;br /&gt;1.&lt;a href="http://www.microsoft.com/Sqlserver/2005/en/us/special-considerations.aspx"&gt;http://www.microsoft.com/Sqlserver/2005/en/us/special-considerations.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-7397246405844427218?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/7397246405844427218/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=7397246405844427218' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/7397246405844427218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/7397246405844427218'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2009/05/multiplexing-strategy-for-reducing.html' title='Multiplexing strategy for reducing software licensing cost'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-7306570357888498364</id><published>2009-04-20T18:15:00.000-07:00</published><updated>2009-04-20T18:28:20.640-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gartner Hype Cycle'/><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud computing'/><title type='text'>Web 2.0 and Cloud Computing</title><content type='html'>It is always good to compare different technologies. That way we can see whether the technology is maturing with time and is worth considering it for real. But the challenge is to find a tool that would help in this endeavor. I found &lt;span style="font-weight:bold;"&gt;“Gartner Hype Cycle”&lt;/span&gt; [GHC] really effective in comparing different technologies and their evolution.&lt;br /&gt;&lt;br /&gt;So I wanted to see how web 2.0 is doing over last three years and where does cloud computing stand on this technology curve. I always believed that image is worth thousand blogs…so here you go – GHC for 2006, 07 and 2008 and the evolution of web 2.0 vs. cloud computing. ..&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_J8sDhLDCDXA/Se0ehh4JEyI/AAAAAAAAANY/_F_VqnambP4/s1600-h/2006.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 217px;" src="http://3.bp.blogspot.com/_J8sDhLDCDXA/Se0ehh4JEyI/AAAAAAAAANY/_F_VqnambP4/s320/2006.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5326947495627526946" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_J8sDhLDCDXA/Se0ekzG3ENI/AAAAAAAAANg/kyt7A_tKT_w/s1600-h/2007.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 249px;" src="http://2.bp.blogspot.com/_J8sDhLDCDXA/Se0ekzG3ENI/AAAAAAAAANg/kyt7A_tKT_w/s320/2007.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5326947551792271570" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_J8sDhLDCDXA/Se0envIiJ1I/AAAAAAAAANo/v5ghw86mARs/s1600-h/2008.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 227px;" src="http://4.bp.blogspot.com/_J8sDhLDCDXA/Se0envIiJ1I/AAAAAAAAANo/v5ghw86mARs/s320/2008.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5326947602265155410" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Reference&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;for 2006&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.saastream.com/my_weblog/images/2007/10/02/gartner_hype_cycle_emerging_techn_4.jpg"&gt;http://www.saastream.com/my_weblog/images/2007/10/02/gartner_hype_cycle_emerging_techn_4.jpg&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;for 2007&lt;/span&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_7vNv3GLH8Mo/SKwvl_0JTqI/AAAAAAAAAG4/3pnTC4Q4gp8/s400/hype-cycle-for-emerging-technologies-2008-400.jpg"&gt;http://3.bp.blogspot.com/_7vNv3GLH8Mo/SKwvl_0JTqI/AAAAAAAAAG4/3pnTC4Q4gp8/s400/hype-cycle-for-emerging-technologies-2008-400.jpg&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;for 2008&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/lafabriquedeblogs/2796357787/"&gt;http://www.flickr.com/photos/lafabriquedeblogs/2796357787/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-7306570357888498364?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/7306570357888498364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=7306570357888498364' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/7306570357888498364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/7306570357888498364'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2009/04/web-20-and-cloud-computing.html' title='Web 2.0 and Cloud Computing'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_J8sDhLDCDXA/Se0ehh4JEyI/AAAAAAAAANY/_F_VqnambP4/s72-c/2006.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-9109316529773712874</id><published>2009-04-19T11:55:00.000-07:00</published><updated>2009-04-19T12:08:05.200-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hypervisor'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtualization'/><category scheme='http://www.blogger.com/atom/ns#' term='many-core'/><category scheme='http://www.blogger.com/atom/ns#' term='multi-processor'/><title type='text'>Virtualization : as experienced from ground zero</title><content type='html'>Virtualization is a big theme in the contemporary enterprise architecture.  Many documented case studies highlights the virtualization benefits including better hardware utilization, grater ROI and lower TCO. This deal is so great that you can’t overlook this option…&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_J8sDhLDCDXA/Set0QBlvNQI/AAAAAAAAANQ/WhUYso1D-Iw/s1600-h/Hypervisor.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 224px;" src="http://1.bp.blogspot.com/_J8sDhLDCDXA/Set0QBlvNQI/AAAAAAAAANQ/WhUYso1D-Iw/s320/Hypervisor.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5326478802949190914" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;But, and this but is a big one. But the reality is not that green. From software point of view, it is not able to utilize 100% of the physical infrastructure. Like in our example, we have 8 CPUs and 128 GB of RAM, but each virtual machine can only use up to 4 CPUs and 64 GB of RAM. Systems like RDBMS thrive in many-core / multi-processor environment. So by limiting the number of CPUs or memory, we are minimizing its capacity. This is what we experienced when we decided to use a hypervisor [and this is mostly true for any hypervisor].&lt;br /&gt;&lt;br /&gt;In future version of hypervisors, this limitation will be fixed. Based on the processing load, each VM will be able to optimize the physical resource utilization. But as of today, there are some hard limits on no of CPUs and RAM each VM can use.&lt;br /&gt;&lt;br /&gt;So to conclude, in our test case – let’s compare machine A with 8 CPUs and 16 GB of RAM with machine B with 8 CPUs and 128 GB of RAM. Machine B is virtualized and is used to run 2 VMs with 4 CPUs each and 64 GB of RAM.  Both the VM’s on machine B are operating in parallel and are used for running an instance of SQL Server 2005 and a file server. Which SQL Server instance will run fast – one that is running on machine A or on machine B? What if we bump up the RAM in machine B up to 256 GB? These are some solid question one should consider seriously before jumping on the virtualization bandwagon. Yes, all these issues will be fixed in the future versions and all vendors are working on it. But from pure architecture point of view, as of today, one should consider these limitations seriously.&lt;br /&gt;&lt;br /&gt;A lot will depend on the processing load and type of applications running on these virtual machines. For busts and spikes – you need a ton load of RAM and huge processing for a while but after that all that capacity is just idling around.  What if that bust or spike is the reason for provisioning such a huge hardware capacity?  Can we run this busty system in a virtualized environment and let it suffer because of VM’s limit on no of CPU it can handle and maximize our hardware utilization or go the traditional way and provision a big machine just to handle this one mission critical load efficiently and effectively? These are some critical questions one would face while moving the production applications in a virtualized environment. There are no easy answers and the only way to insure the success is by doing as much testing as possible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-9109316529773712874?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/9109316529773712874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=9109316529773712874' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/9109316529773712874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/9109316529773712874'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2009/04/virtualization-as-experienced-from.html' title='Virtualization : as experienced from ground zero'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_J8sDhLDCDXA/Set0QBlvNQI/AAAAAAAAANQ/WhUYso1D-Iw/s72-c/Hypervisor.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-8434563853491130670</id><published>2009-02-01T21:40:00.000-08:00</published><updated>2009-02-02T00:25:50.912-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='migration'/><category scheme='http://www.blogger.com/atom/ns#' term='VB'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET Reflector'/><title type='text'>On the Benefits of Learning Multiple Languages</title><content type='html'>Finally, I got to the pile of magazines I wanted to read for long time. I found this &lt;a href="http://visualstudiomagazine.com/columns/article.aspx?editorialsid=2895"&gt;article&lt;/a&gt; in Visual Studio magazine. I liked the title and started reading it. The basic premise is – “Learning other programming languages can make you more fluent and give you a better understanding of the language you depend on primarily.”&lt;br /&gt;&lt;br /&gt;So I started coding in the language I know the best – C# and wrote some  code&lt;br /&gt;&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;&lt;br /&gt;&lt;pre class="csharpcode"&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System;&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;namespace&lt;/span&gt; demo&lt;br /&gt;{&lt;br /&gt;    &lt;span class="kwrd"&gt;internal&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; Test&lt;br /&gt;    {&lt;br /&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Main()&lt;br /&gt;        {&lt;br /&gt;            &lt;span class="kwrd"&gt;const&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; i = 2;&lt;br /&gt;&lt;br /&gt;            &lt;span class="rem"&gt;//static method call&lt;/span&gt;&lt;br /&gt;            Console.WriteLine(IsEven(i));&lt;br /&gt;&lt;br /&gt;            &lt;span class="rem"&gt;//generic delegate&lt;/span&gt;&lt;br /&gt;            Func&amp;lt;&lt;span class="kwrd"&gt;int&lt;/span&gt;, &lt;span class="kwrd"&gt;bool&lt;/span&gt;&amp;gt; f = IsEven;&lt;br /&gt;            Console.WriteLine(f(2));&lt;br /&gt;&lt;br /&gt;            &lt;span class="rem"&gt;//anonmous method + lambda&lt;/span&gt;&lt;br /&gt;            Func&amp;lt;&lt;span class="kwrd"&gt;int&lt;/span&gt;, &lt;span class="kwrd"&gt;bool&lt;/span&gt;&amp;gt; f1 = j =&amp;gt; j%2 == 0;&lt;br /&gt;            Console.WriteLine(f1(2));&lt;br /&gt;&lt;br /&gt;            Console.ReadLine();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; IsEven(&lt;span class="kwrd"&gt;int&lt;/span&gt; number)&lt;br /&gt;        {&lt;br /&gt;            &lt;span class="kwrd"&gt;return&lt;/span&gt; number &amp;gt; 0 ? number%2 == 0 : &lt;span class="kwrd"&gt;false&lt;/span&gt;;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;Now, I wanted to convert this code to visual basic. Interestingly, I found a decent conversion method to get this thing done. I used &lt;a href="http://www.red-gate.com/products/reflector/"&gt;.NET reflector&lt;/a&gt;. I used reflector to  disassemble C# .exe and then to convert the code to VB. Reflector did a good job and produced following VB code&lt;br /&gt;&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;&lt;br /&gt;&lt;pre class="csharpcode"&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;Friend&lt;/span&gt; &lt;span class="kwrd"&gt;Class&lt;/span&gt; Test&lt;br /&gt;    &lt;span class="rem"&gt;' Methods&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt; IsEven(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; number &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt;) &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Boolean&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;Return&lt;/span&gt; IIf((number &amp;gt; 0), ((number &lt;span class="kwrd"&gt;Mod&lt;/span&gt; 2) = 0), &lt;span class="kwrd"&gt;False&lt;/span&gt;)&lt;br /&gt;    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt; Main()&lt;br /&gt;        Console.WriteLine(Test.IsEven(2))&lt;br /&gt;        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; f &lt;span class="kwrd"&gt;As&lt;/span&gt; Func(Of &lt;span class="kwrd"&gt;Integer&lt;/span&gt;, &lt;span class="kwrd"&gt;Boolean&lt;/span&gt;) = &lt;span class="kwrd"&gt;New&lt;/span&gt; Func(Of &lt;span class="kwrd"&gt;Integer&lt;/span&gt;, &lt;span class="kwrd"&gt;Boolean&lt;/span&gt;)(&lt;span class="kwrd"&gt;AddressOf&lt;/span&gt; Test.IsEven)&lt;br /&gt;        Console.WriteLine(f.Invoke(2))&lt;br /&gt;        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; f1 &lt;span class="kwrd"&gt;As&lt;/span&gt; Func(Of &lt;span class="kwrd"&gt;Integer&lt;/span&gt;, &lt;span class="kwrd"&gt;Boolean&lt;/span&gt;) = j =&amp;gt; ((j &lt;span class="kwrd"&gt;Mod&lt;/span&gt; 2) = 0)&lt;br /&gt;        Console.WriteLine(f1.Invoke(2))&lt;br /&gt;        Console.ReadLine&lt;br /&gt;    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Class&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The only point it tripped is on the lambda expression syntax =&gt;. So, I had to do a little bit of Googling to find the correct VB syntax. And, finally got the VB code like&lt;br /&gt;&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;&lt;br /&gt;&lt;pre class="csharpcode"&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;Friend&lt;/span&gt; &lt;span class="kwrd"&gt;Class&lt;/span&gt; Test&lt;br /&gt;    &lt;span class="rem"&gt;' Methods&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt; IsEven(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; number &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt;) &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Boolean&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;Return&lt;/span&gt; IIf((number &amp;gt; 0), ((number &lt;span class="kwrd"&gt;Mod&lt;/span&gt; 2) = 0), &lt;span class="kwrd"&gt;False&lt;/span&gt;)&lt;br /&gt;    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt; Main()&lt;br /&gt;&lt;br /&gt;        Console.WriteLine(IsEven(2))&lt;br /&gt;        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; f &lt;span class="kwrd"&gt;As&lt;/span&gt; Func(Of &lt;span class="kwrd"&gt;Integer&lt;/span&gt;, &lt;span class="kwrd"&gt;Boolean&lt;/span&gt;) = &lt;span class="kwrd"&gt;New&lt;/span&gt; Func(Of &lt;span class="kwrd"&gt;Integer&lt;/span&gt;, &lt;span class="kwrd"&gt;Boolean&lt;/span&gt;)(&lt;span class="kwrd"&gt;AddressOf&lt;/span&gt; IsEven)&lt;br /&gt;        Console.WriteLine(f.Invoke(2))&lt;br /&gt;        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; f1 &lt;span class="kwrd"&gt;As&lt;/span&gt; Func(Of &lt;span class="kwrd"&gt;Integer&lt;/span&gt;, &lt;span class="kwrd"&gt;Boolean&lt;/span&gt;) = &lt;span class="kwrd"&gt;Function&lt;/span&gt;(j) j &lt;span class="kwrd"&gt;Mod&lt;/span&gt; 2 = 0&lt;br /&gt;        Console.WriteLine(f1.Invoke(3))&lt;br /&gt;        Console.ReadLine()&lt;br /&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Class&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I enjoyed this exercise. In fact, in the same edition of the VS magazine, I found couple of interesting articles - &lt;a href="http://visualstudiomagazine.com/columns/article.aspx?editorialsid=2893"&gt;What VB Devs Should Know About C#&lt;/a&gt; and &lt;a href="http://visualstudiomagazine.com/columns/article.aspx?editorialsid=2894"&gt;What C# Devs Should Know About VB&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you are involved in any migration effort from VB to C# or vice versa, or work in the mix environment with a lot of VB and C# code co-existing peacefully , then you will find these articles really useful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-8434563853491130670?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/8434563853491130670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=8434563853491130670' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/8434563853491130670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/8434563853491130670'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2009/02/on-benefits-of-learning-multiple.html' title='On the Benefits of Learning Multiple Languages'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-7591157247943977501</id><published>2008-11-02T12:06:00.000-08:00</published><updated>2008-11-03T10:03:54.830-08:00</updated><title type='text'>Towards Distributed Applications…</title><content type='html'>2008 is the year when we saw the commercial emergence of the many-core / multi -core hardware architecture. As a result of this, field of distributed computing is really buzzing with a lot of activities and cool technologies. Two such projects that attracted my attention are project Volta and DryadLINQ in Microsoft domain and Lively Kernel in the Java world. Let’s focus on Dryad and Volta first.&lt;br /&gt; &lt;br /&gt;One common thing about Volta and DryadLINQ is that they focus on making distributed computing easy for the common programmer like me. [DryadLINQ documentation refers to this class of programmers as ordinary programmer – LOL!] . The strategy here is to abstract away the underlying complexity in building the distributed systems and to minimize the disruptive impact of the new technology. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_J8sDhLDCDXA/SQ4JgNhBPwI/AAAAAAAAAJQ/WxyF4HYzBO0/s1600-h/DryadandVolta.GIF"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 216px;" src="http://2.bp.blogspot.com/_J8sDhLDCDXA/SQ4JgNhBPwI/AAAAAAAAAJQ/WxyF4HYzBO0/s320/DryadandVolta.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5264155463431307010" /&gt;&lt;/a&gt;&lt;br /&gt;This goal is achieved by focusing on different levels of the .NET implementation stack. This way, as a developer, I can still write my same old C# / VB sequential, LOB code and the technology will transform it into a distributed application. &lt;br /&gt;&lt;br /&gt;As with any new technology, there will be few bumps on the road. At the time of writing this post, I found following message on the Volta site – &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;“Project "Volta" Temporarily Unavailable”&lt;/strong&gt; &lt;br /&gt;&lt;br /&gt;Good news is that big vendors like Microsoft and Sun are taking the bull by the horns. There is no one right answer in solving this complex problem of converting existing sequential , single processor LOB applications into multi-core/ many-core enabled , inherently parallel, distributed applications. We will witness multitude of solutions on hardware and software level. We have seen this gold rush before in the good old days of RDBMS emergence. Let’s hope that same thing will happen with the distributed computing infrastructure. &lt;br /&gt;&lt;br /&gt;For more details on Volta and Dryad, check out the following links and publication&lt;br /&gt;&lt;br /&gt;1.&lt;a href="http://channel9.msdn.com/posts/Charles/Erik-Meijer-Volta-Wrapping-the-Cloud-with-NET-Part-1"&gt;http://channel9.msdn.com/posts/Charles/Erik-Meijer-Volta-Wrapping-the-Cloud-with-NET-Part-1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2.Volta: Developing Distributed Applications by Recompiling, IEEE Software Sept/Oct 2008 issue&lt;br /&gt;&lt;br /&gt;3.&lt;a href="http://research.microsoft.com/research/sv/dryad/"&gt;http://research.microsoft.com/research/sv/dryad/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-7591157247943977501?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/7591157247943977501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=7591157247943977501' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/7591157247943977501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/7591157247943977501'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2008/11/towards-distributed-applications.html' title='Towards Distributed Applications…'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_J8sDhLDCDXA/SQ4JgNhBPwI/AAAAAAAAAJQ/WxyF4HYzBO0/s72-c/DryadandVolta.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-7845370964952572984</id><published>2008-10-27T12:23:00.000-07:00</published><updated>2008-10-27T12:36:06.210-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Velocity'/><category scheme='http://www.blogger.com/atom/ns#' term='demand cache'/><category scheme='http://www.blogger.com/atom/ns#' term='transactional cache'/><category scheme='http://www.blogger.com/atom/ns#' term='shared cache'/><category scheme='http://www.blogger.com/atom/ns#' term='spatial cache'/><category scheme='http://www.blogger.com/atom/ns#' term='cache'/><category scheme='http://www.blogger.com/atom/ns#' term='temporal cache'/><category scheme='http://www.blogger.com/atom/ns#' term='Distributed Computing'/><category scheme='http://www.blogger.com/atom/ns#' term='primed cache'/><category scheme='http://www.blogger.com/atom/ns#' term='ORM'/><title type='text'>Caching in the Distributed Environment Slides</title><content type='html'>I did a presentation on "Caching in the Distributed Environment" at SoCal Code Camp 2008.  Here is the link from where you can download this presentation&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.scribd.com/doc/7564192/Caching-in-the-Distributed-Environment"&gt;http://www.scribd.com/doc/7564192/Caching-in-the-Distributed-Environment&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Let me know if you have any questions / suggestions&lt;br /&gt;&lt;br /&gt;thanks.&lt;br /&gt;&lt;br /&gt;abhi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-7845370964952572984?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/7845370964952572984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=7845370964952572984' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/7845370964952572984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/7845370964952572984'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2008/10/caching-in-distributed-environment_27.html' title='Caching in the Distributed Environment Slides'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-5695436904921582903</id><published>2008-10-04T16:16:00.000-07:00</published><updated>2008-10-04T16:32:56.139-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Velocity'/><category scheme='http://www.blogger.com/atom/ns#' term='SoCal Code Camp'/><category scheme='http://www.blogger.com/atom/ns#' term='Caching'/><category scheme='http://www.blogger.com/atom/ns#' term='Distributed Computing'/><category scheme='http://www.blogger.com/atom/ns#' term='ORM'/><title type='text'>Caching in the Distributed Environment</title><content type='html'>Microsoft Architecture Journal has published an issue on Distributed Computing. A pdf copy of this issue can be downloaded from &lt;a href="http://www.msarchitecturejournal.com/pdf/Journal17.pdf" target="new"&gt;MAJ Issue 17&lt;/a&gt;&lt;br/&gt;  &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_J8sDhLDCDXA/SOf5zyA3npI/AAAAAAAAAJA/KlHBYbrNAfQ/s1600-h/codecamp.j.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_J8sDhLDCDXA/SOf5zyA3npI/AAAAAAAAAJA/KlHBYbrNAfQ/s320/codecamp.j.JPG" border="1" alt=""id="BLOGGER_PHOTO_ID_5253442158345035410" width="80%"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br/&gt;My paper on caching is included in this issue. I will be presenting this paper at &lt;a href="http://www.socalcodecamp.com/session.aspx?sid=59be94ce-6b91-494d-8533-11998928ee86" target="_new"&gt;SOCal Code camp 2008.&lt;/a&gt;. In this presentation, we will cover the fundamentals of caching, different caching patterns [for example, shared, primed, demand, transactional caching] and some real life caching examples. We will also discuss about the project Velocity - MS distributed caching platform.&lt;br /&gt;&lt;br /&gt;See you @ the code camp&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-5695436904921582903?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/5695436904921582903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=5695436904921582903' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/5695436904921582903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/5695436904921582903'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2008/10/caching-in-distributed-environment.html' title='Caching in the Distributed Environment'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_J8sDhLDCDXA/SOf5zyA3npI/AAAAAAAAAJA/KlHBYbrNAfQ/s72-c/codecamp.j.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-898590114471621796</id><published>2008-09-13T14:10:00.000-07:00</published><updated>2009-02-01T22:24:22.232-08:00</updated><title type='text'>Finally, I learned something</title><content type='html'>I had a chance to talk to one of my friend who is working on his dissertation. He is focusing on psychological aspects of success. After a long discussion with him about many topics, one thing really stood out by itself. Success is all about creating realistic targets and achieving them with pragmatic efforts. For example, if you can lift say 35 lbs/kgs then go for 35 or say 36-37, but beyond that you are in the stress zone.  Now if you set the target of lifting say 40 lbs then give yourself some time – a realistic one would be a few weeks – anywhere between 2-3 weeks. If you try to achieve this overnight then you are in the stress zone. &lt;I&gt;Be realistic&lt;/I&gt; is what I heard almost every time we talked about success. &lt;br /&gt;&lt;br /&gt;I am definitely overweight. My weight should be in the 150 lbs range and it hovers around 162 lbs. So I belong to the club of 60% overweight Americans. If I set the target of 150 lbs in 3 weeks, I am in the stress zone, but if I do it in say 8 weeks – that’s more realistic. &lt;br /&gt;&lt;br /&gt;Another stress factor was really a news to me. The Focus – almost every job requirement on DICE and Monster has it – we need someone who can multitask. Multitasking is not a synonym for focus – is it? According to psychologist, multitasking will reduce the quality of your work and will lead you to a stressful situation. So realizing the limits of what is doable and what is not is really important. Yes, we can chat with our friends while seating in a long design meeting, but I don’t think that’s possible if you are in the middle of a refactoring session.&lt;br /&gt;&lt;br /&gt;Personally, I would like to avoid multitasking as much as possible. Now I know this is not something my boss or employer would like to know. But I would prefer quality over quantity anytime – anywhere.  I have just started reading a WCF book –&lt;a href="http://oreilly.com/catalog/9780596101626/"&gt;Learning WCF&lt;/a&gt;. My goal was to finish it over the weekend and to get the ball rolling come next Monday.  Without realizing, I was pushing myself into the stress zone.  Practically, this is an impossible target. So I am going to give myself a few more weeks and try to stick to my plan. I have one more book seating on my desk – &lt;a href="http://www.amazon.com/Service-Oriented-Modeling-SOA-Analysis-Architecture/dp/0470141115/ref=pd_bbs_sr_5_s9_rk?ie=UTF8&amp;s=books&amp;s9r=8a10809b18796943011aead64b884c91&amp;itemPosition=5&amp;qid=1221339287&amp;sr=8-5"&gt;Service Oriented Modeling&lt;/a&gt;. But for now, I am going to move this book back to my bookshelf. Wow! Finally, I learned something…&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-898590114471621796?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/898590114471621796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=898590114471621796' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/898590114471621796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/898590114471621796'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2008/09/finally-i-learned-something.html' title='Finally, I learned something'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-3112167070100390714</id><published>2008-09-07T14:05:00.000-07:00</published><updated>2008-09-08T14:17:27.123-07:00</updated><title type='text'>A great fit ..</title><content type='html'>[And] I think you are a great fit for this…&lt;br /&gt;&lt;br /&gt;What is Business? From &lt;I&gt;Nature of the Firm by Coase&lt;/I&gt; [1] to &lt;I&gt;the Porter's 5 forces analysis&lt;/I&gt; [2], this question is analyzed and explained in numerous studies and research.  Still this important question is overlooked in many discussions related to this topic like a role of an architect. Figure 1 is another interpretation of the Marketplace and the Business&lt;br /&gt;&lt;center&gt; &lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_J8sDhLDCDXA/SMRC8gRlLwI/AAAAAAAAAI4/0bH7j7OazTs/s1600-h/themarketplaceandthebusiness.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_J8sDhLDCDXA/SMRC8gRlLwI/AAAAAAAAAI4/0bH7j7OazTs/s320/themarketplaceandthebusiness.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5243389473389358850" /&gt;&lt;/a&gt;&lt;br /&gt;Figure 1: The Marketplace and the Business&lt;/center&gt;&lt;br /&gt;There are enterprise architects, solution architects and infrastructure architects. Sometime the job description is a combination of all of the above or none of the above based on the situation and the project. A new way of looking at it is in terms of depth and width. An enterprise architect is responsible for managing the big picture and hence is a width base role. Solution architect focus on the project or a particular part of the project like performance or security and hence is a depth based role. Infrastructure architect is responsible for the infrastructure – viz SAN/WAN, servers, scalability, etc.&lt;br /&gt;&lt;br /&gt;Architects are also responsible for coordinating operations between all other components of the business like HR, Marketing, Sales, etc. and the IT. Sometimes this means a political position and in other cases it’s a technical responsibility. Enterprise frameworks did an excellent job in capturing the technology component. The political/people part of the puzzle is mostly an on-job learning/training activity. &lt;br /&gt;&lt;br /&gt;The role of an architect is to understand the business strategy/vision and implement it successfully in terms of improving existing process or by creating new processes. As explained in figure 1, it is important to understand the reason behind the project. For example, a project to support a new service or product will be totally different from the project focused on improving existing product/service. With a new product or service, an architect has got the freedom to start from scratch with a blank slate. Project focused on improving the existing product/service will mostly be a migration project like upgrading a legacy system, implementing some sort of application integration, etc.  &lt;br /&gt;&lt;br /&gt;An architect is like a conductor of an orchestra. Although, conductor does not play any instrument, he is responsible for producing the melody bounded by the music rules like the &lt;I&gt;Symphony No. 40&lt;/I&gt; [3]. &lt;br /&gt;&lt;br /&gt;Oh! What about an enterprise solution architect? The headhunter kept going on and on for almost five minutes. And then he said, you know, you should consider this seriously as their business is doing really good and they are growing really fast. A position with a local, stable, fast growing, privately owned company and yes, the salary is in six digits. I asked him, what is their business and he said does it matter? They are looking for an enterprise solution architect. [And] I think you are a great fit for this…&lt;br /&gt;&lt;br /&gt;Resources:&lt;br /&gt;&lt;br /&gt;1.&lt;a href="http://en.wikipedia.org/wiki/Ronald_Coase"&gt;http://en.wikipedia.org/wiki/Ronald_Coase&lt;/a&gt;&lt;br /&gt;2.&lt;a href="http://en.wikipedia.org/wiki/Porter_5_forces_analysis"&gt;http://en.wikipedia.org/wiki/Porter_5_forces_analysis&lt;/a&gt;&lt;br /&gt;3.&lt;a href="http://en.wikipedia.org/wiki/Symphony_No._40_(Mozart)"&gt;http://en.wikipedia.org/wiki/Symphony_No._40_(Mozart)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-3112167070100390714?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/3112167070100390714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=3112167070100390714' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/3112167070100390714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/3112167070100390714'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2008/09/great-fit-for-this.html' title='A great fit ..'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_J8sDhLDCDXA/SMRC8gRlLwI/AAAAAAAAAI4/0bH7j7OazTs/s72-c/themarketplaceandthebusiness.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-7158524114992016906</id><published>2008-09-01T23:28:00.000-07:00</published><updated>2008-09-03T14:16:56.232-07:00</updated><title type='text'>David Linthicum on SOA</title><content type='html'>Vendor Driven Architecture [VDA] ,Manage by Magazine [MBM], Rabbit Consulting, think strategically and not around the quarter for making the bonuses. I heard all these terms in a SOA presentation by David Linthicum.&lt;br /&gt;&lt;br /&gt; &lt;br/&gt;Here is the youtube URL - &lt;a href="http://www.youtube.com/watch?v=0CbjUNzBV6I&amp;feature=related"&gt;http://www.youtube.com/watch?v=0CbjUNzBV6I&amp;feature=related&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here are some tidbits from this presentation&lt;br /&gt;&lt;br /&gt;Architecture is something that you build not buy&lt;br /&gt;&lt;br /&gt;Good Architects are expensive &lt;br /&gt;&lt;br /&gt;Its up to you to decide what you want to build – SOA Zoo or SOA architecture&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;strong&gt;How NOT to build EA - signs to look for &lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Enterprise Architect is a position with no power and no authority&lt;br /&gt;&lt;br /&gt;Architects write the documents that nobody read and talk about the things no body listens&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-7158524114992016906?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/7158524114992016906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=7158524114992016906' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/7158524114992016906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/7158524114992016906'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2008/09/david-linthicum-on-soa.html' title='David Linthicum on SOA'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-2557256270420221724</id><published>2008-08-22T20:07:00.000-07:00</published><updated>2008-09-10T12:22:34.107-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hybernate'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><category scheme='http://www.blogger.com/atom/ns#' term='ORM'/><title type='text'>ORM Manager</title><content type='html'>ORM manager will populate the data stored in the persistent storage like a database in the form of an object graph.  ORM manager will use different object mapping strategies like table per hierarchy [TPH], table per type [TPT] or table per concrete class [TPC], etc. in populating the object graph. LINQ to SQL is based on TPH. Hibernate supports TPC, TPH and table per subclass mapping strategy [1].  Following is an example of the TPH.&lt;br&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_J8sDhLDCDXA/SK-AnW7mxTI/AAAAAAAAAIo/iGZEsPvDJQ4/s1600-h/clip_image002.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_J8sDhLDCDXA/SK-AnW7mxTI/AAAAAAAAAIo/iGZEsPvDJQ4/s320/clip_image002.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5237546305314014514" /&gt;&lt;/a&gt;&lt;br/&gt;Table Per Hierarchy ORM implementation&lt;/center&gt;&lt;br&gt;&lt;br /&gt;Reference:&lt;br /&gt;1. http://www.hibernate.org/hib_docs/reference/en/html/inheritance.html accessed on 08/21/2008&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-2557256270420221724?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/2557256270420221724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=2557256270420221724' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/2557256270420221724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/2557256270420221724'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2008/08/orm-manager.html' title='ORM Manager'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_J8sDhLDCDXA/SK-AnW7mxTI/AAAAAAAAAIo/iGZEsPvDJQ4/s72-c/clip_image002.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-7094046631589062496</id><published>2008-07-21T17:05:00.000-07:00</published><updated>2008-07-21T17:57:32.246-07:00</updated><title type='text'>Meaningful Identifiers</title><content type='html'>Anthony, _anthony and anthony were good friends. Anthony is a grown up guy,_anthony is a boy and anthony is a dog.  One day, Anthony invited _anthony and anthony to his place for the party. _anthony was not feeling well but decided to tag along anthony. _anthony is too young to drive so they decided to walk to the Anthony’s place. Unfortunately, anthony could not walk so they called a cab. _anthony…&lt;br /&gt;&lt;br /&gt;Who cannot walk? A dog or a boy…&lt;br /&gt;&lt;br /&gt;Let’s re-factor this story a little bit. Let’s rename Anthony to MAnthony, _anthony to BAnthony and anthony to DAnthony. M for men, B for boy and D for dog. &lt;br /&gt;&lt;br /&gt;With these new identifiers this story will be much better [to read and understand]. As in any story or a novel, meaningful identifiers are really important. Identifiers in any source code provide a meaningful token for the underlying memory. Identifiers tell a lot about the program. Just looking at the identifiers like account, debit and credit one can figure out that the system is a financial system.  &lt;br /&gt;&lt;br /&gt;This is a good read for anyone interested in more details on &lt;a href="http://www.spinellis.gr/blog/20080626/"&gt;the way we program&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-7094046631589062496?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/7094046631589062496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=7094046631589062496' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/7094046631589062496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/7094046631589062496'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2008/07/meaningful-identifiers.html' title='Meaningful Identifiers'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-2655114918398709951</id><published>2008-07-14T18:21:00.000-07:00</published><updated>2008-12-10T00:06:01.565-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VS 2008 debugger'/><title type='text'>VS 2008 Debugger going crazy?</title><content type='html'>Look at the code below and put the breakpoint on line&lt;br/&gt; if (_s == null)&lt;br/&gt;&lt;br /&gt;observe the behavior when we do something like &lt;br/&gt;s2 = Singleton.getSingletonInstance();&lt;br/&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;using System;&lt;br /&gt;&lt;br /&gt;namespace Pattern&lt;br /&gt;{&lt;br /&gt;    class Program&lt;br /&gt;    {&lt;br /&gt;        static void Main(string[] args)&lt;br /&gt;        {&lt;br /&gt;            Singleton s1, s2;&lt;br /&gt;&lt;br /&gt;            s1 = Singleton.getSingletonInstance();&lt;br /&gt;&lt;br /&gt;            s1.instanceCount = 100;&lt;br /&gt;&lt;br /&gt;            s2 = Singleton.getSingletonInstance();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;      &lt;br /&gt;&lt;br /&gt;   sealed class Singleton&lt;br /&gt;    {&lt;br /&gt;        private static Singleton _s = null;&lt;br /&gt;        public int instanceCount;&lt;br /&gt;&lt;br /&gt;        private Singleton()&lt;br /&gt;        {&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public static Singleton getSingletonInstance()&lt;br /&gt;        {&lt;br /&gt;            if (_s == null)&lt;br /&gt;            {&lt;br /&gt;                _s = new Singleton();&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            return _s;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;When the breakpoint will hit, try watching the value of _s. The watch window will pop endlessly all over the screen when you click on the following + sign next to the static members icon. &lt;br/&gt; Screenshot:&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_J8sDhLDCDXA/SHv7z5Sx0RI/AAAAAAAAAIA/8xubz88GBJM/s1600-h/debugger.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_J8sDhLDCDXA/SHv7z5Sx0RI/AAAAAAAAAIA/8xubz88GBJM/s320/debugger.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5223045061837705490" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-2655114918398709951?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/2655114918398709951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=2655114918398709951' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/2655114918398709951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/2655114918398709951'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2008/07/vs-2008-debugger-going-crazy.html' title='VS 2008 Debugger going crazy?'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_J8sDhLDCDXA/SHv7z5Sx0RI/AAAAAAAAAIA/8xubz88GBJM/s72-c/debugger.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-1734030898910877687</id><published>2008-06-20T09:54:00.000-07:00</published><updated>2008-12-10T00:06:01.729-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SoCal Code Camp'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='LinqDataSource'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>SoCal Code Camp 2008</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_J8sDhLDCDXA/SFvrdu-lSXI/AAAAAAAAAH0/Z_aFiQ_-nJY/s1600-h/codecamp.gif"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_J8sDhLDCDXA/SFvrdu-lSXI/AAAAAAAAAH0/Z_aFiQ_-nJY/s320/codecamp.gif" border="0" width="100%" alt=""id="BLOGGER_PHOTO_ID_5214019889670736242" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I will be presenting at Next Code Camp June 28th and 29th at University California San Diego Extension [&lt;a href="http://www.socalcodecamp.com/default.aspx"&gt;www.socalcodecamp.com&lt;/a&gt;]&lt;br /&gt;&lt;br /&gt;Topic: &lt;a href="http://www.socalcodecamp.com/session.aspx?sid=13dbf983-9630-4465-9eec-971c66a9dc48"&gt;Using LinqDataSource with ASP.NET data controls &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;When: 3:00 PM - Sessions Room 110 on 06/29/2008 - &lt;a href ="http://www.socalcodecamp.com/Directions.aspx"&gt; driving directions can be found here&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Check out &lt;a href="http://www.codeproject.com/KB/aspnet/LinqDataSourcebasics.aspx" target="_blank"&gt;LinqDataSource Sample&lt;/a&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;We will work on this sample in session.&lt;br /&gt;&lt;br /&gt;Thanks&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-1734030898910877687?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/1734030898910877687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=1734030898910877687' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/1734030898910877687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/1734030898910877687'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2008/06/socal-code-camp-2008.html' title='SoCal Code Camp 2008'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_J8sDhLDCDXA/SFvrdu-lSXI/AAAAAAAAAH0/Z_aFiQ_-nJY/s72-c/codecamp.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-5552297924809975729</id><published>2008-06-06T12:20:00.000-07:00</published><updated>2008-12-10T00:06:01.918-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>LINQ to SQL model</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_J8sDhLDCDXA/SEmOSDjbaAI/AAAAAAAAAHs/-JIjwpGcL5c/s1600-h/LINQ.GIF"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_J8sDhLDCDXA/SEmOSDjbaAI/AAAAAAAAAHs/-JIjwpGcL5c/s320/LINQ.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5208850884873381890" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-5552297924809975729?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/5552297924809975729/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=5552297924809975729' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/5552297924809975729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/5552297924809975729'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2008/06/linq-to-sql-model.html' title='LINQ to SQL model'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_J8sDhLDCDXA/SEmOSDjbaAI/AAAAAAAAAHs/-JIjwpGcL5c/s72-c/LINQ.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-8719498047572512710</id><published>2008-04-19T21:28:00.001-07:00</published><updated>2008-12-10T00:06:02.052-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Type checking'/><category scheme='http://www.blogger.com/atom/ns#' term='Exception types'/><title type='text'>Type of Exceptions</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_J8sDhLDCDXA/SArGqX4iROI/AAAAAAAAAHM/N9N7agjLeWs/s1600-h/exceptions.GIF"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_J8sDhLDCDXA/SArGqX4iROI/AAAAAAAAAHM/N9N7agjLeWs/s320/exceptions.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5191179951765865698" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-8719498047572512710?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/8719498047572512710/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=8719498047572512710' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/8719498047572512710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/8719498047572512710'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2008/04/type-of-exceptions.html' title='Type of Exceptions'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_J8sDhLDCDXA/SArGqX4iROI/AAAAAAAAAHM/N9N7agjLeWs/s72-c/exceptions.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-1898462366028329389</id><published>2008-04-16T10:01:00.000-07:00</published><updated>2008-12-10T00:06:02.330-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Design Pattern'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Nullable Object Pattern</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_J8sDhLDCDXA/SAYw7EgWlSI/AAAAAAAAAHE/jRIaIvQUYok/s1600-h/NullableObject.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_J8sDhLDCDXA/SAYw7EgWlSI/AAAAAAAAAHE/jRIaIvQUYok/s320/NullableObject.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5189889411970929954" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-1898462366028329389?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/1898462366028329389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=1898462366028329389' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/1898462366028329389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/1898462366028329389'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2008/04/nullable-object-pattern.html' title='Nullable Object Pattern'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_J8sDhLDCDXA/SAYw7EgWlSI/AAAAAAAAAHE/jRIaIvQUYok/s72-c/NullableObject.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-1346150309094892867</id><published>2008-04-04T11:08:00.000-07:00</published><updated>2008-12-10T00:06:02.522-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='skills'/><category scheme='http://www.blogger.com/atom/ns#' term='experience'/><category scheme='http://www.blogger.com/atom/ns#' term='compiler'/><title type='text'>Experience</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_J8sDhLDCDXA/R_Zu1sVwK_I/AAAAAAAAAG8/dcGU6r3ERJw/s1600-h/experience.GIF"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_J8sDhLDCDXA/R_Zu1sVwK_I/AAAAAAAAAG8/dcGU6r3ERJw/s320/experience.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5185453889678224370" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-1346150309094892867?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/1346150309094892867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=1346150309094892867' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/1346150309094892867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/1346150309094892867'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2008/04/experience.html' title='Experience'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_J8sDhLDCDXA/R_Zu1sVwK_I/AAAAAAAAAG8/dcGU6r3ERJw/s72-c/experience.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-3466681624988442006</id><published>2008-02-19T21:31:00.001-08:00</published><updated>2008-12-10T00:06:02.710-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Deductive logic'/><category scheme='http://www.blogger.com/atom/ns#' term='Inductive logic'/><category scheme='http://www.blogger.com/atom/ns#' term='logic'/><title type='text'>Logic</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_J8sDhLDCDXA/R7u7aNGxuEI/AAAAAAAAAFk/_CkYPgSH914/s1600-h/logic.GIF"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_J8sDhLDCDXA/R7u7aNGxuEI/AAAAAAAAAFk/_CkYPgSH914/s320/logic.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5168931056206854210" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-3466681624988442006?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/3466681624988442006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=3466681624988442006' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/3466681624988442006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/3466681624988442006'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2008/02/logic.html' title='Logic'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_J8sDhLDCDXA/R7u7aNGxuEI/AAAAAAAAAFk/_CkYPgSH914/s72-c/logic.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-4125483725326840009</id><published>2008-01-08T20:41:00.000-08:00</published><updated>2008-12-10T00:06:03.163-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='Application Design'/><title type='text'>Wrapper Application</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_J8sDhLDCDXA/R4RQ38tlKBI/AAAAAAAAAFc/ouRndu8FDek/s1600-h/wrapper.gif"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_J8sDhLDCDXA/R4RQ38tlKBI/AAAAAAAAAFc/ouRndu8FDek/s320/wrapper.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5153332795739023378" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-4125483725326840009?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/4125483725326840009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=4125483725326840009' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/4125483725326840009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/4125483725326840009'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2008/01/wrapper-application.html' title='Wrapper Application'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_J8sDhLDCDXA/R4RQ38tlKBI/AAAAAAAAAFc/ouRndu8FDek/s72-c/wrapper.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-705559145582802401</id><published>2007-12-25T20:14:00.000-08:00</published><updated>2008-12-10T00:06:03.456-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software architecture'/><title type='text'>Architecture pattern : Coupling</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_J8sDhLDCDXA/R3HVWstlJ_I/AAAAAAAAAFM/t1rOUxtiPHc/s1600-h/electriccircuit.gif"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_J8sDhLDCDXA/R3HVWstlJ_I/AAAAAAAAAFM/t1rOUxtiPHc/s320/electriccircuit.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5148130434997364722" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;a href="http://4.bp.blogspot.com/_J8sDhLDCDXA/R3HVb8tlKAI/AAAAAAAAAFU/xLWhrvQP-Fg/s1600-h/electriccircuit1.gif"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_J8sDhLDCDXA/R3HVb8tlKAI/AAAAAAAAAFU/xLWhrvQP-Fg/s320/electriccircuit1.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5148130525191677954" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-705559145582802401?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/705559145582802401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=705559145582802401' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/705559145582802401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/705559145582802401'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2007/12/architecture-pattern-coupling.html' title='Architecture pattern : Coupling'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_J8sDhLDCDXA/R3HVWstlJ_I/AAAAAAAAAFM/t1rOUxtiPHc/s72-c/electriccircuit.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-2508412298979728236</id><published>2007-11-29T14:50:00.000-08:00</published><updated>2008-12-10T00:06:03.873-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><category scheme='http://www.blogger.com/atom/ns#' term='OOD'/><title type='text'>Software Development</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_J8sDhLDCDXA/R09CQ0rXFJI/AAAAAAAAAFE/esB3UJ8E1Z8/s1600-h/Softwaredevelopment.GIF"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_J8sDhLDCDXA/R09CQ0rXFJI/AAAAAAAAAFE/esB3UJ8E1Z8/s320/Softwaredevelopment.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5138398556638876818" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-2508412298979728236?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/2508412298979728236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=2508412298979728236' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/2508412298979728236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/2508412298979728236'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2007/11/software-development.html' title='Software Development'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_J8sDhLDCDXA/R09CQ0rXFJI/AAAAAAAAAFE/esB3UJ8E1Z8/s72-c/Softwaredevelopment.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-4963585730895031484</id><published>2007-11-11T23:19:00.000-08:00</published><updated>2008-12-10T00:06:04.035-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aspect oriented programming'/><title type='text'>Aspect Oriented Programming</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_J8sDhLDCDXA/Rzf_PCKsxhI/AAAAAAAAAE8/grvJdtRl94Y/s1600-h/asop.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_J8sDhLDCDXA/Rzf_PCKsxhI/AAAAAAAAAE8/grvJdtRl94Y/s320/asop.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5131850934156838418" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-4963585730895031484?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/4963585730895031484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=4963585730895031484' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/4963585730895031484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/4963585730895031484'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2007/11/aspect-oriented-programming.html' title='Aspect Oriented Programming'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_J8sDhLDCDXA/Rzf_PCKsxhI/AAAAAAAAAE8/grvJdtRl94Y/s72-c/asop.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-6371840562062066195</id><published>2007-10-27T13:57:00.001-07:00</published><updated>2008-12-10T00:06:04.193-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='835'/><category scheme='http://www.blogger.com/atom/ns#' term='Structural inefficiency  in Health Care Network'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='837'/><category scheme='http://www.blogger.com/atom/ns#' term='EDI X12 834'/><title type='text'>Structural inefficiency  in Health Care Network</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_J8sDhLDCDXA/RyOmav9vs7I/AAAAAAAAAEs/yx1JgrBPcW0/s1600-h/Healthcare.GIF"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_J8sDhLDCDXA/RyOmav9vs7I/AAAAAAAAAEs/yx1JgrBPcW0/s320/Healthcare.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5126123779360011186" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-6371840562062066195?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/6371840562062066195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=6371840562062066195' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/6371840562062066195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/6371840562062066195'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2007/10/structural-inefficiency-in-health-care.html' title='Structural inefficiency  in Health Care Network'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_J8sDhLDCDXA/RyOmav9vs7I/AAAAAAAAAEs/yx1JgrBPcW0/s72-c/Healthcare.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-2848334621663322404</id><published>2007-10-14T14:17:00.000-07:00</published><updated>2008-12-10T00:06:04.439-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Focus'/><title type='text'>Focus</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_J8sDhLDCDXA/RxKHrfnXkjI/AAAAAAAAAEk/vn5AylJdTfs/s1600-h/Focus.GIF"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_J8sDhLDCDXA/RxKHrfnXkjI/AAAAAAAAAEk/vn5AylJdTfs/s320/Focus.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5121304907564421682" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-2848334621663322404?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/2848334621663322404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=2848334621663322404' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/2848334621663322404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/2848334621663322404'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2007/10/focus.html' title='Focus'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_J8sDhLDCDXA/RxKHrfnXkjI/AAAAAAAAAEk/vn5AylJdTfs/s72-c/Focus.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-1659871294213462089</id><published>2007-10-04T11:47:00.000-07:00</published><updated>2007-10-04T11:51:13.871-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='browser'/><title type='text'>Disable Browser back button</title><content type='html'>"&lt;a href="http://soaas.blogspot.com/" onclick="javascript:location.replace(this.href); event.returnValue=false; "&gt;No back button when you do this.&lt;/a&gt;"&lt;br /&gt;&lt;br /&gt;code:&lt;br /&gt;&lt;br /&gt;"a href="http://soaas.blogspot.com/" onclick="javascript:location.replace(this.href); event.returnValue=false; "&gt;No back button when you do this. /a"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-1659871294213462089?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/1659871294213462089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=1659871294213462089' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/1659871294213462089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/1659871294213462089'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2007/10/disable-browser-back-button.html' title='Disable Browser back button'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-2608717281654742295</id><published>2007-09-30T13:24:00.000-07:00</published><updated>2008-12-10T00:06:04.628-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Evolution of Computer Systems Architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='Mainframe'/><category scheme='http://www.blogger.com/atom/ns#' term='WEb Service'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><category scheme='http://www.blogger.com/atom/ns#' term='Client Server'/><title type='text'>Evolution of Computer Systems Architecture</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_J8sDhLDCDXA/RwAGdd6M_II/AAAAAAAAAEc/2viW0Zk-wfQ/s1600-h/Evolution.GIF"&gt;&lt;img id="BLOGGER_PHOTO_ID_5116096280007605378" style="CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_J8sDhLDCDXA/RwAGdd6M_II/AAAAAAAAAEc/2viW0Zk-wfQ/s320/Evolution.GIF" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;“Had we had such a progress in transportation as we have in computers, one could travel cost to cost in few seconds at a cost of few pennies…”&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-2608717281654742295?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/2608717281654742295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=2608717281654742295' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/2608717281654742295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/2608717281654742295'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2007/09/evolution-of-computer-systems.html' title='Evolution of Computer Systems Architecture'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_J8sDhLDCDXA/RwAGdd6M_II/AAAAAAAAAEc/2viW0Zk-wfQ/s72-c/Evolution.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-8819285023150871732</id><published>2007-09-19T16:48:00.000-07:00</published><updated>2008-12-10T00:06:05.293-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hardware Upgrade'/><category scheme='http://www.blogger.com/atom/ns#' term='IT Infrastructure Planning'/><title type='text'>IT Infrastructure Planning</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_J8sDhLDCDXA/RvG1b9klXCI/AAAAAAAAAEU/3MNEGowwIe4/s1600-h/ITIPlanning.GIF"&gt;&lt;img id="BLOGGER_PHOTO_ID_5112066544031325218" style="CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_J8sDhLDCDXA/RvG1b9klXCI/AAAAAAAAAEU/3MNEGowwIe4/s320/ITIPlanning.GIF" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-8819285023150871732?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/8819285023150871732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=8819285023150871732' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/8819285023150871732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/8819285023150871732'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2007/09/it-infrastructure-planning.html' title='IT Infrastructure Planning'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_J8sDhLDCDXA/RvG1b9klXCI/AAAAAAAAAEU/3MNEGowwIe4/s72-c/ITIPlanning.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-7536116880953129860</id><published>2007-09-04T15:34:00.000-07:00</published><updated>2008-12-10T00:06:05.519-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><category scheme='http://www.blogger.com/atom/ns#' term='Enterprise Pattern'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Engineering'/><title type='text'>Outward Software Development Model</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_J8sDhLDCDXA/Rt3d3oKu4_I/AAAAAAAAAD0/ka1YHSerEo4/s1600-h/ODM.GIF"&gt;&lt;img id="BLOGGER_PHOTO_ID_5106481500252988402" style="CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_J8sDhLDCDXA/Rt3d3oKu4_I/AAAAAAAAAD0/ka1YHSerEo4/s320/ODM.GIF" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Outward Development Model [ODM] is very common in  projects involving op sys development, application framework development, platform integration tools, etc. Is  there any real alternative to this model when we are working on such a big project with very wide impact? TDD, XP,RAD, DDD…&lt;br /&gt;&lt;br /&gt;Can  Rome be built in a day?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-7536116880953129860?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/7536116880953129860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=7536116880953129860' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/7536116880953129860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/7536116880953129860'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2007/09/outward-software-development-model.html' title='Outward Software Development Model'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_J8sDhLDCDXA/Rt3d3oKu4_I/AAAAAAAAAD0/ka1YHSerEo4/s72-c/ODM.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-4927929661440450414</id><published>2007-08-24T15:48:00.000-07:00</published><updated>2008-12-10T00:06:05.650-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Integration'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><category scheme='http://www.blogger.com/atom/ns#' term='ORM'/><title type='text'>Object Relational Mapping</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_J8sDhLDCDXA/Rs9gUIKu4-I/AAAAAAAAADs/d5APvOwfCI0/s1600-h/ORM.GIF"&gt;&lt;img id="BLOGGER_PHOTO_ID_5102402801740211170" style="CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_J8sDhLDCDXA/Rs9gUIKu4-I/AAAAAAAAADs/d5APvOwfCI0/s320/ORM.GIF" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-4927929661440450414?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/4927929661440450414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=4927929661440450414' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/4927929661440450414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/4927929661440450414'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2007/08/object-relational-mapping.html' title='Object Relational Mapping'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_J8sDhLDCDXA/Rs9gUIKu4-I/AAAAAAAAADs/d5APvOwfCI0/s72-c/ORM.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-5799794400881653911</id><published>2007-08-02T19:04:00.000-07:00</published><updated>2007-08-02T19:13:55.288-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C# Compiler'/><title type='text'>C# Compiler Mysteries</title><content type='html'>This is an ERROR&lt;br /&gt;&lt;br /&gt;protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;if (!IsPostBack)&lt;br /&gt;SortedList sl = new SortedList();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;This is NOT an ERROR&lt;br /&gt;&lt;br /&gt;protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;if (!IsPostBack)&lt;br /&gt;{&lt;br /&gt;SortedList sl = new SortedList();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Want to know more about this , check out&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/xaw06638(vs.80).aspx"&gt;http://msdn2.microsoft.com/en-us/library/xaw06638(vs.80).aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And here you will find more opinions&lt;br /&gt;&lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1780871&amp;SiteID=1&amp;amp;pageid=0"&gt;http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1780871&amp;SiteID=1&amp;amp;pageid=0&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-5799794400881653911?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/5799794400881653911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=5799794400881653911' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/5799794400881653911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/5799794400881653911'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2007/08/c-compiler-mysteries.html' title='C# Compiler Mysteries'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-5583117527093410734</id><published>2007-08-01T12:39:00.000-07:00</published><updated>2008-12-10T00:06:05.779-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Role Base Access Security [RBAC]'/><category scheme='http://www.blogger.com/atom/ns#' term='Application Security'/><title type='text'>Role Permission Explosion in Role Base Access Security [RBAC]</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_J8sDhLDCDXA/RrDh3ZliTyI/AAAAAAAAADk/zPpoQSaOOTs/s1600-h/PermissionRole.gif"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_J8sDhLDCDXA/RrDh3ZliTyI/AAAAAAAAADk/zPpoQSaOOTs/s320/PermissionRole.gif" alt="" id="BLOGGER_PHOTO_ID_5093819520433409826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=";font-family:&amp;quot;;font-size:12;"  &gt;&lt;!--[if gte vml 1]&gt;&lt;v:shapetype id="_x0000_t75" coordsize="21600,21600" spt="75" preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;  &lt;v:stroke joinstyle="miter"&gt;  &lt;v:formulas&gt;   &lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;   &lt;v:f eqn="sum @0 1 0"&gt;   &lt;v:f eqn="sum 0 0 @1"&gt;   &lt;v:f eqn="prod @2 1 2"&gt;   &lt;v:f eqn="prod @3 21600 pixelWidth"&gt;   &lt;v:f eqn="prod @3 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @0 0 1"&gt;   &lt;v:f eqn="prod @6 1 2"&gt;   &lt;v:f eqn="prod @7 21600 pixelWidth"&gt;   &lt;v:f eqn="sum @8 21600 0"&gt;   &lt;v:f eqn="prod @7 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @10 21600 0"&gt;  &lt;/v:formulas&gt;  &lt;v:path extrusionok="f" gradientshapeok="t" connecttype="rect"&gt;  &lt;o:lock ext="edit" aspectratio="t"&gt; &lt;/v:shapetype&gt;&lt;v:shape id="_x0000_i1025" type="#_x0000_t75" style="'width:373.5pt;"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\agadkari\LOCALS~1\Temp\msohtml1\03\clip_image001.emz" title=""&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;!--[endif]--&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;Formula: nCr = n! / [(n-r)! r!]&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;n : Possible Permissions&lt;/p&gt;  &lt;p class="MsoNormal"&gt;r : Possible Roles&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;So for 3 Permissions, possible roles are&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;3C1+3C2+3C3 = 7 &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;So for 3 permissions, we have 7 possible roles in 1 application. If we have 2 applications then the no of roles will be 14.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;Challenge&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;How to minimize / manage roles?&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;Solution: &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;By Grouping&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;ol style="margin-top: 0in;" start="1" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;Role      Hierarchy&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Role      Linking&lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;By Enforcing Business Rules&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-5583117527093410734?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/5583117527093410734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=5583117527093410734' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/5583117527093410734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/5583117527093410734'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2007/08/role-permission-explosion-in-role-base.html' title='Role Permission Explosion in Role Base Access Security [RBAC]'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_J8sDhLDCDXA/RrDh3ZliTyI/AAAAAAAAADk/zPpoQSaOOTs/s72-c/PermissionRole.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-2498868478309912220</id><published>2007-07-06T10:20:00.000-07:00</published><updated>2008-12-10T00:06:05.942-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Simplicity'/><category scheme='http://www.blogger.com/atom/ns#' term='Enterprise Pattern'/><category scheme='http://www.blogger.com/atom/ns#' term='Code Refactor'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Structure'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><category scheme='http://www.blogger.com/atom/ns#' term='GOF Pattern'/><title type='text'>Application Performance and Simplicity</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_J8sDhLDCDXA/RpCK2dR5M4I/AAAAAAAAADc/9OIj-nYBsNA/s1600-h/performance.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5084716647478539138" style="CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_J8sDhLDCDXA/RpCK2dR5M4I/AAAAAAAAADc/9OIj-nYBsNA/s320/performance.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/_J8sDhLDCDXA/Ro56H9R5M3I/AAAAAAAAADU/lRYe-Su8WmM/s1600-h/performance.GIF"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-2498868478309912220?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/2498868478309912220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=2498868478309912220' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/2498868478309912220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/2498868478309912220'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2007/07/application-performance-and-simplicity.html' title='Application Performance and Simplicity'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_J8sDhLDCDXA/RpCK2dR5M4I/AAAAAAAAADc/9OIj-nYBsNA/s72-c/performance.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-4226733189151590612</id><published>2007-05-15T18:13:00.000-07:00</published><updated>2008-12-10T00:06:06.136-08:00</updated><title type='text'>Filter and Pipe with Publish and Subscribe Flavor</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_J8sDhLDCDXA/Rkpbi-jGA5I/AAAAAAAAACA/oCLI4Np5fpk/s1600-h/FilterandPipe.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5064961387395416978" style="CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_J8sDhLDCDXA/Rkpbi-jGA5I/AAAAAAAAACA/oCLI4Np5fpk/s320/FilterandPipe.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-4226733189151590612?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/4226733189151590612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=4226733189151590612' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/4226733189151590612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/4226733189151590612'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2007/05/filter-and-pipe-with-publish-and.html' title='Filter and Pipe with Publish and Subscribe Flavor'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_J8sDhLDCDXA/Rkpbi-jGA5I/AAAAAAAAACA/oCLI4Np5fpk/s72-c/FilterandPipe.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-879006855420933655</id><published>2007-05-15T11:57:00.000-07:00</published><updated>2008-12-10T00:06:06.238-08:00</updated><title type='text'>Filter and Pipe Pattern for SaaS</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_J8sDhLDCDXA/RkoDWdcrlgI/AAAAAAAAAB4/XqPOmNrVZ3M/s1600-h/FilterandPipe.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5064864415328474626" style="CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_J8sDhLDCDXA/RkoDWdcrlgI/AAAAAAAAAB4/XqPOmNrVZ3M/s320/FilterandPipe.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-879006855420933655?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/879006855420933655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=879006855420933655' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/879006855420933655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/879006855420933655'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2007/05/filter-and-pipe-pattern-for-saas.html' title='Filter and Pipe Pattern for SaaS'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_J8sDhLDCDXA/RkoDWdcrlgI/AAAAAAAAAB4/XqPOmNrVZ3M/s72-c/FilterandPipe.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-5257152237705831394</id><published>2007-04-23T12:13:00.000-07:00</published><updated>2007-04-23T12:18:06.264-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ClockLink'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='SaaS'/><title type='text'>SaaS in Action!</title><content type='html'>Check this out&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.clocklink.com/ENG/gallery.htm"&gt;http://www.clocklink.com/ENG/gallery.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Just copy the html code from this website on any webpage. This script will give you a decent , ajax enabled world clock. Cool app and good example of software as service.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-5257152237705831394?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/5257152237705831394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=5257152237705831394' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/5257152237705831394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/5257152237705831394'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2007/04/saas-in-action.html' title='SaaS in Action!'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-1834016845605191319</id><published>2007-03-14T12:10:00.001-07:00</published><updated>2007-03-14T12:14:32.249-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SaaS'/><title type='text'>SaaS : $19.3 billion by 2011</title><content type='html'>Check this out&lt;br /&gt;&lt;br /&gt;"According to Gartner, the market for SaaS applications grew by 26 percent last year, from $5 billion in 2005 to $6.3 billion in 2006. The consulting firm expects demand for SaaS to continue growing at a 25 percent compound annual rate over the next five years, to $19.3 billion by 2011. Most of those dollars are going to new entrants rather than established software vendors like Oracle (&lt;a href="http://www.internetnews.com/stocks/quotes/quote.php/ORCL"&gt;Quote&lt;/a&gt;), SAP and Microsoft (&lt;a href="http://www.internetnews.com/stocks/quotes/quote.php/MSFT"&gt;Quote&lt;/a&gt;)."&lt;br /&gt;&lt;br /&gt;For full story - check this out "Vendors Missing the SaaS Wave By &lt;a href="http://www.aspnews.com/feedback.php/http://www.aspnews.com/news/article.php/3664361"&gt;Michael Hickins&lt;/a&gt; " [&lt;a href="http://www.aspnews.com/news/article.php/3664361"&gt;http://www.aspnews.com/news/article.php/3664361&lt;/a&gt;]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-1834016845605191319?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/1834016845605191319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=1834016845605191319' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/1834016845605191319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/1834016845605191319'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2007/03/saas-193-billion-by-2011_14.html' title='SaaS : $19.3 billion by 2011'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-6295010498377183364</id><published>2007-03-13T11:11:00.000-07:00</published><updated>2008-12-10T00:06:06.861-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programmer productivity'/><category scheme='http://www.blogger.com/atom/ns#' term='High level langueges'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Source code'/><category scheme='http://www.blogger.com/atom/ns#' term='Power of programming language'/><category scheme='http://www.blogger.com/atom/ns#' term='transformation'/><category scheme='http://www.blogger.com/atom/ns#' term='Advances in computer science'/><title type='text'>More Power per Source Code line</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_J8sDhLDCDXA/RfbpWu8EYjI/AAAAAAAAABk/a1_VmCukiTU/s1600-h/PowerofSourceCode.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5041473409654219314" style="CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_J8sDhLDCDXA/RfbpWu8EYjI/AAAAAAAAABk/a1_VmCukiTU/s320/PowerofSourceCode.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;Now this example is just hypothetical and grossly overestimation of the reality. But the point is, we are writing less line of code to achieve same results. In my opinion, this is because&lt;br /&gt;&lt;br /&gt;1. Powerful programming constructs and smart compilers [for example, C# closure]&lt;/p&gt;&lt;p&gt;2. Advances in Algorithm and Hardware&lt;/p&gt;&lt;p&gt;3. Greater level of code level abstraction&lt;/p&gt;&lt;p&gt;For Example, Consider following example in C# and same code compiled by MS CLR &lt;/p&gt;&lt;p&gt;[Example from : &lt;a href="http://www.thinkingms.com/pensieve/CommentView,guid,fd10bfa8-1aeb-4353-84c8-cd80e418424f.aspx"&gt;http://www.thinkingms.com/pensieve/CommentView,guid,fd10bfa8-1aeb-4353-84c8-cd80e418424f.aspx&lt;/a&gt;]&lt;/p&gt;&lt;p&gt;&lt;br /&gt;// Display powers of 2 up to the exponent 8:&lt;br /&gt;foreach(int i in Power(2, 8))&lt;br /&gt;Console.Write("{0} ", i);&lt;/p&gt;&lt;p&gt;Now this code will be compiled as &lt;/p&gt;&lt;p&gt;public static IEnumerable Power(int number, int exponent)&lt;br /&gt;{&lt;br /&gt;int counter =0;&lt;br /&gt;int result = 1;&lt;br /&gt;while(counter++ &lt; result =" result"&gt;&lt;br /&gt;       {&lt;br /&gt;            result = result * number;&lt;br /&gt;            yield result;&lt;br /&gt;        }&lt;br /&gt;} &lt;p&gt;So the point is, foreach is an elegant syntax. It also hides a lot of complexity at the programming construct level. Now, the level of abstraction and its impact on performance is altogether a different topic.&lt;br /&gt;&lt;br /&gt;Still, if we are using high level language like C# or Java for developing business applications then this abstraction and syntax simplicity is good. [This argument is based on a long discussion with my friend Jon Saltzman]&lt;br /&gt;&lt;br /&gt;Again, I heard an argument that this abstraction will result in increased programmer productivity. I am not sure about that. Anyway, point is modern programming languages provide more power per source code line&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-6295010498377183364?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/6295010498377183364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=6295010498377183364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/6295010498377183364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/6295010498377183364'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2007/03/more-power-per-source-code-line.html' title='More Power per Source Code line'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_J8sDhLDCDXA/RfbpWu8EYjI/AAAAAAAAABk/a1_VmCukiTU/s72-c/PowerofSourceCode.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-3621588935871353734</id><published>2007-03-09T15:00:00.000-08:00</published><updated>2008-12-10T00:06:07.043-08:00</updated><title type='text'>Gartner Hype Cycle</title><content type='html'>Time and again I have seen and heard discussion on the rise and fall of a particular technology. With multi core processors and Internet based distributed programming – this debate is getting sharper by each passing day.&lt;br /&gt;&lt;br /&gt;I found one tool to analyze the rise and fall of any technology against the proven industry data – “Gartner Cycle”. Here is my take on current state of the technology...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_J8sDhLDCDXA/RfHoKu8EYiI/AAAAAAAAABc/1Ongh1ozOys/s1600-h/GC.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5040064729100608034" style="CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_J8sDhLDCDXA/RfHoKu8EYiI/AAAAAAAAABc/1Ongh1ozOys/s320/GC.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-3621588935871353734?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/3621588935871353734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=3621588935871353734' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/3621588935871353734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/3621588935871353734'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2007/03/hyper-cycle.html' title='Gartner Hype Cycle'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_J8sDhLDCDXA/RfHoKu8EYiI/AAAAAAAAABc/1Ongh1ozOys/s72-c/GC.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-4279673864112876580</id><published>2007-02-18T15:15:00.000-08:00</published><updated>2008-12-10T00:06:07.163-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HTTPEndpoints'/><category scheme='http://www.blogger.com/atom/ns#' term='Security Model'/><category scheme='http://www.blogger.com/atom/ns#' term='SaaS'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows 2003'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET 2.0'/><title type='text'>One More Security Model</title><content type='html'>Here is another security model. We used this in one of our application.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_J8sDhLDCDXA/RdjeYxUK5KI/AAAAAAAAABI/7B0GTwWyV3Q/s1600-h/Security.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5033017100722693282" style="CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_J8sDhLDCDXA/RdjeYxUK5KI/AAAAAAAAABI/7B0GTwWyV3Q/s320/Security.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Algorithm&lt;br /&gt;&lt;br /&gt;1. Accept Username and pass it to the database in plain text&lt;br /&gt;2. At Database, from username find out the corresponding salt value&lt;br /&gt;3. Encrypt the salt value at database end and pass it on to your app&lt;br /&gt;4. Decrypt the salt value at app level and compute the hashed password at app level&lt;br /&gt;5. Hashed password = salt value + user password&lt;br /&gt;6. Encrypt the hashed password at app level and pass it on to database&lt;br /&gt;7. Decrypt the hashed password at database level and compare it with one stored in database&lt;br /&gt;8. If match is found - pass 1 else pass 0&lt;br /&gt;&lt;br /&gt;Assumption&lt;br /&gt;&lt;br /&gt;1. No password is stored in database; only hashed password is stored with corresponding salt value and username&lt;br /&gt;2. We have used identical .NET assembly [same algorithm for encrypt,decrypt and hash mechanism] at app and database end. .NET CLR integration is used to implement this dll functionality inside database&lt;br /&gt;3. Webservice is used to communicate with database. HTTP Endpoints and HTTP.SYS is used to create this web service&lt;br /&gt;&lt;br /&gt;Platform&lt;br /&gt;&lt;br /&gt;Windows 2003, .NET 2.0 and SQL Server 2005,ASP.NET&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-4279673864112876580?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/4279673864112876580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=4279673864112876580' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/4279673864112876580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/4279673864112876580'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2007/02/one-more-security-model.html' title='One More Security Model'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_J8sDhLDCDXA/RdjeYxUK5KI/AAAAAAAAABI/7B0GTwWyV3Q/s72-c/Security.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-6563972996161918093</id><published>2007-02-08T17:13:00.000-08:00</published><updated>2008-12-10T00:06:07.359-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SaaS'/><category scheme='http://www.blogger.com/atom/ns#' term='on demand'/><category scheme='http://www.blogger.com/atom/ns#' term='Advertizing based software'/><category scheme='http://www.blogger.com/atom/ns#' term='Business Model'/><title type='text'>Business Models of the Future</title><content type='html'>Read this interesting argument regarding the Software Business Model of the Future at &lt;a href="http://knowledge.wharton.upenn.edu/article.cfm?articleid=1651&amp;CFID=3283734&amp;amp;amp;amp;amp;amp;amp;CFTOKEN=97771900"&gt;http://knowledge.wharton.upenn.edu/article.cfm?articleid=1651&amp;CFID=3283734&amp;amp;amp;amp;amp;amp;amp;CFTOKEN=97771900&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Gist of this intellectual argument can be summarized as follows&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_J8sDhLDCDXA/RcvLsxUK5JI/AAAAAAAAAA8/TC1DWppzGzI/s1600-h/businessmodel.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5029337378901910674" style="CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_J8sDhLDCDXA/RcvLsxUK5JI/AAAAAAAAAA8/TC1DWppzGzI/s320/businessmodel.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Business Models of the Future&lt;br /&gt;&lt;br /&gt;&lt;a href="http://knowledge.wharton.upenn.edu/article.cfm?articleid=1651&amp;CFID=3283734&amp;amp;amp;amp;amp;amp;amp;CFTOKEN=97771900"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-6563972996161918093?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/6563972996161918093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=6563972996161918093' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/6563972996161918093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/6563972996161918093'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2007/02/business-models-of-future.html' title='Business Models of the Future'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_J8sDhLDCDXA/RcvLsxUK5JI/AAAAAAAAAA8/TC1DWppzGzI/s72-c/businessmodel.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-8514015067604233546</id><published>2007-01-30T17:08:00.000-08:00</published><updated>2008-12-10T00:06:07.544-08:00</updated><title type='text'></title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_J8sDhLDCDXA/Rb_sVlx-b6I/AAAAAAAAAAM/7yyAIa9c7OE/s1600-h/SaaS.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5025995564831895458" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_J8sDhLDCDXA/Rb_sVlx-b6I/AAAAAAAAAAM/7yyAIa9c7OE/s320/SaaS.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Difference between ASP and SaaS business model&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-8514015067604233546?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/8514015067604233546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=8514015067604233546' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/8514015067604233546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/8514015067604233546'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2007/01/difference-between-asp-and-saas.html' title=''/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_J8sDhLDCDXA/Rb_sVlx-b6I/AAAAAAAAAAM/7yyAIa9c7OE/s72-c/SaaS.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-7697457054155864789</id><published>2007-01-30T12:32:00.000-08:00</published><updated>2007-01-30T12:40:04.310-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='IASA'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP'/><category scheme='http://www.blogger.com/atom/ns#' term='Business Model'/><title type='text'>The extended Application Service Provider Service Model</title><content type='html'>The &lt;a title="IASA" href="http://www.iasahome.org/"&gt;International Association of Software Architects&lt;/a&gt; published myarticle on SaaS - “The extended Application Service Provider Service Model” in the &lt;a title="December 2006 issue" href="http://www.iasahome.org/web/home/perspectives?p_p_id=20&amp;p_p_action=1&amp;amp;p_p_state=exclusive&amp;p_p_col_id=null&amp;amp;p_p_col_pos=0&amp;p_p_col_count=0&amp;amp;_20_struts_action=%2Fdocument_library%2Fget_file&amp;_20_folderId=9&amp;amp;_20_name=IASANewsletterDec2006.pdf"&gt;December 2006 issue of the “Perspectives of the IASA” magazine&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Abstract&lt;br /&gt;&lt;br /&gt;The paper will focus on the process of service delivery in an extended Application Service Providers [ASP] model. The aim of this paper is to establish the unique characteristics of an extended ASP model. Observations in this paper are based on a Service Oriented Architecture (SOA) implementation. This paper discusses the service delivery model, and addresses challenges and benefits of an extended ASP. It will conclude with a discussion of the service implementation strategy.&lt;br /&gt;&lt;br /&gt;Direct link for PDF&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.iasahome.org/web/home/perspectives?p_p_id=20&amp;p_p_action=1&amp;amp;p_p_state=exclusive&amp;p_p_col_id=null&amp;amp;p_p_col_pos=0&amp;p_p_col_count=0&amp;amp;_20_struts_action=%2Fdocument_library%2Fget_file&amp;_20_folderId=9&amp;amp;_20_name=IASANewsletterDec2006.pdf"&gt;http://www.iasahome.org/web/home/perspectives?p_p_id=20&amp;p_p_action=1&amp;amp;p_p_state=exclusive&amp;p_p_col_id=null&amp;amp;p_p_col_pos=0&amp;p_p_col_count=0&amp;amp;_20_struts_action=%2Fdocument_library%2Fget_file&amp;_20_folderId=9&amp;amp;_20_name=IASANewsletterDec2006.pdf&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-7697457054155864789?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/7697457054155864789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=7697457054155864789' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/7697457054155864789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/7697457054155864789'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2007/01/extended-application-service-provider.html' title='The extended Application Service Provider Service Model'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6424353480348156968.post-6135830199552841168</id><published>2007-01-30T12:28:00.000-08:00</published><updated>2007-01-30T12:32:16.497-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='SoCal Code Camp'/><category scheme='http://www.blogger.com/atom/ns#' term='SaaS'/><category scheme='http://www.blogger.com/atom/ns#' term='WEb Service'/><category scheme='http://www.blogger.com/atom/ns#' term='HTTP End Points'/><title type='text'>Code Camp 2007</title><content type='html'>SoCal Code Camp : &lt;a href="http://www.socalcodecamp.com/session.aspx?sid=bafcd88e-7da2-44ac-828a-77ea3df7716b"&gt;Software As Service [SaaS] for Developers&lt;/a&gt; presentation&lt;br /&gt;&lt;br /&gt;What is SaaS? From Salesforce.com to workday.com, many vendors are offering Internet based, hosted software services. This business model is commonly known as SaaS. Presentation will focus on Design and Development of SaaS. We will cover the fundamentals of SaaS, service design guidelines, database considerations, operational and performance issues in SaaS domain. Presentation will be available on-line.&lt;br /&gt;&lt;br /&gt;Download this presentation and Demo Application Source code [c#,T-SQL and ASP.NET] from :&lt;br /&gt;&lt;a href="http://www.amgsiu.com/infocenter/wp-content/uploads/2007/01/CodeCamp.zip"&gt;http://www.amgsiu.com/infocenter/wp-content/uploads/2007/01/CodeCamp.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For Refrence Please check : http://www.iasahome.org/web/home/perspectives [Download the latest issue of the Perspectives!]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6424353480348156968-6135830199552841168?l=soaas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://soaas.blogspot.com/feeds/6135830199552841168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6424353480348156968&amp;postID=6135830199552841168' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/6135830199552841168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6424353480348156968/posts/default/6135830199552841168'/><link rel='alternate' type='text/html' href='http://soaas.blogspot.com/2007/01/code-camp-2007.html' title='Code Camp 2007'/><author><name>Abhi</name><uri>http://www.blogger.com/profile/01685499427924094227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_J8sDhLDCDXA/Sr2KIAUVz1I/AAAAAAAAAPE/uSqyuDU-Bn8/S220/abhi.JPG'/></author><thr:total>0</thr:total></entry></feed>
