Once you get beyond those fundamentals, however, every business has something unique to address in terms of how they actually operate. Supporting the operational aspects of the business - managing people, resources, information, processes, etc. - is the next step in enabling the business.
Within each business there are different kinds of processes to facilitate, creating the demand for software developers to build systems to address specific processes or to deliver specific functionality to the many and varied businesses in the world. Even within an industry domain or realm, there are likely numerous solutions available for any given business problem. For most organizations, selecting the right applications for the business often requires that those applications integrate, or work together in some manner.
But here's the issue: not everyone programmer develops software the same way or using the same tools. What ends up happening is that each software product has its own "footprint", and behaves differently. Some packages are written well and offer flexibility in how they are implemented; and some not. Disparity in application design and operating platform requirements can significantly increase the complexity of not only integrating the solutions, but managing the software and platforms to keep those integrations running. For these (and other) reasons, application integration (or data integration) is not always easily accomplished in a small business.
At an ever-increasing level, users are also now demanding remote and mobile capability from their software. The market has generally accepted the value of remote/mobile access, and businesses need to offer their workers the flexibility to work from a variety of locations (at the office, from a remote office, from home). Now the enterprise has to figure out a way to fit that square peg (the software they currently use) into a round hole (mobility!) It really starts to matter if the software products in use are all designed to run differently. Can the organization's selected applications be oriented towards remote or mobile access? Generally, the answer is "YES" (but with caveats).
The Application Service Provider model, or hosted application model, was developed to provide remote access capability to applications that traditionally don't work in that capacity. Additionally, the ASP model was designed to improve application management and administration for the subscriber, reducing or eliminating the complexities of handling multiple integrated solutions. Allowing a business to "migrate" to the web gives that business new capability and, potentially, a new working model that could easily include remote offices and mobile users. Migrating with the existing in-use applications allows the business to benefit from the new working model, but avoids the difficulties of transitioning to and learning new software.
Application hosting isn't a new concept at all, it's just gaining in popularity for several key reasons:
- Broadband is plentiful. You can get high-speed internet service now just about anywhere. That wasn't the case just a few short years ago.
- Localized IT solutions are getting more complex. Bundled solutions (like a Microsoft Small Business Server) make it easier to purchase an array of technology solutions for your business, but there's nothing in the package that makes it easier to set up and manage over time.
- Remote and mobile access is critical. More businesses operate with a home-based workforce ("home sourcing"), or with multiple business locations. The Internet has made it a global economy, and remote and mobile access is what helps a distributed enterprise work as a collective or unit.
- SaaS solutions, such as online banking, have raised awareness of the possibility of secure Internet-based computing. So, as new SaaS solutions emerge, the market is beginning to recognize the value of hosting and is building trust in the model.