DOC PREVIEW
CORNELL CS 501 - Distributed Objects

This preview shows page 1-2-22-23 out of 23 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CS 501: Software Engineering Fall 2000AdministrationReal-Time: Software ConsiderationsBuffering Example: CD ControllerContinuous OperationExample: Routers and Other Network ComputingExample: Transaction MonitorSoftware Reuse: Application PackagesReuse: Object Object Oriented LanguagesReuse: Objects - Basic DefinitionsReuse: Objects - CharacteristicsReuse: Objects - Object BindingReuse: Objects - Distributed ObjectsDesirable Properties of Distributed ObjectsExample: Fedora IDLObject Request Broker (ORB)Interface Definition LanguageInterface Definition Language (continued)ORB: Programmer's ViewSlide 20ORB: System ViewCORBA ServicesDistributed Objects and the System Life-CycleCS 501: Software EngineeringFall 2000Lecture 16System Architecture IIIDistributed Objects2Administration•3Real-Time: Software ConsiderationsResource considerations may dictate software design and implementation:• Low level language (e.g., C) where programmer has close link to machine • Inter-process communication may be too slow (e.g., C fork).• May implement special buffering, etc., to control timings4Buffering Example: CD ControllerInput blockOutput block1234567Circular buffer5Continuous OperationMany systems must operate continuously• Software update while operating• Hardware monitoring and repair• Alternative power supplies, networks, etc.• Remote operationThese functions must be designed into the fundamental architecture.6Example: Routers and Other Network Computing• Interoperation with third party devices• Support for several versions of protocols• Restart after total failure• Defensive programming -- must survive=> erroneous or malicious messages=> extreme loads• Time outs, dropped packets, etc.• Evolution of network systems7Example: Transaction MonitormessagesA transaction monitor: monitors transactions, routes them across services, balances the load, restarts transactions after failure.Transaction monitorprocesses8Software Reuse: Application Packages• Package supports a standard application (e.g., payroll, user interface to Internet information, mathematical algorithms)• Functionality can be enhanced by:=> configuration parameters (e.g., table driven)=> extensibility at defined interfaces=> custom written source code extensions9Reuse: Object Object Oriented LanguagesExample:Java is a relatively straightforward language with a very rich set of class hierarchies.• Java programs derive much of their functionality from standard classes• Learning and understanding the classes is difficult. => Java experts can write complex systems quickly=> Inexperienced Java programmers write inelegant and buggy programs10Reuse: Objects - Basic Definitions• An object is a piece of code that owns attributes and provides services through methods. • The methods operate on instance data owned by the object.• A class is a collection of like objects.11Reuse: Objects - Characteristics• Encapsulation. An object has a public interface that defines how other objects or applications can interact with it. methodspublic instance data• Inheritance. Subclasses can be derived from parent classes. They inherit or override the parents' methods and instance data.• Polymorphism. The effect of a method can vary depending on the class that implements it (e.g., display_object)12Reuse: Objects - Object BindingBinding is the linking of the software interface between two objects.• Static binding: The interface is determined at compile or build time.StraightforwardAllows type checking• Dynamic binding or late binding: The link is established at run time.Flexible and extensibleComplex13Reuse: Objects - Distributed ObjectsObjects on separate computers interact through method calls and instance data.Major systems:• CORBA (Common Object Request Broker Architecture)• Microsoft family: OLE, COM, DCOM, Active X ...14Desirable Properties of Distributed Objects• Different languages and operating environments• Reusable code: components• Architecture can be extensible• Future changes can be localized• Standard tools used for client/server interactions15Example: Fedora IDLA research project to explore extensibility:-- very simple Interface Definition Language-- powerful tools for extensions-- interoperability, Cornell and CNRIhttp://www.cs.cornell.edu/cdlrg/fedora.html16Object Request Broker (ORB)ObjectsCC++JavaOtherCobolIDLClient ServerIDL IDL IDL IDLObject Request BrokerInterface17Interface Definition Languagemodule <identifier>{ <type declarations>; <constant declarations>; <exception declarations>; interface <identifier> [:<inheritance>] {See next slide } interface <identifier> [:<inheritance>] { ..... }{Naming contextDefine a classDefine a class18Interface Definition Language (continued) interface <identifier> [:<inheritance>] { <type declarations>; <constant declarations>; <exception declarations>; [<op_type] <identifier>(<parameters>) [raises exception] [context]; .... [<op_type] <identifier>(<parameters>) [raises exception] [context]; .... }Define a classDefine a methodDefine a method19ORB: Programmer's ViewObject Request BrokerInvoke a on object XInvoke a on object YObject XaObject YaClient Server20Object Request Broker (ORB)An ORB lets objects make requests to and receive response from other objects located locally or remotely.• Static and dynamic method invocations• High-level language bindings• Self-describing system• Local/remote transparency• Inter-ORB protocols Internet Inter-ORB Protocol (IIOP)21ORB: System ViewObject Request BrokerInterface repositoryDynamic invocationClient IDL stubsORB interfaceImplementation repositoryStatic skeletonsDynamic invocationObject adapterClientObject implementation22CORBA Services• Naming service• Event service• Concurrency control service• Transaction service• Relationship service• Externalization service• Query service• Life cycle service• Persistence service• Licensing service• Properties service• Security service• Time service23Distributed Objects and the System Life-CycleAll large systems change with time. • Dynamic binding of objects combined with polymorphism permits the addition


View Full Document

CORNELL CS 501 - Distributed Objects

Documents in this Course
Quiz 2

Quiz 2

2 pages

Usability

Usability

31 pages

Quiz 1

Quiz 1

2 pages

Stulba;''

Stulba;''

33 pages

Load more
Download Distributed Objects
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Distributed Objects and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Distributed Objects 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?