Outsourced Software Development

“Tired of Searching & sending paper documents…Get the Document Management System in place now…..”


The most tedious task today in any office is to search paper document especially if the document to be searched is somewhere in the piles of files in the file room/store room. It also happens generally, when you are searching something very urgent and it is never found…  (Murphy’s Law…J)
But gone are the days when such situation arrived as due to the development of what is called as Document Management System.

How it works…???

This is not a rocket science… but is a very simple & easy to use system which makes your tasks easy & fast like rocket.

The process starts with the scanning of document as soon at it is created on paper and indexing it by giving some name/keywords so that when you would like to search in future you can get that on 1 click.

The document is hence saved in the central repository which anyone in the organization can access. So, now if you want to search this document you can simply enter the keyword/meta name of the document to be searched and it gets display in a flash on your screen. Not only this, the document can be send to any one in the office from this software is just a click away.

So, all & all this system designed to file, route, track, and archive and manage an organization’s incoming and outgoing documents and the digital content.

Do I need to install the software on my system?????

Not at all! You do not need to load any software on local machine because everything is managed through today’s standard browser like IE, Mozilla & even Safari. So, this makes the software independent of the type of operating system getting used in the organization.

What if our offices are in multiple countries and people speak different languages???

No worries then..!! There are few API’s integrated with such systems which makes them supports multiple languages and you cans select the languages before the implementation as per the requirements.

Also, if you want to open multiple documents in single file you can avoid the same by opening the selected files in single documents.

Can I send these documents in the systems to my colleagues??

Of course yes!! We can do that as there are few features in the system which allows you to send single as well as multiple documents to the system user. Not only this, you can even include a message as well to notify the receiver and the receiver can send the same document adding his/her message and that too the user do not has to leave the system for sending these documents

This system certainly makes the life easy at the workplace due to the needless effort involved in the management of document. This certainly saves the time involved in day to day activities at work place.

There is another value add which comes with the system as this makes your data/documents secured at the server as here the documents cannot be misplaced as generally it happens with the physical ones.

About The Author
Sumit gandhi is part of sales and business development goup at OTS. OTS Solutions is a company focused in providing Outsourced Software Development and Product Development Services. Sumit is excellent in understanding and suggesting scalable and reliable IT solutions to complex business problems. You may reach him at sales@otssolutions.com

 

What is O/R Mapper?

O/R Mapper (Object-Relational Mappers) is a programming technique for converting data between incompatible type systems in databases and Object Oriented Programming languages.

It is the general term for the concept of creating mappings between tables / views and their fields, and OO classes and their fields to be able to represent a table or view row in an OO program via a class. O/R Mapping is done using entities and their attributes (which are physically available through table or view definitions) and by creating a class for each entity, mapping each field in that entity class onto a field in a table or view. The management logic necessary to read an entity’s data from the database into an instance of its entity class and back, together with the entity definitions, is called an O/R Mapper framework. Via this framework a developer can manipulate data in the database, using classes and their methods

What does it do?

