Object Oriented Paradigm - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

Object Oriented Paradigm

Description:

PPT design: Mary Feil-Jacobs Template design: Silver Fox Date: July 11, 2000 Length: 90 minutes Location: Orlando, Florida Audience: Professional developers ... – PowerPoint PPT presentation

Number of Views:90
Avg rating:3.0/5.0
Slides: 32
Provided by: PaulMarit
Category:

less

Transcript and Presenter's Notes

Title: Object Oriented Paradigm


1
Object Oriented Paradigm
  • An evolutionary path

2
Programming At Its Infancy
  • A program is a single block of procedural code
  • Disadvantages
  • Reusability is practically nil.
  • Programming Complexity is high.
  • Software cannot not evolve gracefully as changes
    in one part of the software can have unwanted
    side-effects.

3
Software Development- The Structured Approach
  • Top-down design followed by bottom-up programming
  • Top-down decomposition driven by functional
    criteria
  • Architecture reflects system functions

4
The Structured Approach - Advantages
  • Modularization implies
  • Reduction in software complexity
  • Increased reusability
  • Reduction in unwanted side-effects as much of the
    effect is confined to the module being changed.

5
The Structured Approach - Disadvantages
  • Produces satisfactory results only when functions
    have been identified properly and remain
    unchanged through time.
  • Software structure is induced by functions. Thus
    evolution of these functions may imply important
    structural modifications.
  • Guarantees only limited modularizations thereby
    rendering subsequent modifications difficult and
    filled with side-effects.

6
Software Development - The Object Oriented
Approach
  • A paradigm shift from a function-centric approach
    to an object-centric approach to software
    development.
  • Structure induced by players (which constitute
    the more static part of the system) rather than
    by functions (the dynamic and evolving part of
    the system).
  • Doesnt replace the structured approach builds
    on top of it.
  • Further modularization achieved through the
    decoupling of the system into independent objects.

7
Object Oriented Approach - Advantages
  • Models the real world more closely.
  • Is easier to maintain because its structure is
    inherently decoupled.
  • Leads to reuse which in turn leads to faster
    software development and higher quality programs.

8
Object Oriented Paradigm Key Features
  • Abstraction
  • Encapsulation
  • Inheritance
  • Polymorphism

9
Changing Scenario
  • Emergence of networks Can the capabilities of
    networks be exploited to create an application
    that is distributed over the network? YES
  • Increasing software complexity Can a software
    be assembled from a collection of pre-built,
    plug-and-play software components much in the
    same way as a hardware is created? YES
  • HOW?

10
Component Technology
  • A software component is defined as an
    independent, binary piece of code that can
    connect at run-time with other software
    components to provide the desired functionality.

11
Component Technology - Goals
  • Basic Interoperability A software component
    developed by one developer should be able to
    interoperate with other components
  • Versioning It should be possible to upgrade a
    component without need to upgrade the entire
    software
  • Language Independence Components written in
    different languages should be able to communicate
  • Cross-process Interoperability Two software
    components running in two different process
    spaces should be interoperable
  • Cross-network Interoperability Two software
    components running in two different machines
    connected over the network should be interoperable

12
Component Technology Industry Initiatives
  • Microsofts COM
  • OMGs CORBA
  • SUNs Java Beans / EJBs

13
Component Technology
  • Microsofts COM
  • OMGs CORBA
  • Java Beans / EJBs

14
COM Key Features
  • Component Object Model (COM)
  • A component communication protocol by Microsoft
  • OS (Windows) dependent
  • Language independent
  • Provides a standard way of accessing all kinds of
    software services be it in a library (DLL), in
    another process (EXE) or in another machine
    (DCOM)

15
Component Technology
  • Microsofts COM
  • OMGs CORBA
  • Java Beans / EJBs

16
CORBA Specification
  • A specification defined by Object Management
    Group (OMG)
  • Non-profit organization
  • Engaged in promoting vendor-independent solution
    using Object Technology
  • Language independent
  • OS independent

