The San Francisco Framework How useful is an OO framework? Postacademische Cursus Informatie Technologie vrije Universiteit amsterdam •Example - San Francisco Framework Postacademische Cursus Informatie Technologie vrije Universiteit amsterdam A framework is ... • • • • a collection of components a generic solution for a class of problems a frame of mind for solving problems a set of architectural constraints Postacademische Cursus Informatie Technologie vrije Universiteit amsterdam The San Francisco Framework • • • • • • is meant to develop business applications is based on Java technology may solve 70% of your problem leaves 30% (minimum) to solve for you may set a standard or may fail to do so ... Postacademische Cursus Informatie Technologie vrije Universiteit amsterdam San Francisco - motivation • The project was started when several software vendors asked IBM to help modernizing their application products • However, there were several barriers preventing them from being able to update their applications Postacademische Cursus Informatie Technologie vrije Universiteit amsterdam Barriers to modernizing • (1) The problem of how to retrain their development staff to effectively use OO technology. • (2) The risk involved in moving to a new technology. • (3) moving -> the cost of the change • The software developers realized they needed some basic infrastructure. • Many companies could not develop this infrastructure themselves. Postacademische Cursus Informatie Technologie vrije Universiteit amsterdam San Francisco - the press • The San Francisco project helps to solve these problems by offering developers Business Process Components, • designed as frameworks that provides an object oriented infrastructure, • a consistent application programming model, and • some default business logic • The frameworks make it easier to move to OO technology because developers use well-tested services instead of building their own. Postacademische Cursus Informatie Technologie vrije Universiteit amsterdam Postacademische Cursus Informatie Technologie vrije Universiteit amsterdam San Francisco Framework - layers • Core Business Process Layer - the highest • Common Business Objects Layer - middle • Foundation Layer - lowest Postacademische Cursus Informatie Technologie vrije Universiteit amsterdam Core Business Processes • The objective for this layer is to create a sound architecture and highly extensible OO implementation for the basic structure and behavior which any application provider delivering a solution in the application doamin would require: • Accounts Receivable/Payable Ledger • General Ledger Framework • Sales Order Management Framework • Purchase Order Management Postacademische Cursus Informatie Technologie vrije Universiteit amsterdam Postacademische Cursus Informatie Technologie vrije Universiteit amsterdam Common Business Objects • • • • • • • Business Objects common to multiple domains Common Application level Services CBO: Business Partner Address Number - decimal structure Currency - how many euros in a dollar? Postacademische Cursus Informatie Technologie vrije Universiteit amsterdam Foundation Layer • Foundation Object Model Classes • Utilities • in other words: it provides the infrastructure • comment: reinventing the wheel is not a big problem, because the wheel is a terrific invention Postacademische Cursus Informatie Technologie vrije Universiteit amsterdam Foundation Object Model Classes • • • • • Command Entity Dependent Collection/Iterator Factory • you need to study Design Patterns to appreciate these ... Postacademische Cursus Informatie Technologie vrije Universiteit amsterdam Using the San Francisco Framework • … The San Francisco Frameworks are designed to make many types of extensions easy for application developers: • overriding the default business logic in supplied methods • adding additional attributes to existing classes • adding additional methods to existing classes • from the report: Complete documentation will be provided … Postacademische Cursus Informatie Technologie vrije Universiteit amsterdam Example • • • • • • • Two classes: Receipt and Purchase order Line default attributes, methods default business logic: inspect Quality on receipt Extension: enhance this logic subclass Receipt override inspection method change logic to include checks against supplier tables, and hazardous or high value products Postacademische Cursus Informatie Technologie vrije Universiteit amsterdam Postacademische Cursus Informatie Technologie vrije Universiteit amsterdam San Francisco - issues • • • • Standards: OMG/CORBA Business Issues Technology Integration: Compound Documents: Lotus Notes, JavaBeans, Active X Business process Modeling and Control: workflow engines may be used as glue … • Internet/Intranet and Java: applications may be designed …. • Conclusions: … a bit premature ... Postacademische Cursus Informatie Technologie vrije Universiteit amsterdam