The generated code from the O/R Mapper handles all of the steps that you would normally have to code yourself, saving you from having to:

  • Find the database server.
  • Log in and open a connection to the database server.
  • Select the particular database containing the information you want.
  • Find the correct table.
  • Find the correct row.
  • Read all the values for that row.
  • Convert every type of value from its SQL data type into the .NET data type while checking and handling the possibility of a null value.
  • Present those values in a strongly-typed format, so the consumer knows exactly what kind of object to expect (string, integer, array, etc.) and there are no surprises at run-time.
  • Create a container to temporarily hold the values while they are being modified.
  • Retrieve data from another row in a related table.
  • Manage which values have changed and make appropriate INSERT’s, Update’s, and DELETE’s in the appropriate tables in the database to reflect those changes.
  • Close the connection.
    • LLBLGen Pro will completely auto-generate the data access layer. You do not need to do any hand-coding in this layer
    •  LLBLGen Pro will optionally generate a business logic layer shell for you to get started with your business layer. You do not have to understand the intricacies of inheritance and making custom classes to take advantage of business logic classes; in LLBLGen Pro these classes are intuitively organized, powerful, and infinitely extendable.
    •  LLBLGen Pro collections and entity objects are bindable, making them extremely easy to add to .NET controls. This can reduce the size of your UI layer
    •  Changing the database application and the data access layer without affecting the business logic and UI layers is actually possible with LLBLGen Pro. If you migrate your database schema and stored procedures to a new database application, refrained from using any database-specific features and your schema matched exactly, you could actually re-generate your LLBLGen Pro data access layer and not make any other changes to your application.
    •  Entities: Every “Rowâ€? becomes an “Entityâ€?
    • Collections: Every “Tableâ€? becomes an “EntityCollectionâ€?. Collection classes eliminate the need for DataTable objects and are both strongly typed and bindable.
    • Entity relationships: Build into each entity is all relationships in the DB involving that table. You can either get a single entity or an entity collection depending on the type of relationship.
    • Typed views: Views in the DB can be wrapped as strongly-typed DataTable. Typed views are read-only; new LLBLGen Pro allows you to add a view from the database as an entity as well as a typed view.
    • Typed Lists: Typed lists are the only objects created by LLBLGen Pro that do not correspond one-to-one with DB objects. It’s handy when you need very specific information that does not necessarily correspond to a single table or entity or you only want to grab a subset of information for a given set of table.
    • Stored procedures caller classes: Stored procedures that you select will be wrapped in a layer of code. While the parameters of the stored procedures are strongly-typed, the result set is still an untyped-DataSet.
  • Now what is LLBLGen Pro?

    LLBLGen Pro is a complete O/R mapper and data-access tier generator for .NET. It generates a data-access tier and business façade/support tier (in C# or VB.NET), using an existing database schema set.

    The generated .NET code is provided as a Visual Studio.NET project that can be added to a solution or compiled separately.

    Currently it supports almost every database including Sql Server , Oracle, Firebird/Interbase, PostgreSql, Microsoft Access, IBM DB2 UDB, MySql, Sybase Adaptive Server Enterprise (ASE) and more. 

    LLBLGen Pro Features

    A key feature in LLBLGen Pro is dynamically-generated SQL. When retrieving or manipulating data in a database, the SQL script â€

It has been more than a decade when software companies started off-shoring their product development work in order to cut their costs largely. This trend is being followed by the companies around the globe to make things easier and cost effective.
Today more than 500 product companies have jumped from offshore bandwagon and established captive centers in India, China etc. The expectation of the company’s that have established captives is to have close control over the offshore R&D operations and thought they could make things easy and happening.

A study showed that the interest of establishing captive centers is being reduced day by day. The challenges that captives are facing is resulting in a significant decrease in the number of new captives that are being introduced. Some of the key challenges that result in decreasing interests towards captives are –

  1. Lack of Scale – Scale plays a major factor for operations as it impacts every element of a captive’s performance: cost, attrition, productivity, recruitment etc. The factor that plays a major impact is in-country branding. In places like India and China people always have a preference to be associated with big names/mnc’s to grow faster. So potential employees always have a preference for companies like Google, Accenture, Infosys etc, who have named themselves as local leaders rather than companies that are never heard before.
  2. Higher than anticipated Costs – Many companies are not willing to pay good salaries to attract top talent and underestimate high G&A costs which can crush a small organization. In order to scale up, captives often pay high above the market rates throwing the entire cost model out of whack. Hence the average cost of captive’s are loaded almost 20% higher than working with a provider.
  3. High Attrition – High attrition rate effects productivity and destroys the morale. Industry statistics show attrition at captive centers is almost twice as high as the average provider rate. The factors that are responsible for captive’s attrition are –
  • Lack of career path opportunity, especially at smaller captives.
  • Second-class-citizen status: Many companies treat their captives as their low cost offshore teams. This causes low morale and breaks the loyalty bond towards the organization.

Poor Development Process and Coordination with the Onsite team – Many organizations face difficulty in establishing strong development process and implementing productivity measures. But very few of captives are able to implement productivity measures like CMMi, Six Sigma etc to improve the processes for knowledge transfer and other collaborations. These measures taken have a direct impact on productivity as a whole.

Management Attention Wanes – The major factor that harms the cooperation with the onsite team and captive centers are the difference in time zones, which takes away the attention in focusing towards the core focus of the company. At the very beginning everybody are excited but afterwards the management attention moves to the rest thing. Further, in order to contribute to the next product release, the management is trying to ensure and focus in proper functioning of the captives.

The above limitations do not play any role in Off shoring. As Off shoring is just contracting with another company or person to do a particular job/function, and now every organization outsources in some way or other. Typically, the function being outsourced is considered non-core to the business. The firms that are providing the outsourcing services are third-party providers, or as they are more commonly called, Service Providers. These services providers are already well established with facilitating all resources and infrastructure that is required to carry out the development process.

Every company evaluates a service provider before outsourcing the work, based on –

  1. Strategic Thinking – In order to develop the organizations philosophy about the role of outsourcing in its activities.
  2. Evaluation and Selection – It is done in order to decide on the appropriate outsourcing projects and potential locations for the work to be done and service providers to do it.
  3. Contract and Development – It is done to work out the legal, pricing and service level agreement (SLA) terms.
  4. Outsourcing management or governance – To ensure, refining the ongoing working relationship between the client and outsourcing service providers.

The major advantages that drives offshoring than having a Captive Center is –

  1. Cost Savings – By outsourcing the work that were done in house will often reduce the employee levels and related costs, such as recruitment, supervision, salary and other benefits. This also reduces the cost of equipment obsolescence and depreciation. A portion of the cost savings will go to the outsourcer, but in return the company doesn’t need to invest a lot in setting up infrastructure and hiring people etc, thus making a huge cost savings and reduce the work load.
  2. Quality of Service – As your company will be the outsourcer’s customer; you will likely experience a “can-do attitude�, which may not be exhibited by an in-house employee.
  3. More Capital Funds – Off-shoring reduces the need to invest in non-core business functions, thereby making your capital investment free to make profits in the business.
  4. State-of-the-art-Technology – Due to the huge scope in this field, outsources have to spend time and money on the latest equipment and on employee training to get competitive edge on others. By outsourcing in certain areas, you are assured of receiving the most efficient services and latest technological expertise within that particular function.
  5. Price Stability – By IT outsourcing, you will likely be able to obtain stable pricing, eliminating the future need to shop around. It will also help to budget operating expenses and capital purchases more accurately, while potentially preventing the likelihood of surprise expenses.
  6. New Business Partners – Outsourcers are always to be viewed as your business partner. And as a business partner, they share in the desire to keep your company operating at its maximum potential.
  7. More time to focus on Core Business Activities – Outsourcing helps to focus more on your core business activities. As Management spends time in planning and directing the company’s business strategies and not wasting time in managing time in certain ancillary functions. This will help in improvising things in both the ways.

.

IT outsourcing has been a dominant practice that companies are going ahead with from more than a decade now. The basic reason being to reduce the cost of producing the software. Over the years India has become the outsourcing hub since the companies provide high quality work at lower costs.

When we analyze the basic criteria’s of outsourcing-:

1)      Making better use of the time and energy

