Microsoft. NET

Download Report

Transcript Microsoft. NET

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 bottomup 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
Abstraction
Encapsulation
Inheritance
Polymorphism
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, plugand-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.
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
Collaboration may be intra-process, inter-process or
inter-network
Individual components may be written in multiplelanguages (in case of COM)
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).
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

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
 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
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
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
myAddress
myProfile
myContacts
myLocation
myNotifications
MyInbox
myCalendar
myDocuments
myApplicationsetting
s
myFavouritewebsites
myWallet
myDevices
myServices
myUsage
SoftwareDevelopment using
Hailstorm

Use HailStorm services in your applications for
user authentication, routing notifications to the
users of your applications
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