Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Object Oriented Paradigm An evolutionary path. Programming At Its Infancy A program is a single block of procedural code Disadvantages: Reusability is."— Presentation transcript:

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). Doesn ’ t 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 AbstractionEncapsulationInheritancePolymorphism

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. 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 Microsoft ’ s COM OMG ’ s CORBA SUN ’ s Java Beans / EJBs

13 Component Technology Microsoft ’ s COM OMG ’ s 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 Microsoft ’ s COM OMG ’ s 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 Microsoft ’ s COM OMG ’ s 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 Software is developed as a collection of collaborating components Collaboration may be intra-process, inter-process or inter-network Collaboration may be intra-process, inter-process or inter-network Individual components may be written in multiple- languages (in case of COM) Individual components may be written in multiple- languages (in case of COM) Components may be ported to multiple platforms (in case of JB/EJB) 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). 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 implemented using full feature set of any language, object model or platform. Can be consumed by applications implemented in any language for any platform Can be consumed by applications implemented in any language for any platform Built on and an extension of COM Technology Built on and an extension of COM Technology Abstraction scaled up to higher level Abstraction scaled up to higher level Group of components, capable of delivering a meaningful service, is seen as a reusable unit 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 service is extended through Contract (comparable to Interface in Component) The Contract is published by provider on web 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. 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 Standardisation of language Architecture  Common data Types, Sys_Lib etc. Common Language Runtime (CLR) Common Language Runtime (CLR)  Comparable to Java Virtual Machine but capable of handling multiple languages Microsoft Intermediate Language (MSIL) Microsoft Intermediate Language (MSIL)  Comparable to byte code of Java CLR & MSIL enable JIT compilation on any platform that supports CLR 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.Net based Web Services The first paid web-service from Microsoft The first paid web-service from Microsoft Based on Microsoft Passport user Authentication Based on Microsoft Passport user Authentication Domain – Personal Information Management Domain – Personal Information Management Helps you manage and protect your information and interaction across all applications and devices Helps you manage and protect your information and interaction across all applications and devices Strengthened by Authentication, authorization and access period Strengthened by Authentication, authorization and access period

29 Hailstorm Services myAddressmyProfilemyContactsmyLocationmyNotificationsMyInboxmyCalendarmyDocuments myApplicationsetting s myFavouritewebsitesmyWalletmyDevicesmyServicesmyUsage

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

31 Future High Independence at Low level High Independence at Low level Easy Integration at middle level Easy Integration at middle level Total Convergence at Application level Total Convergence at Application level  Any where – Any Time – Any Language – Any OS – Any Language – Any OS – Any Device Any Device Thanx Thanx


Download ppt "Object Oriented Paradigm An evolutionary path. Programming At Its Infancy A program is a single block of procedural code Disadvantages: Reusability is."

Similar presentations


Ads by Google