2)      Concentrating on core business

3)      Efficient use of resources.

4)      Reduced internal costs

Recession and IT outsourcing connections to each other.

The recession can be declared if there is a negative growth in the gdp for more than two quarters because of which companies take defencive actions to protect outflow of money. So to counter recession the best way would be to create opportunities for having higher margins at lower costs. A recent survey made by pricewatehousecoopers and the alliance states that “Enhancing efficiencies has become more urgent in recent months as pressure on margins forces companies to increase productivity while spending less.”

At the recession time it is more helpful for the companies to opt for outsourcing so that there margins are higher to pump the equity in the company.

Why choose India

India has been a one stop shop in providing the information technology outsourcing services all thought the globe. In today’s time India is called the outsourcing hub just for the fact that it can give best quality at lower price and hence reducing the operational costs.

Outsourcing to India gives companies a competitive edge to fight recession. The list of reasons being

Time zone advantage

There is a time zone advantage between India and the countries in us and Europe is a major factor why companies are outsourcing to India. The 24*7*365 days customer support is provided

Stable government

With the release of bill termed “IT acts 2000� India has been rated as the most excellent investment potential destinations in the world. With government support it has been able to build many IT parks all thought the country providing better infrastructure and the government has even permitted 100% foreign equity. Growing economy also has played a vital role in it

