Frameworks to promote reuse A framework is intrinsically incomplete Certain classes or methods are used by the framework but are missing(slots) Some functionality is optional Allowance is made for developer to provide it (hooks) Developers use the services that the framework provides Taken together the services are called the Application Program Interface(APD) www.oseng.com O Lethbridge/Laganiere 2001 Chap 3: Basing Development on Reusable 6
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 6 Frameworks to promote reuse A framework is intrinsically incomplete • Certain classes or methods are used by the framework, but are missing (slots) • Some functionality is optional — Allowance is made for developer to provide it (hooks) • Developers use the services that the framework provides —Taken together the services are called the Application Program Interface (API)
Object-oriented frameworks In the object oriented paradigm, a framework is composed of a library of classes The API is defined by the set of all public methods of these classes Some of the classes will normally be abstract www.oseng.com O Lethbridge/Laganiere 2001 Chap 3: Basing Development on Reusable
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 7 Object-oriented frameworks In the object oriented paradigm, a framework is composed of a library of classes. • The API is defined by the set of all public methods of these classes. • Some of the classes will normally be abstract
Examples of frameworks a framework for payroll management a framework for frequent buyer clubs a framework for university registration a framework for e-commerce web sites A framework for controlling microwave ovens www.oseng.com O Lethbridge/Laganiere 2001 Chap 3: Basing Development on Reusable 8
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 8 Examples of frameworks • A framework for payroll management • A framework for frequent buyer clubs • A framework for university registration • A framework for e-commerce web sites • A framework for controlling microwave ovens
Types of frameworks a horizontal framework provides general application facilities that a large number of applications can use .A vertical framework(application framework is more complete but still needs some slots to be filled to adapt it to specifIc application needs Application Services offere Application by the framework Horizontal framew ork Vertical framew ork Code to be provided to adapt the framew ork to the needs of the application www.oseng.com O Lethbridge/Laganiere 2001 Chap 3: Basing Development on Reusable
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 9 Types of frameworks •A horizontal framework provides general application facilities that a large number of applications can use •A vertical framework (application framework) is more ‘complete’ but still needs some slots to be filled to adapt it to specific application needs Application Application Horizontal framew ork Vertical framew ork Code to be provided to adapt the framew ork to the needs of the application Services offered by the framew ork
3.4 The client-Server Architecture a distributed system is a system in which: computations are performed by separate programs normally running on separate pieces of hardware that co-operate to perform the task of the system server a program that provides a service for other programs that connect to it using a communication channe Client a program that accesses a server (or several servers )to obtain services a server may be accessed by many clients simultaneously www.oseng.com O Lethbridge/Laganiere 2001 Chap 3: Basing Development on Reusable
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 10 3.4 The Client-Server Architecture A distributed system is a system in which: • computations are performed by separate programs • … normally running on separate pieces of hardware • … that co-operate to perform the task of the system. Server: • A program that provides a service for other programs that connect to it using a communication channel Client • A program that accesses a server (or several servers) to obtain services • A server may be accessed by many clients simultaneously