Object oriented paradigm
1 / 31

Object Oriented Paradigm - PowerPoint PPT Presentation

  • Updated On :

Object Oriented Paradigm. An evolutionary path. Programming At Its Infancy. A program is a single block of procedural code Disadvantages: Reusability is practically nil. Programming Complexity is high.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Object Oriented Paradigm' - melisande

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Object oriented paradigm l.jpg

Object Oriented Paradigm

An evolutionary path

Programming at its infancy l.jpg
Programming At Its Infancy

  • A program is a single block of procedural code


  • 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.

Software development the structured approach l.jpg
Software Development- The Structured Approach

  • Top-down design followed by bottom-up programming

  • Top-down decomposition driven by functional criteria

  • Architecture reflects system functions

The structured approach advantages l.jpg
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.

The structured approach disadvantages l.jpg
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.

Software development the object oriented approach l.jpg
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).

  • Doesn’t replace the structured approach; builds on top of it.

  • Further modularization achieved through the decoupling of the system into independent objects.

Object oriented approach advantages l.jpg
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.

Object oriented paradigm key features l.jpg
Object Oriented Paradigm – Key Features

  • Abstraction

  • Encapsulation

  • Inheritance

  • Polymorphism

Changing scenario l.jpg
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


Component technology l.jpg
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.

Component technology goals l.jpg
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

Component technology industry initiatives l.jpg
Component Technology – Industry Initiatives

  • Microsoft’s COM


  • SUN’s Java Beans / EJBs

Component technology13 l.jpg
Component Technology

  • Microsoft’s COM


  • Java Beans / EJBs

Com key features l.jpg
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)

Component technology15 l.jpg
Component Technology

  • Microsoft’s COM


  • Java Beans / EJBs

Corba specification l.jpg
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

Component technology17 l.jpg
Component Technology

  • Microsoft’s COM


  • Java Beans / EJBs

Jb ejb specifications l.jpg
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

Component technology common features l.jpg
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

Component based approach to software development l.jpg
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)

Component based approach to software development21 l.jpg
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

Com components drawbacks l.jpg
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

Web services l.jpg
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

Net framework l.jpg
.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 platformsor languages in use.

Net framework objectives l.jpg
.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

Net framework enabling features l.jpg
.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

Software development using the net framework l.jpg
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

Hailstorm a user centric web service l.jpg
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

Hailstorm services l.jpg















Hailstorm Services

Softwaredevelopment using hailstorm l.jpg
SoftwareDevelopment using Hailstorm

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

Future l.jpg

  • 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