Object oriented paradigm
Download
1 / 31

Object Oriented Paradigm - PowerPoint PPT Presentation


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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
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

    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.


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

    HOW?


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

  • OMG’s CORBA

  • SUN’s Java Beans / EJBs


Component technology13 l.jpg
Component Technology

  • Microsoft’s COM

  • OMG’s CORBA

  • 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

  • OMG’s CORBA

  • 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

  • OMG’s CORBA

  • 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

myAddress

myProfile

myContacts

myLocation

myNotifications

MyInbox

myCalendar

myDocuments

myApplicationsettings

myFavouritewebsites

myWallet

myDevices

myServices

myUsage

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


ad