Indian Advantage

Cost effective services are the prime advantages that India offers a part from that India is also having skilled and talented pool of people. More than 20 Indian companies have achieved the cmm level and 65% of the CMM Level 5 companies in the world are located in India. It also has the highest level of ISO-9000 software organizations.

Most preferred choice for global organizations

In us alone 80% have ranked India as there first choice for off shoring IT SERVICES.

The no of organizations outsourcing to India has increased considerably over the years.

Why OTS

In today’s tough times companies are looking it reduce there IT development costs and we at OTS have the infrastructure the skilled worker backed by the low price high quality strategy. In past we have helped companies of almost all sizes all thought the globe to make applications which are robust and competitive. We also have helped companies in the past to make offshore centers in India helping them to reduce there IT expenditure considerably.

About the Author

Mayur Wali is part of sales and business development group at OTS. OTS Solutions is a company focused in providing Outsourced Software Development and Product Development Services. Mayur is excellent in understanding and suggesting scalable and reliable IT solutions to complex business problems. You may reach him at sales@otssolutions.com .

Words Color Trick Game - Do not read the Color Text read their colors

Words Color Trick Game - Do not read the Color Text read their colors

In its endeavor to make OTS a fun workplace, yet another event named Color Trick Game was organized on 19th Feb, The event received an enthusiastic response from all employees and was won by Rajesh Chaudhary. OTS regularly organizes multiple events every few weeks in order to ensure work – life balance of its employees.

We have seen some great gadgets in the last decade. All leading gadget manufacturers have shown their best in the form of their products and all have been highly appreciated. Apple launched iPhone mobile in 2007 and made a big wave across the world.

We all know about the “touch technologyâ€? of the device, especially the multi-touch which takes care of two fingers touching the screen at the same time at different places. Here are some other features that make iPhone more than just a phone:

  • Location services by using service provider to get the current location of device.
  • Accelerometer and Orientation: which give it the ability to detect motion in three dimensions
  • Programmable Vibrator, Wi-Fi, wide screen for better viewing of data and applications, Camera, address book.

Apple has the iPhone SDK, a developer toolkit that allows programmers to develop iPhone application. Using this SDK we have been developing the two types of applicationsâ€

Glendale, US. – October 29, 2009 – OTS Solutions LLC, a leading provider of outsourced software development services, today announced that it has shifted its regional Sales office from Burbank to Glendale in US, while the company continues to enhance its focus on outsourced product development; custom development and IT outsourcing services.

“OTS Solutions found its existence more than seven years ago and we have witnessed quality growth year on year in India and US. The shifting of our office from Burbank to Glendale is aimed to enhance not only the reach to potential clients but also to serve our existing clients better,� stated Hemant Madaan, Director & CEO of OTS Solutions. “Nowadays, companies want to build high-end products and services which involve complexities and OTS Solutions ramps up to enhance its global presence in order to address its clients’ need better.�

About OTS Solutions LLC
OTS Solutions is one of the leading offshore software development service providers, offering an array of IT related services to its clients across the globe. With sound domain knowledge we aim to deliver value to our customers through our innovative software solutions and services. Founded in 2002, OTS Solutions has offices in the US, UK and India. For more information, please visit www.otssolutions.com.

We are excited to announce that our website http://www.otssolutions.com got listed in Dmoz. The website is listed under Burbank | Business and Economy | Computers and Internet

We consider it as an achievement since Dmoz is one of the best human edited directory on web.

SOAP:

