Infosys Microsoft Alliance and Solutions blog

« June 2009 | Main | August 2009 »

July 31, 2009

Future of Desktop Computing

Imagine tomorrow when you switch on your LCD set to watch a movie, browse internet or do some official work. Am i talking about one device performing similar task as done by another…what’s new…Convergence is already achieving that…ok fine…how about buying the personalize desktop from some xyz vendor like Tata Sky, Airtel, Infosys … and accessing that through LCD. Accessing personalized desktop through LCD…what’s that…simply put desktop with some basic computing, processing, spreadsheet,  browsing, etc. capabilities that can help you do basic stuff or your kid do homework, take exams, do certifications, etc.. Hmm…where is this going… office work, home work, without having a dedicated laptop/desktop.

With eminent Cloud computing service models like IaaS (Infrastructure as a Service), PaaS (Platform as a Service), SaaS (Software as a Service), are we sensing another variation of *aaS? Simply put, Desktop as a Service (DaaS) is a Service over internet which helps you logon to your personalized or office desktop based on what computing and software services you have subscribed to.

If you find above stuff as too far too much…the enablers are already there, read about Airtel’s NetPC

To software enable such service models, Google and Microsoft have already started providing online Word, Spreadsheets called Google Docs, Google Spreadsheets and Microsoft Works respectively. Microsoft’s Windows Azure platform will be a great enabler for building and delivering such business and personal applications for enterprise and personal desktops respectively. Desktone has already started providing complete cloud based hosted desktops.

To truly realize the vision of work from anytime anywhere, multi site collaborative development, DaaS will have to be adopted sooner or later. Having said this, today the challenges security, network bandwidth continues to dent the rate of adoption of it as against the huge number of positives on offer it has like low CAPEX, improved flexibility and productivity.

July 27, 2009

Time to bid adieu to .Net Oracle Provider

Till date I have came across several .Net implementations, where design decision to use right provider to connect to Oracle database is not given enough thought. The repercussions of this are visible as late as in Performance acceptance phase but by then it is too late to revert any design decision. The cost of fixing such design defect in acceptance can get as high from 15 to 160 times. Check here
For any .Net application development, following are the natural choices to connect to Oracle Database

1) Use native Oracle provider with .Net framework available in System.Data.OracleClient Namespace
2) Use 3rd party Providers like Oracle Data Provider(ODP), DataDirect, Openlink or Devart
While this blog doesn’t intend to compare them, a high level guideline on when to use what has been..

If you are developing application with .net 3.5 or earlier version, and if your application exhibits some of following characteristics like it is using very basic Oracle Server features, application has relatively small user base (<50), less no. of concurrent users (<10), has very limited Scalability and Performance, needs no explicit Performance Acceptance then the recommendation used to be is to go with System.Data.OracleClient, whereas if your application demands high-end scalability and performance, need to leverage latest ORACLE Server (Oracle 11g) features like support for complex data types, passing arrays, support for Real application clusters(RAC),  Creating and Monitoring Connection pools, caching statements and queries, and more mentioned here, then use ODP as it catches up relatively faster to implement support for ORACLE Server features than anybody else and also tuned for maximum scalability and performance.

Enterprise Library 4.1 doesn’t support ODP through its Data Access application block, but it can be extended to make use of it. Having said this, all the 3rd party providers have slight deployment license cost associated with it, which is justified with the mileage it provides as compared to native .net Oracle provider

With release of .Net 4.0 Microsoft will be deprecating System.Data.OracleClient which means the namespace will be available in 4.0 but not recommended to be used. In case of using it in 4.0 application development, it would throw certain compile time warnings in development environment (not runtime errors or warnings and hence fine in production). However, application implementation in .net 3.5 or less should have a plan to migrate data access implementation using System.Data.OracleClient with 3rd party providers as Microsoft support for it would stop 10 years from 4.0 release.

What it means is Microsoft is straight away recommending, start using 3rd party Oracle Providers and stop using System.Data.OracleClient for fresh development. This will not only impact bespoke Web and Windows based .Net application but also Business Intelligence application (especially SQL Server Integration Services based) development on Oracle.