17
Component Technology
  • Microsofts COM
  • OMGs CORBA
  • Java Beans / EJBs

18
JB/EJB Specifications
  • Java Beans (JB), Enterprise Java Beans (EJB)
  • Expounded by Sun Microsystems
  • Language Dependent
  • Built around Java Language
  • Java specification Controlled by Sun
    Microsystems
  • OS Independent

19
Component Technology Common Features
  • All the three technologies built on Protocols
    that guide the inter-Process communication among
    processes on same or different systems
  • Adopt the key features of the object-oriented
    paradigm
  • Interface is everything

20
Component based approach to software development
  • Software is developed as a collection of
    collaborating components
  • Collaboration may be intra-process, inter-process
    or inter-network
  • Individual components may be written in
    multiple-languages (in case of COM)
  • Components may be ported to multiple platforms
    (in case of JB/EJB)

21
Component Based Approach to Software Development
  • Disadvantages of current technologies
  • Limited language independence
  • JB/EJB components limited to Java
  • COM components support language independence but
    require a conscious effort
  • Interacting components must comply to the same
    standard
  • JB/EJB components can interact only with other
    JB/EJB components
  • Similarly with COM

22
COM Components Drawbacks
  • Allow only limited language independence
  • Allow inheritance only if both parent child
    components are written in the same language
  • Can be accessed only by COM compliant components
  • Create DLL Hell

23
Web Services
  • An application delivered as a service that can be
    integrated with other Web services using the
    ubiquitous Internet Standards (HTTP, XML, SOAP
    protocols).
  • Can be implemented using full feature set of any
    language, object model or platform.
  • Can be consumed by applications implemented in
    any language for any platform
  • Built on and an extension of COM Technology
  • Abstraction scaled up to higher level
  • Group of components, capable of delivering a
    meaningful service, is seen as a reusable unit
  • The service is extended through Contract
    (comparable to Interface in Component)
  • The Contract is published by provider on web

24
.NET Framework
  • The Microsoft .NET Framework is a new platform
    for building integrated, internet-based,
    service-oriented applications to meet the needs
    of applications that gather information from, and
    interact with, a wide variety of sources,
    regardless of the platforms or languages in use.

25
.NET Framework - Objectives
  • Use the Right Language for the Right Job Cross
    Language Integration
  • Execute on many platforms Platform Independence
  • Run Once, Run Always The end of DLL Hell

26
.NET Framework Enabling Features
  • Standardisation of language Architecture
  • Common data Types, Sys_Lib etc.
  • Common Language Runtime (CLR)
  • Comparable to Java Virtual Machine but capable of
    handling multiple languages
  • Microsoft Intermediate Language (MSIL)
  • Comparable to byte code of Java
  • CLR MSIL enable JIT compilation on any platform
    that supports CLR

27
Software Development using the .NET Framework
  • Develop applications as a collection of
    collaborating components or web services that are
    portable across platforms and can interact across
    language boundaries
  • Strengthened by open protocol of accessibility
    like http, xml etc
  • Web Services assisted by .NET
  • Platform language independence

28
HailStorm a user-centric web service
  • .Net based Web Services
  • The first paid web-service from Microsoft
  • Based on Microsoft Passport user Authentication
  • Domain Personal Information Management
  • Helps you manage and protect your information and
    interaction across all applications and devices
  • Strengthened by Authentication, authorization and
    access period

29
Hailstorm Services
  • myAddress
  • myProfile
  • myContacts
  • myLocation
  • myNotifications
  • MyInbox
  • myCalendar
  • myDocuments
  • myApplicationsettings
  • myFavouritewebsites
  • myWallet
  • myDevices
  • myServices
  • myUsage

30
SoftwareDevelopment using Hailstorm
  • Use HailStorm services in your applications for
    user authentication, routing notifications to the
    users of your applications

31
Future
  • High Independence at Low level
  • Easy Integration at middle level
  • Total Convergence at Application level
  • Any where Any Time
  • Any Language Any OS
  • Any Device
  • Thanx
Write a Comment
User Comments (0)
About PowerShow.com