With SOAP implementations, client requests and web service responses are most often transmitted as Simple Object Access Protocol (SOAP) messages over HTTP to enable a completely interoperable exchange between clients and web services, all running on different platforms and at various locations on the Internet. HTTP is a familiar request-and response standard for sending messages over the Internet and SOAP is an XML-based protocol that follows the HTTP request-and-response model.

In SOAP 1.1, the SOAP portion of a transported message handles the following:

  • Defines an XML-based envelope to describe what is in the message and how to process the message.
  • Includes XML-based encoding rules to express instances of application-defined data types within the message.
  • Defines an XML-based convention for representing the request to the remote service and the resulting response.

Role of XML as SOAP:

  • XML doc is wrapped inside the SOAP body.
  • SOAP body is wrapped inside SOAP envelope.
  • Optional inclusion of SOAP header.
  • Namespace declaration.
  • Encoding style for serialization of data.
  • Binding of whole thing to a protocol.

SOAP & Web Service

SOAP is normally used for web services and the web services can be developed on any platform but the communication is normally SOAP based.

Web service is nothing but a normal web application without presentation layer based on formal http request/response paradigm.

So we will concentrate on the Web Services which are widely used in every field of the web-based environments to make things more interoperable.

In short web service is XML based message binding mechanism via HTTP at TCP/IP level with some additional implementation to make data/message interoperable.

We need to understand two more terms ‘WSDL’, ‘UDDI’ along with ‘SOAP’ before going deeply in web services implementations.

WSDL (Web Services Definition Language):

WSDL is a standardized XML format for describing network services. The description includes the name of the service, the location of the service, and ways to communicate with the service, that is, what transport to use. WSDL descriptions can be stored in service registries (UDDI discussed below), published on the Internet, or both.

UDDI (Universal Description, Discovery & Integration):

UDDI provides a worldwide registry of web services or advertisement, discovery and integration purposes. Business analyst and technologists use UDDI to discover available web service by searching for names, identifiers, categories or specific types.

Relation between SOAP, WSDL and UDDI:

SOAP enabled client queries UDDI registry for service by name after locating.  Client obtains information about location of WSDL doc from UDDI registry.  WSDL contains information about how to contact web service and format of request messages in XML schema.  Then client creates a SOAP message according to XML schema found in WSDL & send a request to host.

SOAP Implementation in JAVA

Ok…  :) we had spent enough time on general conceptual aspects of SOAP, Web Service and related terminologies, now we will see how these are implemented in JAVA.

Web Service Implementation in Java:

First there was SOAP. But SOAP only described what the messages looked like. Then there was WSDL. But WSDL didn’t tell you how to write Web services in Java. Then along came JAX-RPC 1.0. After a few months of use, the Java Community Process (JCP) folks who wrote that specification realized that it needed a few tweaks, so out came JAX-RPC 1.1. After a year or so of using that specification, the JCP folks wanted to build a better version: JAX-RPC 2.0. A primary goal was to align with industry direction, but the industry was not merely doing RPC Web services, they were also doing message-oriented Web services. So "RPC" was removed from the name and replaced with "WS" (which stands for Web Services, of course). Thus the successor to JAX-RPC 1.1 is JAX-WS 2.0 – the Java API for XML-based Web services. So Currently JAX-WS is base of all java based web service implementations.

Reasons you may want to stay with JAX-RPC 1.1:

  • If you want to stay with something that’s been around a while, JAX-RPC will continue to be supported for some time to come.
  • If you don’t want to step up to Java 5.
  • If you want to send SOAP encoded messages or create RPC/encoded style WSDL.

Reasons to step up to JAX-WS 2.0:

  • If you want to use the new message-oriented APIs.
  • If you want to use MTOM to send attachment data.
  • If you want better support for XML schema through JAXB.
  • If you want to use an asynchronous programming model in your Web service clients.
  • If you need to have clients or services that can handle SOAP 1.2 messages.
  • If you want to eliminate the need for SOAP in your Web services and just use the XML/HTTP binding.
  • If you like playing with leading edge technology.