With this decision, Microsoft seem to have given up the interest in making further investments in rolling out System.Data.OracleClient with any new features in Oracle Server. This decision of Microsoft will surely hit Developers and Clients who were good with using the Out of the box framework supporting plain vanilla Oracle features. Architects should be at benefit that they will have one less option to choose from J

Not sure if this decision of Microsoft will go well with all stakeholders, to stay updated keep following this

July 21, 2009

Transaction Based Pricing (TBP) has arrived!!

Pricing models like Fixed Price (FP) where application pricing is charged for delivering complete working application to customer, Time and Material (T&M) where IT resources (primarily no. of people) are charged based on the time spent on the project. Both these models have been around for some time and are thoroughly tested with their pros and cons.

Over a period, clients have been demanding more stringent pricing models where investments in IT and success of projects are directly tied to the business outcomes through models like risk-reward pricing. While in some selective cases risk reward based pricing has been happening, agreeing and negotiating risk reward pricing contract is not easy for both clients and service providers. Hence this has not been widely adopted into the main stream.

Transaction based pricing is a model where a consumer is charged based on the units of functionality consumed e.g. $1 per person charged for a train ticket from xyz portal. The unit here is a train ticket per person.  The transaction unit mentioned above could vary from application to application and context to context. With marketing intelligence, the pricing model can get more intuitive where offers can be devised like within a year if you buy 100 tickets, the company will refund the charges for 10 tickets and so on.

The case for transaction based pricing is getting stronger due to multiple reasons like running full house IT operations is not feasible for businesses of all size, ROIs on IT projects are too farfetched, ongoing credit crisis and tightened norms for availability of credit to invest in IT, catering to elasticity of demand like need to serve more customers during Christmas sales or peaking of filing income tax returns during particular months of a year. All this surmises to an upfront CAPEX (Capital expenditure) even before businesses can start reaping fruits.

In late 1970’s Mainframes were affordable to only large organizations as against Personal computer today. Similarly if IT application ownership has to be commoditized from enterprises and large businesses to every individual, a model like transaction based pricing has a crucial role to perform.

While there are several instances where business and retailers as a consumer have adopted transaction based pricing e.g. Mobile/Internet connection, Electricity/Water consumption, Bus/Train Travel passes /reservations and so on. Imagining IT applications/services to be consumed like any other commodities is fairly nascent to the industry.

Transaction based pricing is recently seeded through Microsoft Cloud offerings and other vendors like Google, Amazon, Rackspace, etc.  Although there are fundamental differences in FP, T&M and Transaction based pricing. Going forward, i am sure Transaction Based Pricing will take a major pie of T&M and FP models described above and more likely emerge as a leading pricing model.

July 16, 2009

Outlook 2010 Technology Preview - quick reactions

I am sure you would be aware of recently launched Technology Preview of MS Office 2010. Depending on your access, you may be able to download it from Connect site. I  have upgraded my Office 2007 to Office 2010 and so far the experience has been good.

I have spent most of the time in looking at Outlook 2010 as that is that I use more often these days at work and thought to share some quick points that I liked about it. This is by no means a feature evaluation and you can get that listing on MS site, but more of immediate reactions to some things I noticed.

Unlike other beta programs that I have participated earlier on connect site, Office 2010 Tech Preview doesn't really has option to submit issues/feedback/bugs online. You can surely discuss them on the newsgroups, but the way to really submit these is to use the Smile and Frown options that are added to your system tray post installation. Check out more details here.

The thing that immediately comes to notice with Outlook is obviously the splash screen on startup. There is some cool animation added to it (which is common to all other Office Products as well). However that I really liked about it was the status message that really told me what's happening during the load. Perception matters a lot in context of performance and with right messaging, even long time taking operations can be made to look performant but showing appropriate messages to the user and I think Outlook got it right by showing the messages. I immediately became more tolerant to the sometimes a min plus time it took to open up.

