Archive for the ‘Business’ Category

Cloud Computing – IaaS, PaaS, SaaS – The Game Changers!

Monday, June 14th, 2010

Cloud computing means Internet based computing mechanism where Software, Hardware and other resources which are available in shared mode and can be utilized as and when required.  These are virtual resources which offer dynamic scalability over the web – this is the essence of the Cloud computing.

There are many cloud services that can be envisioned, but the main ones are IaaS (Infrastructure-as-a-Service), PaaS (Platform-as-a-Service), and SaaS (Software-as-a-Service).

Consider this scenario:

You have an E-Commerce application which sales grocery products. You have deployed it on a dedicated server which has high CPU speed, high memory and necessary disk space. You noticed that you have major traffic on your website every evening at around 6 to 8 PM and on weekends. During this period you receive 70% of your orders. Still there are many customers who would not order on your website due to over-traffic and connectivity issues. Either you need to add a new server or need to leave that chunk of business.

Here, Cloud Computing gives you the flexibility where in you can select extra resources for your peak business hours (which are 6 to 8 PM and the weekends in this case), there by avoiding the need of extra full-time servers for managing extra traffic. This way you will be able to save dollars on your hardware and infrastructure cost and keep your clients happy by giving them needed speed and better user experience.

Cloud computing offers great value in such situations.

Cloud at its best:

We are close to that virtual world where-in we will have very light-weight PCs and all the useful local machine data will be stored in some kind of a cloud, thereby giving access to the data 24×7, 365 days from any location. Web is going to be significantly different and more effective.

Cloud and SaaS:

If you are using a SaaS model application, you don’t need to buy that application. Instead, you only need to pay a subscription fee. You need not to worry about the maintenance of that application or server where it is hosted. All you need to do is to pay your subscription fee and start using that application. SaaS application providers host it on a set of servers and sell its subscriptions to the various customers. Tomorrow, if you come and ask the SaaS provider that you need to have an account for your additional few hundreds of employees for the same SaaS application you’re using, they will change it from SaaS model to the Cloud Computing. This is how Google works.

Cloud development tools:

Microsoft Visual Studio 2010 has cloud development tools which allows the developers to write their cloud centric web applications and services. Developing scalable web applications and services have become easier now and can be tested on Windows Azure simulation environment.

Microsoft SQL Azure is a cloud based relational database service built on SQL Server technology. It provides highly scalable database service.

Interesting thing is that, any existing ASP.Net application can be converted to cloud application in few steps, with the help of above tools. See here

Summary:

Cloud computing is a fantastic approach to manage your business applications. It’s really helpful to small, medium and big sized organizations to manage their data and infrastructure securely, easily and in cost effective fashion. HP, IBM, VMware, Amazon, Google and Microsoft are extensively using cloud computing. In fact they are cloud service providers as well.

Photo Credit: betsyweber’s Flickr photostream

15 – Document Management System Conceptions

Wednesday, May 26th, 2010

Document ManagementDocument management system is a method of organizing and storing documents electronically on one computer system or various computer systems. This system keeps track of the history of the document thereby enabling users to cognise the creation date, modification date, deletion date and other operations performed on document. Document management systems help users to easily find and share information. These systems are generally used by organizations to maintain their official records. Here are few points that impel us to believe that document management systems help us to organize information in a well defined and secured manner:

  1. Instant access: A very quick, 24×7 access to documents.
  2. Structured organization: Organized access to documents in the conversant form of folders and files.
  3. Secured accession: Secured and role based access to documents. Full control on document permissions ensures right document for right person.
  4. Grouped Approach: Define access for each level, and assign privileges accordingly.
  5. Howling work-flow: Work flow ensure proper review and approval policies.
  6. Centralized repository: Avoid having documents stored on several computers, minify the chances of destroying documents.
  7. Disaster recovery: Documents stored on server application has recovery backup ensures document copy should be maintained in case of server failure.
  8. Collaboration tool: Collaboration tool for your employees and colleagues for information sharing.
  9. Fast retrieval: Easy and Fast retrieval of documents by getting them indexed.
  10. Revision control: Version management and tracking ensures the protection of document. Any changes saved will create a new version of file, allows you to switch back to any version at any moment.
  11. Exclusive access for modification: Exclusive access can be granted for a document to ensure one person can change a document at a time.
  12. Content protection: Online viewing and no editing shall protect your document contents from being copied.
  13. Audit history: Audit trail can be maintained that define chronological sequence of audit records, each of which contains evidence directly pertaining to the actions made by users.
  14. Checklists: Checklists can be defined for folders which could be helpful in work-flow and defining the completion of certain actions on documents.
  15. Saves cost: Saves hardware cost, keep your document safe for years.

