• No results found

Layering a computing infrastructure. Middleware. The new infrastructure: middleware. Spanning layer. Middleware objectives. The new infrastructure

N/A
N/A
Protected

Academic year: 2021

Share "Layering a computing infrastructure. Middleware. The new infrastructure: middleware. Spanning layer. Middleware objectives. The new infrastructure"

Copied!
8
0
0

Loading.... (view fulltext now)

Full text

(1)

School of Information Management and Systems Information Systems 206

Distributed Computing Applications and Infrastructure

Middleware

by

David G. Messerschmitt

2 Network Operating system

Middleware Application components

Applications

Layering a computing infrastructure

3

Distributed object management

Spanning layers

Network 1 Network 2

TCP UDP Windows NT

TCP UDP UNIX Application

TCP UDP Mac OS

Internet protocol

Spanning layer

4

The new infrastructure:

middleware

• Layer of software between OS and application

– Hides heterogeneity

– Provides generic common services – Increases level of abstraction

• By its nature, not single platform, nor bundled with equipment

– Microsoft attempts to be an exception

The new infrastructure

• Middleware is

– where new capabilities are added by layering – where much of the experimentation and

innovation happens in the infrastructure – where the successful approaches have a chance

to become a spanning layer and/or integrated into a distributed OS

• Boundary to a distributed OS is fuzzy

Middleware objectives

• Hide heterogeneity

• Location independence

• Common functionality needed by many applications

• Software portability and mobile code

• Help integrate legacy facilities

• Aid application interoperability

• Aid scalability

(2)

7

Some middleware categories

• Transaction processing

– Simplify the coordination of complementary resource managers

• Message-oriented middleware

– Support message and queuing capabilities where resource mangers are not available simultaneously (like workflow)

8

Some middleware categories

• Distributed object management

– Support applications that are distributed across heterogeneous platforms and organizations

• Mobile code

– Allow application code to be moved and executed on heterogeneous platforms – Without prior software installation

9

Infrastructure software today

• With networks, new emphasis on:

– Portability: applications run across multiple platforms (avoid lock-in)

– Interoperability: pieces of application must work together (benefit from network effects)

What are some examples of each?

University of California at Berkeley School of Information Management and Systems

Information Systems 206

Distributed Computing Applications and Infrastructure

Mobile code and Java

by

David G. Messerschmitt

Reminder: two key requirements

• With networks, new emphasis on:

– Portability: applications run across multiple platforms (avoid lock-in)

– Interoperability: pieces of application must work together (benefit from network effects)

Java emphasizes portability

❶ Send code (as a message) to a host

❷ Execute the program represented by that code

MC

Mobile code:

Code representing a software program that can be moved to heterogeneous platforms and executed there

Dynamic portability: mobile code

(3)

13

Mobile code originating from a common source can enhance interoperability

MC

Portability can aid interoperability

14

Java

• Portability

– “Write once, run anywhere”

• Programming productivity – Garbage collection (no memory leaks) – Multi-threaded

• Scalability

– Move execution cycles

• Interoperability

– Software components come from common repository

15

❶ Send as a message to a host

❷ Execute the program

MC

Mobile code:

Code representing a software program

MA

Mobile agent:

Code and data representing an object or component

Idea of mobile code

16 Shifting location of computation can enhance scalability Executing program closer to user can enhance interactivity

Mobile code originating from a common source can enhance interoperability and bypass network effects

MC

MC

Some mobile code advantages

❶ Agent launched

❷ Agent executes in each

host, modifying its state

❸ Agent returns MA

Idea of mobile agents

VM interpreter Java program

Compilation

JIT compiler

Bytecode:

low level but machine independent

Native machine instructions

Mobile code

Java virtual machine

(4)

19 Java virtual machine

Operating system Applications

JavaBeans component framework

Java VM spanning layer

VM as spanning layer

20

SUN/Java strategy

• License Java freely, even to rival Microsoft – Why?

• License terms give Sun a modicum of control over the “standard”

– Why?

• How does Sun expect to make money?

University of California at Berkeley School of Information Management and Systems

Information Systems 206

Distributed Computing Applications and Infrastructure

Distributed object management

by

David G. Messerschmitt

22

Distributed object management

• Emphasis is on interoperability

– Allows objects on one host to invoke methods of objects on another host

– Platform, language independent

• CORBA vs DCOM

• Portability is not the emphasis

Interoperability

Client Server

Client object can invoke methods of server object, even if they are running on different platforms, written in different languages

What else is needed?

Interoperability

Interoperability also requires:

• Common structure of data

• Common interpretation of data

• Agreement on protocols

Client Server

(5)

25 IP

OS 1 OS 2 OS 3

Distributed application

IP

OS 1 OS 2 OS 3

Distributed object management middleware Distributed application

Spanning layer

Potential spanning layer

Before and after

26

What is the acronym?

• Common Object Request Broker Architecture