There are various web service engines overlaying on these specs or you can implement them directly to develop web services. But in my opinion web service engines help you out from all the complex implementations of web service request response mechanism and free you to focus on your business logic.

Currently Apache Axis2 web service engine is good and broadly used. It is based on JAX-WS spec.  Prior to this there was Apache Axis which was based on JAX-RPC.

I am using Apache Axis2 for my ongoing project to full feel all web service needs.

In this article I will demonstrate web service design/development/deployment using Apache axis2/JAVA.

Prerequisites:

JAVA 5.0

Apache Ant

Tomcat (we will use tomcat for our web service deployment)

Apache Axis2 ver.1.5 or later version (http://ws.apache.org/axis2/download.cgi)

Axis2 Setup & Configuration:

Download the current Apache axis2 version. Extract it and proceed to the webapp directory inside extracted directory. Run apache ant on the build.xml file inside the webapp.  You will see that there is a directory ‘dist’ inside axis2 home directory along with axis2.war inside it. Now deploy this axis2.war inside your tomcat webapps directory.

Actually this axis2.war file is containing all the configuration and environment for any web-based application.

After deploying the axis2.war in tomcat server and restarting the server, go inside the axis2 directory which is created by Tomcat after deployment. Go inside the WEB-INF, you will see six items there. Copy ‘conf’, ‘services’, ‘lib’ and ‘modules’ from there and copy them inside the WEB-INF of your web application.

Edit the web.xml of your web application and write following entries:

<servlet>

    <servlet-name>AxisServlet</servlet-name>

    <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>

    <load-on-startup>1</load-on-startup>

  </servlet>

  <servlet-mapping>

    <servlet-name>AxisServlet</servlet-name>

    <url-pattern>/services/*</url-pattern>

  </servlet-mapping>

</servlet>

Save the web.xml and restart tomcat

Now your application is configured to handle axis2 enabled web-service.

WSDL URL (we will see the service example later) will look like this,

http://localhost:8080/yourmodule/services/servicename?wsdl

If you want to change the ‘services’ to any other term, then you will have to change it inside the web.xml and also axis2.xml file inside the WEB-INF/conf.

There is a config file axis2.xml inside conf folder of axis2 engine using which you can enable/disable/customize various activities of axis2 engine like enable/disable MTOM support/ enable/disable SWA (SOAP with Attachment), minimum time interval for timeout, and other things.

Now our web application is fully loaded with all settings to support axis2 enabled services so we will design a small web service for example.

Steps:

  • Write a web-service which is having the business logic of your application.
  • Compile it to generate class.
  • Create an XML file (services.xml) mentioning the path of the web-service class, name of the web-service and other details about web-service.
  • Put that xml file inside the directory META-INF and bundle up this directory and compile web-service into an .aar extension file.
  • Put this .aar extension file inside the services directory of axis2-enabled web server

Restart the tomcat. Now our web-service is up, and ready to serve. For this to check, you can check the working web service after entering the WSDL URL in browser.

Code of the web service example:

Here we will develop a small class which will have only one public method (exposed through WSDL).This service simply except a string called name and response back a welcome message along with the name.

Code of the web service example

Compilation of this class will require you to set the class-path of the entire jar file available in the lib directory provided inside the axis2.war. So all these jar files must be in class path. However, we will recommend you to compile this class file through Apache Ant build Tool version 1.7. Because there is limitation with environment variable, that is you can put only certain numbers of jar file. So putting 56 or more jars in class path, you need some build tool like apache Ant.

After compilation, create an xml file naming ‘services.xml’ and put this xml file inside META-INF directory. On the same level as META-INF, put your compile class with entire path here.

For example,

Suppose E:\demo axis2 is the home directory.

Then, inside it two directories,

  1. META-INF\services.xml
  2. ws\ DemoWS.class

Now, run command prompt, and follow path ‘E:\demo axis2’

Here, we have to create .aar extension file.

.aar extension file

So, our axis2demo.aar is complete to upload. Copy this .aar file in the tomcat server, in webapps/yourmodule/WEB-INF/services/ folder.

Restart tomcat, to test whether service is deployed successfully or not, just put the WSDL URL in the address bar of browser as follows.

http://localhost:8080/yourmodule/services/Axis2ServiceDemo?wsdl

You will see a following scene on the successful deployment

Deployment Code

Additional

services.xml:

services.xml is nothing but a deployment descriptor for the web service. For example, the name of web-service through which it will be exposed to the client, method or operation’s name, path of the service class etc.

Following are the contents of the example of services.xml.

contents of the example of services

Running the Client:

Below is code for client application to access this web service. To compile this client, you must have all jar files (as they were needed for service) in your class-path. For this, you can also use apache ant utility.

Code for client application

You will see the following output as a result…

Result

In this article we have tried to focus on basic understanding of SOAP and its implementations in web service using axis2. In next I will focus on file attachment feature using MTOM support via axis-2.Happy coding :) …

Evolution of SaaS model

Early days of Internet (Early 1990s) – ISPs played an important role in bringing the Internet experience to end users.

ASPs (Late 1990s) – Many ISPs morphed into ASPs as well as many ASPs launched afresh. These ASPs provided the end users what they now wanted – Dynamic, customized content & more flexibility. Amazon, Yahoo, Monster, Goggle, ebay are some of the most popular names whose services we use almost everyday and thousands of others built websites where user’s got interactive experience customized to their needs.

SaaS (21st Century) – As this field matured the ASP business model started to stretch into something called as Software as a Service.

SaaS – Definition – A revolution, horizon …… and the list will go on. Ask 10 people and you will probably get 10 different definitions. Here, are some more!!!

The software as a service model (SaaS) – widely understood as the provision of application services delivered over the Internet. In conventional SaaS models the vendor provides application capabilities using Browser or Web Service interfaces, and the user pays for the service on some form of rental agreement.

The SaaS model connotes or is based upon a “one-to-many� or multi-client delivery model. Here the application is shared across clients thereby providing a minimal level of application customization in order to avoid major implementation and integration costs.

A key postulation of this model is that the ‘SaaS provider’ invests in the technology, hardware and ongoing support services instead of the client. And the client “pays-as-they-go� according to a subscription and Service Level Agreement (SLA) that ensures the customer a specified level of performance and availability. This approach shares risk between the SaaS provider and client and offers single–source accountability.

SaaS, A subscription-based model – the customer need not invest for all the hardware, operating systems, databases, licenses, IT staff, and ongoing overhead. Since, SMBs typically do not have the luxury of IT support, by outsourcing a much-needed application to a SaaS Provider, they can focus on their core business rather than divert funds and other resources to support advanced applications.

As with many new technologies, however, demand for SaaS is being driven by real business needs. The market is still nascent and there is a fundamental need for a change in the software industry and here SaaS model seems to be playing a major role in taking an initiative that might let the software industry get growing again.

Why SMBs are jumping onto the SaaS bandwagon!

Small to medium-sized business (SMB) – The ones to whom SaaS ultimately makes the most sense. By adopting SaaS-based applications for certain business processes, Small and medium businesses can reduce capital investment (which they might incur in terms of setting up huge infrastructure, resources, software licenses, maintenance/up gradation costs and skilled IT manpower) if they buy and run similar applications within their premises. Since these enterprises (SMB) are faced with many business challenges that make them ideal candidates to capitalize on this business model.

Low switching costs – Initial investment required for the client is minimal and the time to bring an application live is extremely rapid, the potential of the SMB market for SaaS is vast.

Vendor is responsible – If there is any problem in the vendor’s software, no customer would be giving money for long. The company is motivated to fix the problem.

Vendors purposely provide a secure data environment – Most vendors understand that criticality of backing up the data religiously, and security needs to be given the top priority. The Client can rest assured that their data security is probably better with a hosted solution, not worse.

High-level business process automation – SaaS provides such automation and that too at a lower upfront cost, with the value-added service component added to it that a department might not get from the corporate IT organization.

Imagine this – Since being founded in 1999, salesforce.com has released 20 iterations of its CRM software â€