These factors can influence any organization to use document management system in their daily operations to keep their important documents safe ad secure. People started using document management systems for their personal use as well to ensure data and file safety.

If you have any query, please post it as comment. I would be happy to discuss that.

Unleash the Power of MVVM with Silverlight

Saturday, May 8th, 2010

Businesses always dream of data centric applications which are easier to maintain, robust and flexible enough to accept the future changes. Silverlight being a part of .Net framework has all of these ingredients well thought of. Apart from such basic features, it provides rich user interface with minimum efforts.  Though Silverlight is relatively new technology, it has a little learning curve for seasoned Microsoft developers. Silverlight also provides cross-browser and cross-platform support which is very important for targeting larger client base with diverse needs.

Three Important Benefits of MVVM

The goal of any system/application is to automate the business process and help people achieve utmost efficiency. Following are some key points which may compel us to use MVVM (Model-View-ViewModel) pattern:

  1. Eradicate tight coupling: Every system has N layer defined or undefined. When these layers are tightly coupled with one another i.e. every layer knows how the other layer is accomplishing its job, the system becomes unmanageable and least flexible. Change in any one layer requires changes in all the layers and thus creating chaos.  MVVM decouples all the layers and helps us achieve robustness and flexibility which in turn makes the system absolutely manageable.
  2. Separation of responsibility: MVVM helps in a great way to separate the responsibilities in the development process. Multiple Software Engineers work on a system/application at a time during its development process. To make this process easier, separation of responsibility is very important. This can be very well achieved using MVVM for example, a designer and developer can work simultaneously and with least dependency on Silverlight application if we implement MVVM design pattern. As View on which designer has to work and ViewModel and Model are totally separate contexts on which Engineers work.
  3. Testability: Unit testing is very important part of development process especially during initial development and maintenance. MVVM creates loosely coupled system components which can be unit tested separately without any hassle.

How Silverlight Married with MVVM can Produce Great Results?

To get the best result out of a technology and a design pattern, it is very important that both of them are compatible with each other. If not then it would be more of an overhead on the system. Following of Silverlight features make it a best mach for MVVM design pattern:

  • Databinding: Silverlight provides robust infrastructure for binding the data which helps in binding View with ViewModel in such a way that both of them are unaware of each other’s functioning.
  • Datatemplates: Datatemplate is the actual template where ViewModel gets bound and this data template also defines how data will be shown to user. This helps in separating responsibilities of designer and developer.
  • Commands: Commands are the actions that need to be performed. It is set of activity that gets performed.  As we know ViewModel also has the state and behavior of the Model.  When Command is bound to a ViewModel, it performs certain actions on user interaction. For example in a customer registration “Add customer” is an action for which we can create a command which executes on button click or context menu click.

Thus, Silverlight used with MVVM gives the business an edge over other technologies. Though Silverlight is still a young technology, Microsoft has been giving great support and has a very promising plan for its future versions. Considering these factors, it would be in the interest of any software solution provider who would like to cater its client base with Silverlight married with MVVM and we are not an exception :)

How a Dedicated Developer Hired in India Can Help You Grow Your Business

Wednesday, May 5th, 2010

As an IT Services Provider or a Software Product Development Company, when you consider outsourcing, Offshore-software-outsourcing is one of the most effective ways to grow your business.

It is at it best when done repeatedly and that’s where full time dedicated time and material engagement model works well. In this model, you hire a dedicated developer from an outsourcing service provider company and make the best use of his or her capabilities in your projects.

Here’s how such a dedicated developer can help you take your business to the next level.

  1. Saves dollars: You do not need to invest in hiring, training and maintaining talents at your end. You can obtain them for a reasonably low cost in the countries like India. This would allow you to invest your saved dollars from outsourcing in making your customer experience better.
  2. You get up-to-date skills: You can select right developer from the pool of available developers. Most offshore software provider companies invest good chunk of their earnings in training and retaining outstanding software engineering talents and that’s where an opportunity rests for you to use latest technologies and standards for your next software project.
  3. No hardware, software or office infrastructure cost: You just pay for the hours spent by the developer and that’s it. As a part of providing better services and taking their business to the next heights, outsourcing providers invests heavily in good hardware, software and infrastructures.
  4. Complete intellectual property protection: Key success factor of offshore service provider’s business is continuous engagement. Hence, they are interested in continuously serving you well. The most common provision in the Dedicated Developer Contracts is that you reserve intellectual property rights.
  5. Assures good quality work: The team of dedicated developers coupled with a Quality Assurance person works best for the business. QA professionals play the role of devil’s advocate and work directly with you and make sure that the project meets its quality expectations.

There are many other pros and cons when you outsource your next software project. However, most of the cons can be handled by good communication and continuous engagements and this is what you should look at while outsourcing your next project.