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

Slides:



Advertisements
Similar presentations
Understand and appreciate Object Oriented Programming (OOP) Objects are self-contained modules or subroutines that contain data as well as the functions.
Advertisements

.NET Technology. Introduction Overview of.NET What.NET means for Developers, Users and Businesses Two.NET Research Projects:.NET Generics AsmL.
Introduction to .NET Framework
COM vs. CORBA.
CIM2564 Introduction to Development Frameworks 1 Overview of a Development Framework Topic 1.
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
What is.NET?. The Clients of.NET a) A new generation of connected application b) Microsoft.NET Framework managed execution c) Allows PCs and other smart.
Overview of the.NET Framework. What is the.NET Framework A new computing platform designed to simplify application development A consistent object-oriented.
Programming Our First Java Program Yingcai Xiao. What to Do Set up for Java Programming Write our first Java Program with IDE Write our first Java Program.
Distributed Object Computing Weilie Yi Dec 4, 2001.
Data Structure and Algorithm 1 Yingcai Xiao. You Me The Course (
Programming A Historic Perspective on Code Reuse Yingcai Xiao.
J2EE vs..NET Tom Tong. Enterprise Application 1 distributed 2 multiple-platform 3 critical 4 performance 5 security 6 multiple-data sources.
J2EE vs..NET Nigam Patel. Topics Background –Web Services, J2EE and.NET Similarities Differences Conclusion –Pros and Con (J2EE and.NET)
Introducing the Common Language Runtime for.NET. The Common Language Runtime The Common Language Runtime (CLR) The Common Language Runtime (CLR) –Execution.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
Introducing the Common Language Runtime. The Common Language Runtime The Common Language Runtime (CLR) The Common Language Runtime (CLR) –Execution engine.
Code-Reuse A Historic Perspective Yingcai Xiao. Want to know? Why we have to write programs to run a computer? Why an error in a program is called a bug?
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
L EC. 01: J AVA FUNDAMENTALS Fall Java Programming.
Intro to dot Net Dr. John Abraham UTPA – Fall 09 CSCI 3327.
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
A Free sample background from © 2001 By Default!Slide 1.NET Overview BY: Pinkesh Desai.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Introduction to .Net Framework
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 6: Software Packaging: Dynamically Integrable Components and Text Ch.
ASP.NET The.NET Framework. The.NET Framework is Microsoft’s distributed run-time environment for creating, deploying, and using applications over the.
1 8/29/05CS360 Windows Programming Professor Shereen Khoja.
High thoughts must have high language. Aristophanes
 2002 Prentice Hall. All rights reserved. 1 Introduction to Visual Basic.NET,.NET Framework and Visual Studio.NET Outline 1.7Introduction to Visual Basic.NET.
Introduction to .NET Rui Ye.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose.
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
Chapter 3: Objects, Components, and the Web Textbook IT Architectures and Middleware, Second Edition Chris Britton and Peter Bye AIT 600 Jeff Schmitt September.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
ISYS 573 Special Topic – VB.Net David Chao. The History of VB Early 1960s:BASIC-Beginner’s All-Purpose Symbolic Instruction Code –Teaching –Simple syntax,
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
Lecture 15 Introduction to Web Services Web Service Applications.
Distributed Component Object Model (DCOM)
Ch 1. A Python Q&A Session Spring Why do people use Python? Software quality Developer productivity Program portability Support libraries Component.
Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
SE-02 COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require.
By: PHANIDEEP NARRA. OVERVIEW Definition Motivation.NET and J2EE Architectures Interoperability Problems Interoperability Technologies Conclusion and.
PRIOR TO WEB SERVICES THE OTHER TECHNOLOGIES ARE:.
CSIT 220 (Blum)1 Remote Procedure Calls Based on Chapter 38 in Computer Networks and Internets, Comer.
An Introduction to Web Services Web Services using Java / Session 1 / 2 of 21 Objectives Discuss distributed computing Explain web services and their.
Microsoft .NET A platform that can be used for building and running windows and web applications such that the software is platform and device-independent.
Getting Started with.NET Getting Started with.NET/Lesson 1/Slide 1 of 31 Objectives In this lesson, you will learn to: *Identify the components of the.NET.
C# and.NET. .NET Architecture  Compiling and running code that targets.NET  Advantages of Microsoft Intermediate Language (MSIL)  Value and Reference.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
GRID ANATOMY Advanced Computing Concepts – Dr. Emmanuel Pilli.
Intro to ASP.NET CS-422 Dick Steflik. What is.NET As applications in the Enterprise become more and more netcentric and less and less standalone.NET is.
Introduction to the Microsoft.NET Framework Chris Wastchak Student Ambassador to Microsoft.
Application Sharing Bhavesh Amin Casey Miller Casey Miller Ajay Patel Ajay Patel Bhavesh Thakker Bhavesh Thakker.
Chapter 13 Web Application Infrastructure
Introduction to Visual Basic. NET,. NET Framework and Visual Studio
Suresh Ramachandran Duke Energy
.NET Omid Darroudi.
Chapter 1 Introduction to Computers, Programs, and Java
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Advanced Programming: C# Lecture 01: Introduction
Visual Programming Lecture 1.
Quality Assurance for Component-Based Software Development
Presentation transcript:

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. Software cannot not evolve gracefully as changes in one part of the software can have unwanted side-effects.

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

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

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

Component Technology Microsoft ’ s COM OMG ’ s CORBA Java Beans / EJBs

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

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

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

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

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

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

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

Hailstorm Services myAddressmyProfilemyContactsmyLocationmyNotificationsMyInboxmyCalendarmyDocuments myApplicationsetting s myFavouritewebsitesmyWalletmyDevicesmyServicesmyUsage

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

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