Introduction
The San Francisco project was started when several software developers asked IBM for help in modernizing their application products. These partners realized that their current applications needed to be updated if they were to continue to be viable products in the emerging object oriented, network based, market. However, there were several barriers preventing them from being able to update their applications. One barrier was the problem of how to retrain their development staffs to be able to effectively use object oriented technology. The task is greater than just learning another programming language. This is required, but it is also necessary to learn how to analyze a problem in terms of objects, and how to use that analysis to design an object oriented solution. In effect, a whole new approach to building systems must be learned, and a whole new set of skills and tools must used.
A second barrier was the risk involved in moving to a new technology. Often the first solution that is built with a new set of skills, and a new technology is less than perfect. A poor design will manifest itself in problems such as code that won't function properly, poor performance, or a solution that is hard to use. This type of result is a necessary step to learning how to apply a new technology, but the number and magnitude of the problems must be kept at a level that will allow a business to keep operating while the change to the new approach is learned.
A third barrier associated with moving to object oriented technology was the cost of making the change. The software developers realized they needed some basic infrastructure upon which to base their applications. Many of the companies could not afford to develop this infrastructure themselves. They also could not afford to rewrite their entire product line at one time. They needed to be able to spread the cost of upgrading their applications over time by having the object based portions of the application interoperate with portions that had not yet been updated.
The San Francisco project helps to solve these problems by offering solution developers Business Process Components, designed as frameworks that provide an object oriented infrastructure, a consistent application programming model, and some default business logic that can be used to start building applications. The frameworks make it easier to move to object oriented technology because developers use well tested services instead of building their own. They can design their solutions using a proven programming model instead of developing their unique approach. Finally, the use of a shared architecture will make it easier to integrate solutions from different software vendors.
The frameworks provide some basic business logic that can be enhanced and extended instead of having to build the entire application from scratch. Developers can build their applications by modifying and extending the default business objects and logic instead of having to start their applications from raw requirements statements. This allows developers to apply more development resources on the functions that will give them a competitive advantage since much of the basic application function is supplied by the framework. The frameworks are designed so that it is easy to extend them in areas where our partners have told us they differentiate themselves from their competitors.
San Francisco is being developed in collaboration with several hundred international ISVs to insure applicability across a broad range of Small to Medium Enterprise (SME) business solutions. These international ISVs are working with IBM to design, develop, and validate frameworks, create development tools, and develop integrated applications using the San Francisco frameworks.
Feedback from companies that tested early versions of the code are that the frameworks
provide about 40% of a typical working application within the supported domains. ISVs would develop the remaining 60% of the application business processes, user interfaces, and services on top of San Francisco and bundle both the IBM and ISV code into a single solution which the ISV will then license to customers. The customers will realize significant value using applications built on San Francisco frameworks, because of improved application flexibility to meet changing business needs, improved availability and affordability of customized multi-platform business solutions, and improved application inter-operability.