Next is the much more pleasing user interface with more subtle color theme and lot of operational ribbon. Many new tasks/options have been added to it. The following figure shows some of it. However what I additionally liked is the reddish band right on the top in case of any prominent message had to be shown. I keep running out of mailbox space, due to the restriction on the Exchange server and earlier I would come to know of it only when I would spend 10 min to type a mail and then hit send, but now it is right there on the top and immediately visible. And if you go ahead and start to type a new mail, the mail itself has a MailTip that reiterates the point on mail size issue.


Other places where similar band is used is when you switch on Automatic Replies, mostly used for out of office scenarios. This feature however isn't accessible from the Tools menu of Outlook 2007, but via the new Office button on top left. Incidently the red band isn't only Outlook specific. It is used in other Office Products as well.

Not only do I get in place message on overshooting the mail size, but via the new Office button on top left, I can immediatly get details of extra size and option to fire up tools to cleanup as in the figure below.  


Another interesting feature is when you open attachments like Word, Excel, Powerpoint etc, from an email, a similar red band appears on top of the document as in the figure below.


Something else that caught my eye was the auto grouping of conversations in a thread like view. It helped consolidate all mails in one place and view them to get the context. And finally another cool feature was the embedding of my calendar inside of a meeting invite, so that I can view conflicts etc in place and don't have navigate to Calendar separately. See the figure below which shows this. Some meeting item details are masked out for obvious reasons.


These by no means are only new features in Outlook, but as I mentioned upfront, these are the ones that caught my eye in my initial few minutes of working it. As I work more with the technology preview products, I will share more interesting features that I personally liked.

July 13, 2009

Catalyzing Entrepreneurship

Entrepreneurship has been identified as the primary growth engine of any Economy. In the early 1990s when India opened up its markets to Globalization, we saw the spirit of entrepreneurship receiving a tremendous impetus cited with several instances of Startups or Small and medium sized businesses growing leaps and bounds benefiting the nation’s economy. Infosys has been an excellent example of how entrepreneurship has contributed to India’s growth and that too both in tangible and intangible value terms bringing global recognition of India’s Knowledge driven economy.  However Entrepreneurs face several challenges which impediments to their growth. A few of the challenged being

·         Limited exposure to capital  for running their businesses

·         Limited access to experienced IT resources

·         Lacking processes and systems which can help grow their businesses

·         Inability to Innovate

IT has been the catalyst which helps businesses to foster growth, which Entrepreneurs have not truly been able to leverage very effectively. This primarily being due to the high entry barriers, primarily owing to the high capital which needs to be invested upfront in terms of hardware and software, associated in building applications and systems even before the Enterprise would have started earning any revenue. Due to this the traditional IT delivery model has not been conducive for Entrepreneurs to innovate as the risk associated with failure is very high.

With the latest computing paradigm aka “Cloud Computing”, the IT barriers have dropped and entrepreneurs can now look at leveraging IT as a tool for innovation which can script more growth stories.

Continue reading "Catalyzing Entrepreneurship" >>

July 5, 2009

Getting File Audit Rules List

Earlier today a friend was trying to invoke GetAuditRules API on a file using c# code, but it was always returning a count of 0 inspite of having set a specific audit rule on the file via windows explorer. The surprising part was that GetAccessRules API was working and the code was running locally so it had full security rights as well.

Debugging didn't help and could not get specific pointers with the API documentation as well. Finally, the problem turned out to with the File.GetAccessControl API. The single parameter override of this API, sets the value for the AccessControlSections parameter to Access + Group + Owner and ignores on Audit from this and this caused the Audit fields to not return any value. Unfortunately, this isn't documented properly and hence anyone can easily miss out this point. You can however verify this using Reflector and see the internal implementation, which is as below

        public static FileSecurity GetAccessControl(string path)


            return GetAccessControl(path, AccessControlSections.Group | AccessControlSections.Owner | AccessControlSections.Access);


Modifying the call as below eventually got the GetAuditRules API working and got the required results.

FileSecurity fSecurity = File.GetAccessControl(str, AccessControlSections.All);

where str is the file whose audit rules are being queries. If you need only audit rules, you can use AccessControlSections.Audit as well. Hope this will help others also facing similar issues.

Subscribe to this blog's feed

Follow us on

Blogger Profiles

Infosys on Twitter