or

• Concerned Off-Road Bicyclist Association?

27

Object request broker core Interface

repository CORBA services Object adapter Server objects

Client objects

CORBA architecture

28

Internet protocol (IP)

Subnetworks User datagram

protocol (UDP)

Transmission control protocol (TCP) Internet Inter-ORB Protocol (IIOP)

Application

Protocol layer

Object request broker Object Management

Group CORBA standard

Location-independent application

Internet Inter-ORB Protocol (IIOP)

Application 2

Portability not promised

ORB 2 Location-dependent application Application 1

ORB 1

Interoperability

CORBA standard does not insure ORB-to-ORB portability

OMG process

• Identify need

• Request for proposals

• Process to – choose best

– or ask proposal advocates to work together

(6)

31

Which is most effective?

• Industry de facto standard effort (CORBA) or

• Single vendor integrated solution (DCOM)?

32

CORBA vs DCOM

CORBA

• Integrate best ideas

• Multi-vendor support

• Cross-platform and language

DCOM

• Fast, no consensus required

• No vendor interoperability issues

33

Two methods for application interaction

• CORBA and DCOM

• Exchange documents (XML)

What are their relative merits?

34

CORBA vs XML

CORBA

• Natural OOP extension

• No document interpretation

• Good for back-and- forth protocols

XML

• Flexible data-sharing

• Good for document-like objects

• Natural cross-platform capability

• No protocol standardization Both have need for

standardization of data or document interpretation

What CORBA provides

• Java

– Language bindings – Transportable objects

• “Inter-galactic” software bus – Cross-platform and language – Interoperability (but not portability)

• High levels of abstraction – Remote method invocation on objects

What CORBA provides (con’t)

• Run-time flexibility – Everything self-describing – Interface discovery

– Dynamic data structures and binding

• Useful services

– Naming

– Security

– Many others

(7)

37

Importance of CORBA

• Inter-enterprise computing – Platform and language independence – Electronic commerce, network management,

etc

• Reduction of network effects – Another spanning layer – Significance of platform reduced

38

Are Java and CORBA competitive or complementary?

• Both offer interoperability across different platforms

• Java offers portability and transportability

• CORBA offers heterogeneous language bindings

• CORBA offers many services, metadata, etc.

• Bottom line: they are complementary!

– (but some Java proponents may not agree)

39

Who favors what?

Would these vendors be in favor of:

• Interoperability?

• Portability?

Microsoft Intel SUN Novell Iona

University of California at Berkeley School of Information Management and Systems

Information Systems 206

Distributed Computing Applications and Infrastructure

Transaction processing

by

David G. Messerschmitt

Durable starting state

Durable, consistent, ending state Collection of resource actions

Rollback

Successful completion Abort

The transaction

Resource managers Application logic

Transaction manager Join

Prepare, commit, abort

Transaction architecture

(8)

43 Transaction

manager Phase 1

prepare()➙ yes_or_no

Transaction manager

commit()

Transaction manager Phase 2

abort()

One or more “no’s”

All “yes”

Rollback

Commit or abort

44

Server Client_2

Client_1

Starting state

Final state Inconsistent state Group of RMI’s

Atomic series of resource actions

45

Server Client_2

Client_1

Starting state

Final state Refused Lock

Unlock Group of RMI’s

Locking to prevent conflicts

46

Server Client_2

Client_1

Starting state

Final state Group of RMI’s

Something goes awry Inconsistent state

Abort

Server Client_2

Client_1

Starting state

Group of RMI’s

Something goes awry

Rollback

Rollback

Application server Resource manager Transaction manager

request(tp_ID,….)

join(tp_ID)

More requests….

commit?(tp_ID)

commit_or_abort(tp_ID)

Lock

Commit or rollback

Transaction protocol

References

Related documents

This study intends to analyze the expression of specific sets of markers in tumor samples and in serum from patients with Non-Small Cell lung Cancer (NSCLC) or Stage III or IV

However, the objective of the proposed method is different from the method proposed by Li Ming – Xin because the RSA’s components are generated at the client side in order

reducing the rising operations and maintenance costs by consolidating the following systems 1) Corridor Integrated Weather System (CIWS) which provides 0 - 2 hour aviation

Follicular variant of papillary thyroid carcinoma: diagnostic limitations of fine needle aspiration cytology. Evaluating the diagnostic

Successful isolation and culture of primary breast cancer cells provides an alternative model to immortalised cell lines, and is potentially of great importance for the

16 ]. Most health behavior change interventions are complex [ 17 ] containing many BCTs and delivery/context components which can amplify or attenuate each other’s effect [ 15 ]. It

A distance regular graph G has a single positive distance eigenvalue if and only if G is isomorphic to one of the following graphs: a Doob graph, a double odd graph, a Johnson graph,

China saw many important astronomical achievements during the Northern Song dynasty (960-1127) when astronomy received sustained organizational and financial support