Background literature on CORBAchrke55/courses/SWE/hand-corba.pdf · Callback reverses roles of...

22
TDDC18 Component-based software. IDA, Linköpings universitet. Slides by courtesy of Uwe Assmann, IDA / TU Dresden. Revised by C. Kessler, 2005. CORBA Overview, Goals Basic mechanisms for modularity, exchangeability, adaptation, transparency CORBA Services and CORBA Facilities CORBA, Web and Java Evaluation of CORBA as a composition system [Szyperski, Chapter 13] 2 TDDC18 Component-based software. IDA, Linköpings universitet. Slides by courtesy of Uwe Assmann, IDA / TU Dresden. Revised by C. Kessler, 2005. Background literature on CORBA F. Bolton: Pure CORBA. Sams Publishing, 2002. R. Orfali, D. Harkey: Client/Server programming with Java and Corba, 2 nd edition, Wiley 1998. Easy to read. R. Orfali, D. Harkey, J. Edwards: Instant Corba. Addison-Wesley 1997. Special issue of Communications of the ACM 41(10), Oct. 1998. All articles. Overview of CORBA 3.0. Tanenbaum, van Steen: Distributed Systems. Pearson, 2003. Principles and paradigms. OMG: CORBA 2.2 and CORBA 3.0 Specification. http://www.omg.org See also further material from the OMG on the Web OMG: CORBAfacilities: Common Object Facilities Specifications. http://www.omg.org 3 TDDC18 Component-based software. IDA, Linköpings universitet. Slides by courtesy of Uwe Assmann, IDA / TU Dresden. Revised by C. Kessler, 2005. CORBA Common Object Request Broker Architecture® Founding year of the OMG (Object Management Group) 1989 Goal: plug-and-play components everywhere CORBA 1.1 1991 (IDL, ORB, BOA) ODMG-93 (Standard for OO-databases) CORBA 2.0 1995. Version 2 is a separate line, 2.2 and 2.4 are status quo CORBA 3.0 1999 (POA). Current version (2005) is 3.0.3. 4 TDDC18 Component-based software. IDA, Linköpings universitet. Slides by courtesy of Uwe Assmann, IDA / TU Dresden. Revised by C. Kessler, 2005. Ingredients of CORBA Component Model Components == classes and objects, i.e., similar to object-oriented software. Components have more component secrets Basic interoperability Language interoperability by uniform interfaces description Transparent distribution Transparent Network protocols CORBA Services CORBA Facilities Horizontal (general-purpose) vs. vertical (domain-specific) CORBA MOF

Transcript of Background literature on CORBAchrke55/courses/SWE/hand-corba.pdf · Callback reverses roles of...

Page 1: Background literature on CORBAchrke55/courses/SWE/hand-corba.pdf · Callback reverses roles of client and server Client Server Client2 registerCallback() riseEvent() callCallback()

TD

DC

18 C

ompo

nent

-bas

ed

softw

are.

IDA

, Lin

köpi

ngs

univ

ersi

tet.

Slid

es

by c

ourt

esy

of U

we

Ass

man

n, ID

A /

TU

Dre

sden

. R

evis

ed b

y C

. Kes

sler

, 200

5.

CO

RB

A

Ove

rvie

w, G

oals

B

asic

mec

han

ism

s fo

r m

odul

arity

, exc

hang

eabi

lity,

ad

apta

tion,

tran

spar

ency

CO

RB

A S

ervi

ces

and

CO

RB

A F

acili

ties

CO

RB

A, W

eb a

nd J

ava

Eva

luat

ion

of C

OR

BA

as

a co

mp

ositi

on s

yste

m

[Szy

pers

ki,

Ch

apte

r 13

]

2

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Bac

kgro

und

liter

atur

e on

CO

RB

A

�F

. Bol

ton:

Pur

e C

OR

BA

. Sam

s P

ublis

hing

, 200

2.�

R. O

rfal

i, D

. Har

key:

Clie

nt/S

erve

r pr

ogra

mm

ing

with

Jav

a an

d C

orba

, 2nd

edi

tion,

Wile

y 19

98. E

asy

to r

ead

.

�R

. Orf

ali,

D. H

arke

y, J

. Edw

ards

: Ins

tant

Cor

ba. A

ddis

on-W

esle

y 19

97.

�S

peci

al is

sue

of C

omm

unic

atio

ns o

f the

AC

M 4

1(10

), O

ct. 1

998.

A

ll ar

ticle

s. O

verv

iew

of C

OR

BA

3.0

.

�T

anen

baum

, van

Ste

en:

Dis

trib

uted

Sys

tem

s. P

ears

on, 2

003.

Prin

cipl

es a

nd

para

digm

s.

�O

MG

: CO

RB

A 2

.2 a

nd C

OR

BA

3.0

Spe

cific

atio

n.

http

://w

ww

.om

g.or

gS

ee a

lso

furt

her

ma

teri

al fr

om th

e O

MG

on

the

We

b

�O

MG

: CO

RB

Afa

cilit

ies:

Com

mon

Obj

ect F

acili

ties

Spe

cific

atio

ns.

http

://w

ww

.om

g.or

g

3

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

CO

RB

A

�C

omm

on O

bjec

t Req

uest

Bro

ker

Arc

hite

ctur

e®�

Fou

ndin

g ye

ar o

f the

OM

G (

Obj

ect M

anag

emen

t Gro

up)

1989

�G

oal:

plug

-and

-pla

y co

mpo

nent

s ev

eryw

here

�C

OR

BA

1.1

199

1 (

IDL,

OR

B, B

OA

)�

OD

MG

-93

(S

tand

ard

for

OO

-dat

abas

es)

�C

OR

BA

2.0

199

5.V

ersi

on 2

is a

sep

arat

e lin

e, 2

.2 a

nd 2

.4 a

re s

tatu

s qu

o�

CO

RB

A 3

.0 1

999

(P

OA

).C

urre

nt v

ersi

on (

2005

) is

3.0

.3.

4

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Ingr

edie

nts

of C

OR

BA

�C

om

po

nen

t M

od

el�

Com

pon

ents

==

cla

sse

s an

d ob

ject

s, i.

e., s

imila

r to

obj

ect-

orie

nted

so

ftwar

e. C

ompo

nen

ts h

ave

mor

e co

mpo

nen

t sec

rets

�B

asic

inte

rop

erab

ility

�La

ngu

age

inte

rope

rabi

lity

by u

nifo

rm in

terf

aces

des

crip

tion

�T

rans

pare

nt d

istr

ibu

tion

�T

rans

pare

nt N

etw

ork

pro

toco

ls

�C

OR

BA

Ser

vice

s

�C

OR

BA

Fac

iliti

es�

Hor

izon

tal (

gen

eral

-pur

pose

) v

s. v

ertic

al (

dom

ain-

spec

ific)

�C

OR

BA

MO

F

Page 2: Background literature on CORBAchrke55/courses/SWE/hand-corba.pdf · Callback reverses roles of client and server Client Server Client2 registerCallback() riseEvent() callCallback()

5

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

OM

A

(Obj

ect M

anag

emen

t Arc

hite

ctur

e)

Ob

ject

Re

ques

t B

roke

r

Obj

ect S

ervi

ces

(CO

RB

A S

erv

ices

)

App

licat

ion

Inte

rfac

es

Dom

ain

Inte

rfac

esC

omm

on F

acili

ties

(CO

RB

A F

acili

ties)

�A

so

ftw

are

bu

s

Tim

eS

ecu

rity

Lice

nsin

gP

rop

ertie

s..

.

Eve

nts

Life

cycl

eP

ers

iste

nce

Tra

nsa

ctio

ns

...

6

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Cor

ba’s

Hyd

roce

phal

us

�C

orb

a is

larg

e�

Obj

ect

Req

uest

Bro

ker

– 20

00 p

ages

of s

peci

ficat

ion

�O

bje

ct S

erv

ices

– 3

00

page

s�

Com

mon

Fac

ilitie

s –

150

pag

es�

Tec

hn

ical

rea

sons

�C

lean

det

aile

d so

lutio

n�

Som

etim

es

over

kill

�S

oci

olo

gic

reas

on

s�

OM

G is

larg

e (

over

800

par

tner

s) a

nd h

eter

ogen

eou

s�

Sta

ndar

d c

over

s a

wid

e ra

nge

�L

ing

uis

tic

reas

on

s�

Ow

n la

ngua

ge�

Lots

of u

nint

uiti

ve 3

-ca

pita

ls-n

ames

(O

MG

, OR

B,

IDL,

…)

�A

ppea

rs la

rger

than

nec

essa

ry

TD

DC

18 C

ompo

nent

-bas

ed

softw

are.

IDA

, Lin

köpi

ngs

univ

ersi

tet.

Slid

es

by c

ourt

esy

of U

we

Ass

man

n, ID

A /

TU

Dre

sden

. R

evis

ed b

y C

. Kes

sler

, 200

5.

Cor

bas

Mec

hani

sms

for

Com

posi

tion

(Bas

ic In

tero

pera

bilit

y)

8

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

CO

RB

A in

tero

pera

bilit

y m

echa

nism

s

Sou

rce:

http

://w

ww

.cs.

wus

tl.ed

u/~

schm

idt

Page 3: Background literature on CORBAchrke55/courses/SWE/hand-corba.pdf · Callback reverses roles of client and server Client Server Client2 registerCallback() riseEvent() callCallback()

9

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Lang

uage

Tra

nspa

renc

y

�In

terf

ace

defi

nit

ion

lan

gua

ge

– C

OR

BA

IDL

�C

OR

BA

Inte

rfa

ce D

efin

ition

Lan

guag

e de

scrib

es in

terf

aces

�F

rom

that

, glu

e co

de

is g

ener

ated

(g

lue

code

is c

ode

that

glu

es n

on-f

ittin

g co

mp

onen

ts to

geth

er)

�G

ene

rate

stu

b a

nd s

kele

tons

for

lang

uage

ada

ptat

ion

�P

ow

erfu

l typ

e s

yste

m�

Sta

ndar

dize

d (

ISO

147

50)

�L

angu

age

bin

din

gs f

or m

any

lan

gua

ges

�A

ntiq

ue: C

OB

OL

�C

lass

ic: C

�O

O: C

++

, Sm

allT

alk

, Eiff

el, J

ava

�S

crip

ting:

Pyt

hon

10

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Con

cept

s in

the

CO

RB

A

Inte

rfac

e D

efin

ition

Lan

guag

e (I

DL)

mo

du

le <

ide

ntifi

er>

{

<ty

pe d

ecl

ara

tions

>

<co

nsta

nt d

ecla

ratio

ns>

<

exce

ptio

n d

ecla

ratio

ns>

//

cla

sses

in

terf

ace

<id

en

tifie

r> :

<in

herit

ing

-fro

m>

{

<ty

pe

dec

lara

tion

s>

<co

nst

ant

de

clar

atio

ns>

<

exc

ept

ion

de

clar

atio

ns>

/

/ m

eth

ods

<

op

type

> <

iden

tifie

r>(<

para

met

ers

>)

{

.

..

}

...

.

}}

type

s

type

s

Ints

(sh

ort,.

.)

cons

truc

tors

basi

c ty

pes

non-

obje

cts

obje

cts

Rea

ls (

float

..)

Str

uct

Cha

r, s

trin

g,

Uni

on

Seq

uenc

e

Arr

ayoc

tet

Enu

m

Boo

l

AnyIO

R

valu

e ob

ject

s

11

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

IDL-

to-L

angu

age

Map

ping

�B

iject

ive

map

pin

g

from

Co

rba

IDL

typ

es t

o p

rog

ram

min

g la

ng

uage

typ

es�

Map

s b

asic

type

s d

irect

ly�

Map

s ty

pe c

onst

ruct

ors

�M

app

ing

mak

es t

ran

spar

ent

�B

yte

ord

er (

big-

end

ian

/ litt

le-e

ndia

n)�

Wor

d le

ngth

�M

emor

y la

yout

�R

efer

ence

s

�O

ne

stan

dar

d f

or

each

pro

gra

mm

ing

lan

gu

age!

12

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Hel

lo W

orld

in ID

L

#ifn

def

_H

EL

LOW

OR

LD

_ID

L#d

efin

e _

HE

LLO

WO

RL

D_

IDL

mo

du

le H

ello

Wo

rld {

in

terf

ace

Sim

ple

Hel

loW

orld

{

str

ing

sayH

ello

();

}

;}; #e

ndi

f

mo

du

le C

ou

nte

r {

//

unb

oun

ded

seq

uen

ce o

f lo

ngs:

ty

ped

ef s

eque

nce

<lo

ng>

one

Dim

Arr

ay;

//

sp

ecify

inte

rfac

e fo

r a

co

unte

r:

inte

rfac

e C

oun

t {

att

rib

ute

lon

g su

m;

// c

ou

nte

r

lo

ng

incr

em

ent(

);

v

oid

rea

dC

tr (

in o

neD

imA

rra

y X

,

in

int

posi

tion

k )

;

}}

hello

.idl

coun

t.id

l

Page 4: Background literature on CORBAchrke55/courses/SWE/hand-corba.pdf · Callback reverses roles of client and server Client Server Client2 registerCallback() riseEvent() callCallback()

14

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Inte

rope

rabl

e O

bjec

t Ref

eren

ce

(IO

R)

�A

n o

bjec

t re

fere

nce

pro

vid

es in

form

atio

n to

un

iqu

ely

spec

ify

an o

bje

ct w

ithi

n a

dis

trib

uted

OR

B s

yste

m

�U

niq

ue

nam

e o

r id

enti

fier

�L

ang

uag

e-tr

ansp

aren

t:M

appe

d to

clie

nt's

nor

mal

sou

rce

lang

uage

ref

eren

ces

(uni

que

map

ping

for

each

sup

port

ed la

ngua

ge)

�Im

ple

men

tati

on

in C

OR

BA

:O

bjec

t ref

eren

ce to

a s

erve

r ob

ject

is g

iven

out

by

the

serv

er's

OA

,sh

ippe

d to

clie

nts

as IO

R o

bjec

t and

sto

red

ther

e in

a p

roxy

obj

ect.

OR

B s

uppo

rts

strin

gific

atio

n / d

estr

ingi

ficat

ion

of IO

R's

.R

etrie

val o

f ref

eren

ces

by c

lient

: su

ppor

ted

by n

amin

g se

rvic

e A

ll re

fere

ncin

g go

es v

ia th

e se

rver

's O

RB

->

enab

les

dist

ribut

ed r

efer

ence

cou

ntin

g

15

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Inte

rope

rabl

e O

bjec

t Ref

eren

ce

(IO

R)

- co

nt.

�T

rans

ient

(ter

min

ates

with

ser

ver)

or

pers

iste

nt

�IO

R is

larg

er, m

ore

time-

cons

umin

g th

an la

ngua

ge-b

ound

ref

eren

ces

�C

onsi

sts

of:

�T

ype

nam

e (c

ode)

, i.e

. ind

ex in

to I

nter

face

Rep

osito

ry�

Pro

toco

l and

add

ress

info

rmat

ion

(e

.g. T

CP

/IP, p

ort #

, hos

t nam

e),

coul

d su

ppor

t mor

e th

an o

ne p

roto

col

�O

bje

ct k

ey:

�O

bje

ct a

dapt

er n

ame

(fo

r O

A)

�O

paq

ue d

ata

only

rea

dab

le b

y th

e g

ener

atin

g O

RB

(lo

cal r

efe

renc

e)

Typ

e N

ame:

inte

rfac

ere

posi

tory

re

fere

nce

Obj

ect

key

P

roto

col

Ad

dre

ssP

ort

Obj

ect

Ada

pte

r

Opa

que

un

ique

da

ta

IOR

16

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

IOR

Exa

mpl

e

IDL

:T

imeS

erv

er:

Ver

sio

n 1

.0

Obj

ect k

ey

IIO

Piio

p.m

y.ne

t12

34

OA

2

0x00

03

IOR

������

Co

rba

Ob

ject

0x0

001

OA

2

OA

1 (

BO

A/P

OA

)

�������

���������

���

Co

rba

Ob

ject

0x0

002

Co

rba

Ob

ject

0x00

03

Page 5: Background literature on CORBAchrke55/courses/SWE/hand-corba.pdf · Callback reverses roles of client and server Client Server Client2 registerCallback() riseEvent() callCallback()

17

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

The

Top

Cla

ss:

CO

RB

A::O

bjec

t

�T

he c

lass

CO

RB

A::O

bjec

t is

inhe

rited

to a

ll ob

ject

s

�T

here

by, C

OR

BA

sup

port

s re

flect

ion

and

intr

ospe

ctio

n

�R

efle

ctiv

e fu

nctio

ns:

�ge

t_in

terf

ace

deliv

ers

a re

fere

nce

to th

e en

try

in th

e in

terf

ace

repo

sito

ry

�ge

t_im

plem

enta

tion

a re

fere

nce

to th

e im

plem

enta

tion

�R

efle

ctio

n al

so b

y th

e In

terfa

ce

Rep

osito

ry (

list_

initi

al_r

efer

ence

s fr

om th

e C

OR

BA

::OR

B in

terf

ace)

.

CO

RB

A::

Obj

ect

get_

imp

lem

enta

tio

nge

t_in

terf

ace

is_n

ilis

_acr

eate

_req

ues

tdu

plic

ate

rele

ase

....

18

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Pro

blem

: M

ultip

le In

herit

ance

�C

OR

BA

::Obj

ect

incl

udes

cod

e in

to a

cla

ss�

Man

y la

ngua

ges

only

offe

r si

ngle

inhe

ritan

ce�

App

licat

ion

supe

rcla

ss m

ust b

e a

dele

gat

ee

CO

RB

A::O

bje

ct

Ap

plic

atio

nCla

ssth

at n

eed

s co

nne

ctio

n

Ap

plic

atio

nCla

ssS

up

erC

lass

CO

RB

A::O

bje

ct

Ap

plic

atio

nCla

ssth

at n

eed

s co

nne

ctio

n

Ap

plic

atio

nCla

ssS

up

erC

lass

TD

DC

18 C

ompo

nent

-bas

ed

softw

are.

IDA

, Lin

köpi

ngs

univ

ersi

tet.

Slid

es

by c

ourt

esy

of U

we

Ass

man

n, ID

A /

TU

Dre

sden

. R

evis

ed b

y C

. Kes

sler

, 200

5.

Bas

ic C

OR

BA

Con

nect

ions

20

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Bas

ic C

onne

ctio

ns in

CO

RB

A

�S

tati

c m

eth

od

cal

l with

sta

tic

stu

bs

and

skel

eto

ns�

Loca

l or

rem

ote

�P

olym

orp

hic

cal

l �

Loca

l or

rem

ote

�E

ven

t tr

ansm

issi

on

�C

allb

ack

�D

ynam

ic in

voca

tio

n (D

II, r

eque

st b

roki

ng)

�S

earc

hin

g se

rvic

es d

ynam

ical

ly in

the

web

(lo

catio

n tr

ansp

are

ncy

of a

ser

vice

)

�T

rad

ing

�F

ind

serv

ices

in a

ye

llow

pag

es s

ervi

ce, b

ase

d on

pro

pert

ies

Page 6: Background literature on CORBAchrke55/courses/SWE/hand-corba.pdf · Callback reverses roles of client and server Client Server Client2 registerCallback() riseEvent() callCallback()

21

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Sta

tic C

OR

BA

Cal

l

�A

dvan

tag

e: t

he

par

tici

pan

ts (

met

ho

ds)

are

sta

tical

ly k

no

wn

�C

all b

y st

ub a

nd s

kele

tons

, with

out

invo

lvem

ent

of a

n O

RB

�S

uppo

rts

dist

ribu

tion

: E

xcha

nge

of l

oca

l cal

l in

one

add

ress

sp

ace

to r

em

ote

call

is v

ery

eas

y:�

Inhe

rit f

rom

a C

OR

BA

cla

ss�

Writ

e an

IDL

spe

c�

No

sea

rch

for

serv

ice

obje

cts

->

rat

her

fast

�B

ette

r ty

pe

chec

k, s

ince

the

com

pile

r kn

ow

s th

e in

volv

ed ty

pes

�T

he

call

goes

th

rou

gh t

he

serv

er o

bje

ct a

dap

ter

�T

his

hid

es th

e de

tail

whe

ther

the

serv

er

is tr

ansi

ent o

r pe

rsis

tent

22

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Ser

ver

Sid

e

Obj

ect A

dapt

erID

LS

kele

ton

OR

B C

ore

Se

rve

r / O

bje

ct Im

plem

enta

tion

deac

tiva

te_

obj

deac

tiva

te_

impl

impl

_is

_re

ad

yob

ject

_is_

rea

dy

23

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

cre

ate

_PO

Acr

eat

e_l

ifesp

an

_pol

icy

activ

ate

_ob

ject

_w

ith_

id

the

_PO

AM

anag

er (

.act

ivat

e)

serv

ant

_to

_re

fere

nce

Bas

ic O

bjec

t Ada

pter

BO

A

�T

he B

OA

hid

es

�Li

fe ti

me

of th

e se

rver

obj

ect

(act

iva

tion:

sta

rt, s

top)

�P

ers

iste

ncy

�T

he B

OA

is im

plem

ente

d in

eve

ry

OR

B, f

or m

inim

al s

ervi

ce p

rovi

sion

�T

he B

OA

mai

ntai

ns th

e im

plem

enta

tion

repo

sito

ry

(com

pone

nt r

egis

try)

.

�It

supp

orts

non

-obj

ect-

orie

nted

cod

e

�In

CO

RB

A 3

.0 r

epla

ced

by P

OA

(Por

tabl

e O

bjec

t Ada

pter

)

CO

RB

A::

BO

A

crea

tege

t_id

disp

ose

set_

exce

pti

on

imp

l_is

_rea

dy

obj_

is_r

ead

ych

ang

e_im

ple

men

tati

on

deac

tiva

te_i

mp

lde

acti

vate

_ob

j

24

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Obj

ect A

ctiv

atio

n on

the

Ser

ver

������

������

������

�� �������

init

get_

id

obj_

is_

rea

dy

obj_

is_

rea

dy

Imp

l_is

_re

ady

deac

tiva

te_

obj

deac

tiva

te_

obj

deac

tiva

te_

imp

l

Obj

ect a

dap

ter

Pro

cess

clie

nt

requ

ests

her

e...

cre

ate

Page 7: Background literature on CORBAchrke55/courses/SWE/hand-corba.pdf · Callback reverses roles of client and server Client Server Client2 registerCallback() riseEvent() callCallback()

25

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Obj

ect A

dapt

ers

Sup

port

D

iffer

ent S

erve

r M

odel

s

�C

om

mo

n s

erve

r p

roce

ss�

Sev

era

l obj

ect

s re

side

in o

ne p

roce

ss o

n th

e se

rver

; th

e B

OA

initi

aliz

es th

em a

s th

read

s w

ith c

omm

on a

ddre

ss s

pac

e

(“co

mm

on a

ppar

tme

nt”)

�de

act

ivat

e_im

pl,

impl

_is_

read

y, o

bj_i

s_re

ady

ar

e m

appe

d d

irect

ly to

thre

ad f

unct

ion

s�

Sep

arat

e se

rver

pro

cess

es�

For

eve

ry o

bjec

t an

own

proc

ess

�S

erve

r-p

er-r

equ

est

�E

very

req

uest

gen

era

tes

a n

ew p

roce

ss

�P

ersi

sten

t se

rver

�H

ere

star

ts a

noth

er a

pplic

atio

n th

e ob

ject

s (e

.g.,

a da

ta b

ase

).

�T

he B

OA

pas

ses

on th

e qu

erie

s

26

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Cal

lbac

ks w

ith th

e C

allb

ack

Ser

vice

�C

allb

ack

fun

ctio

n r

egis

trat

ion

�P

roce

dur

e va

riab

le,

clos

ure

(pro

cedu

re v

aria

ble

with

arg

ume

nts)

or

ref

eren

ce to

an

obje

ct

�C

allb

ack

wor

ks

for

all l

angu

ages

�C

allb

ack

reve

rses

rol

es

of c

lient

and

ser

ver

Clie

nt

Se

rve

rC

lien

t2

reg

iste

rCal

lba

ck()

riseE

ven

t()

callC

allb

ack(

)

retu

rn()

sig

nal

()

27

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Eve

nts

�S

end

eve

nt

ob

ject

s fr

om

eve

nt

sup

plie

rs t

o e

ven

t co

nsu

mer

sun

idire

ctio

nal e

vent

cha

nnel

s de

coup

le s

uppl

ier

and

cons

umer

�E

vent

ob

ject

s (a

lso

calle

d m

essa

ges

) ar

e im

mu

tab

le o

nce

sen

t�

Asy

nchr

onou

s co

mm

unic

atio

n; o

rde

r of

eve

nts

is n

ot r

espe

cte

d�

No

retu

rn v

alue

s (e

xce

pt w

ith r

efer

ence

s to

col

lect

or o

bjec

ts)

�U

nic

ast:

one

rec

eive

r

�M

ult

icas

t: m

any

rece

iver

s

�D

ynam

ical

ly v

aryi

ng

rec

eive

rs(r

egis

ter

at c

hann

els

as s

uppl

ier

/ con

sum

er;

even

t typ

e fil

terin

g)

�W

ork

s fo

r ev

ery

CO

RB

A la

ngu

age

28

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

CO

RB

A E

vent

Ser

vice

�P

ush

mo

del:

S

uppl

ier

send

s ev

ent o

bjec

t by

calli

ng p

ush

oper

atio

n on

cha

nnel

,w

hich

cal

ls p

ush

to d

eliv

er e

vent

obj

ect t

o al

l reg

iste

red

cons

umer

s

�P

ull m

ode

l:C

onsu

mer

cal

ls p

ull o

pera

tion

on c

hann

el (

polli

ng fo

r ar

rivin

g ev

ents

)w

hich

trig

gers

cal

ls to

pul

l to

regi

ster

ed s

uppl

iers

�A

s in

term

edia

te in

stan

ces,

an

eve

nt

chan

nel

can

be

allo

cate

d�

The

y bu

ffer,

filte

r, a

nd m

ap

pull

to p

ush

�U

nty

ped

gen

eric

eve

nts

, or

typ

ed b

y ID

L

�A

dva

nta

ge:

�A

sync

hro

nous

wor

king

in th

e W

eb (

with

IIO

P a

nd d

ynam

ic C

all)

�A

ttach

men

t of

lega

cy s

yste

ms

inte

rest

ing

for

user

inte

rfac

es, n

etw

ork

co

mpu

ting

etc.

�D

isad

van

tage

: Ver

y ge

nera

l int

erfa

ce

Page 8: Background literature on CORBAchrke55/courses/SWE/hand-corba.pdf · Callback reverses roles of client and server Client Server Client2 registerCallback() riseEvent() callCallback()

29

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Dyn

amic

Cal

l (D

II, R

eque

st B

roki

ng)

�D

ynam

ic c

all

via

the

OR

B's

DII

(Dyn

amic

Invo

catio

n In

terf

ace)

�S

ervi

ces

can

be d

ynam

ical

ly e

xcha

nged

, or

bro

ugh

t int

o th

e pl

ay a

pos

terio

ri

�W

ithou

t rec

ompi

latio

n of

clie

nts

�S

low

er th

an s

tatic

invo

catio

ns

�R

equ

ires

intr

osp

ecti

on

Req

uir

es d

escr

ipti

ons

of s

eman

tics

of

serv

ice

com

po

nen

ts...

�F

or id

entif

icat

ion

of s

ervi

ces

�M

eta

data

(de

scrip

tive

data

):

cata

logs

of

com

pon

ents

(in

terf

ace

rep

osi

tory

, im

ple

m. r

epos

itory

)�

Nam

ing

serv

ice,

Tra

ding

ser

vice

, Pro

pert

y se

rvic

e (l

ater

)

�...

an

d a

med

iato

r th

at lo

oks

up

fo

r se

rvic

es:

the

OR

B30

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Obj

ect R

eque

st B

roke

r O

RB

�F

or a

dyn

am

ic c

all,

the

OR

B m

ust b

e

invo

lved

�T

he O

RB

is a

med

iato

r (d

esig

n pa

ttern

) be

twee

n cl

ient

and

ser

ver.

�H

ides

the

the

env

iron

men

t fro

m c

lient

s

�C

an ta

lk to

oth

er

OR

Bs,

al

so o

n th

e w

eb

(IIO

P In

tern

et I

nter

-OR

B p

roto

col)

CO

RB

A::

OR

B

init

ob

ject

_to

_str

ing

stri

ng

_to

_ob

ject

crea

te_l

ist

crea

te_o

per

atio

n_l

ist

get

_def

ault

_co

nte

xtcr

eate

_en

viro

nm

ent

BO

A_i

nit

list_

init

ial_

serv

ices

reso

lve_

init

ial_

refe

ren

ces

....

31

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

OR

B A

ctiv

atio

n

������

������

�� ��

� �

� ������

��������

���������������������

��������������������������

��

����

����

����

��

��

����

���

��

��

����

��

��

����

���

��

��

���

���

���

����

��

����

����

���

���

���

��

��

����

����

���

��

��

���

32

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Pro

toco

l Dyn

amic

Cal

l (D

II)

������

������

������

�������

�������������

�������

�����������

������

������

������������

� �

������� �

��������

���! ���

"���#�

������

$���

�! ���

arg

um

ent

s

Page 9: Background literature on CORBAchrke55/courses/SWE/hand-corba.pdf · Callback reverses roles of client and server Client Server Client2 registerCallback() riseEvent() callCallback()

33

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Exa

mpl

e 1:

Dyn

amic

Cal

l in

C++

Clie

nt p

rogr

am

��

��

���

��

��

���

��

��

��

��

��

�!

��

�"#

$%

��

&�

��

��

���

��

��

���

���

��� �

��

��$�

''

���

����

������

����

���

����

��

�(

��

��(

��

��

��)��

���

��

�&

���(

��

��(

���

���

)����

���

*�

����

��

����

����

����

����

��

�+(

�,

���

���-$

$�

��

��

���

�����

���

� ��

��.

%

�&

��

�/0

����

����

�1�

��2

������

��2

$$�

3�

���

���

��

���4

)��

����

$

%

����

55

2�

���

���

����

�2

55

��

���)���6

$�3

''������ ����� ������

��

��

���

.��6

�65

5&

���

��

���

,��

��$

67

8�

��

��

���

.��7

�75

5&

���

��

���

,��

��$

9�

��

��

���

.��8

�85

5&

���

��

���

,��

��$

:;

<�

''� �����! ���

����

����

��$

��

��

���

��

=>

����

���

�=&

�/0

���

=>

����

2��2$

''�

��

����

>�

����

�=/

��>�

���

�$&

��

/0���

��

����

��$�

�=/0

��

>�

���

�$/0

��

��>

��2

��

62

�6 �

��

��

���

�?

��(

$��=

/0

��>�

���

�$/0

��

��>

��2

��

72

�7 �

��

��

���

�?

��

@A

$�

�=/0

��

>�

���

�$/0

��

��>

��2

��

82

�8 �

��

��

���

�?

��(

�@

A$

''"���#���! ����

�=/0

���

1��$

''����%&���� ��

��

��

���

,�

���

����

���!

��=/0

���>

���$

/0�

�>��$

$0

0&

����$

%

''�

�.

��

���

�>�'

��

>�/

��

���

���

��6

��

��

)9$

��

��

���,

��

���

��

7

��8

!��=

/0

��>�

���$

/0���

��6

$/0

�>��$

$0

0&

���

7�

!��=

/0

��>�

���$

/0���

��7

$/0

�>��$

$0

0&

���

8�

��

>�

55

2

��7

&2

55

��

75

52

��

8&

25

5�

��

8

55

2��

�>�

&2

55

����

55

��

��3

���

�%

��

>�

55

+���>

���

�>

)�

����

��.

��2

55

���

3

334

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Exa

mpl

e 2:

DII

Invo

catio

n in

Jav

a

Clie

nt p

rogr

am (1

)

''�

���

�B�

''�

>���

��

���

���

>��

��

��

��

��

����

���

*���

��

��

''�

��*

��

�A�

��

$�

�B

C��

B

''D

6E

EF

�>

���

��

��

����

�%

�>

�����

���

��

���

�,��

��

"#

���$

%

���

���B��

��G&

7$

%

,.���

�B�

>�B�

��

���2

@�

��

��

��

���

�5�

����

�/

�0

5

����

��/

�0

H2$

���>

��

3 ,��

��

����

�(

��

&��

�"9

#�,

���

����

��(

�&

��

�"6

#�

���

B��

�B�

��

��

B�

����

����

�&

>���

���

B��

�B�

��

��

B�

����

����

��&

>

���

���

B��

�B�

��

��

B��

��

� &

>

���

��.

% ��

&�

��B�

��B�

��

��

B��

�B�

���

��

>

��$�

3 ���

���

��B�

��

B��

��

�B,

.���

�4

)���

���

��

$%

,.���

�B�

��B�

��

��

�2�

��

���

���>��

2I

��

$�

,.���

�B�

)���6

$�

3

35

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

%''

����

��.

%

����

�&

��

B �

��2

��C�,

���

'�����

���

��

����

6B9

2 ���

���(

>��

>��$

3 �

���

����

B��

�B�

��

��

B�.���

��)���

���

��

$%

,.���

�B�

��B�

��

���2

��

��

���

��>��

2I

��

$�,

.���

�B�

)���6

$�

3 ''� �����! ����

���

B��

�B�

��

��

B��

=>

���

��=

>�

��

&�

����

�B�

��=>

����

2�

>

��2$

��=

>�

��B

���

��

���$

B�

��

������

��

����

��(

�$�

��=

>�

��B����

���>

��

�.�

��

��

B��

���

���

����

��

���

���

B��

�B�

��

��

BA�

J�

�B�

1�

� ��

��$

$�''"���#���! ����

��=

>�

��B�

��1�

�$�

'' ������ ����� ��

��

��

��&

��=>

���B

���>

���$

B�

�>��$

B�)��

���

�����

$�

3 %''

���

��

���

B��

�B�

��

��

B��

=>

���

��=

>�

��

&��

��

��B�

��=

>�

���

2��

��

(>�

��2

$�

��=

>�

��B����

���>

��

�.�

��

��

B��

���

���

����

��

���

���

B��

�B�

��

��

BA�

J�

�B�

1����

��

$$�

��=

>�

��B�

��1�

�$�

,��

��

��

���

���

&

��=

>���B��

�>

���$

B��>

��$

B�)��

���

���

��

�$�

,.���

�B�

>�B�

����

�2�

����

��2

I��

���

���

I

2��

���

��

.�

>�

*

.2$

3

Exa

mpl

e 2:

DII

Invo

catio

n in

Jav

a C

lient

cod

e (2

)

36

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

publ

ic c

lass

Se

rve

r {

p

ublic

sta

tic v

oid

ma

in(

Str

ing[

] arg

s )

{

org

.om

g.C

OR

BA

.OR

B o

rb =

nul

l;

try

{

o

rb =

org

.om

g.C

OR

BA

.OR

B.in

it( a

rgs,

nul

l);

}

ca

tch

(o

rg.o

mg

.CO

RB

A.S

yste

mE

xcep

tion

se

) {

S

yste

m.e

rr.p

rintln

("O

RB

init

failu

re "

+ s

e);

S

yste

m.e

xit(

1);

}

o

rg.o

mg.

CO

RB

A.B

OA

bo

a =

nul

l;

try

{

bo

a =

orb

.BO

A_i

nit(

);

}

catc

h (

org

.om

g.C

OR

BA

.Sys

tem

Exc

eptio

n s

e)

{

Sys

tem

.err

.prin

tln("

BO

A in

it fa

ilure

" +

se)

;

Sys

tem

.exi

t(1)

;

}

S

hip

.Air

craf

tCa

rrie

r ca

rrie

r =

new

Airc

raft

Car

rierI

mp

l("N

imitz

");

try

{

boa

.obj

_is

_re

ady

(car

rier

);

} ca

tch

(org

.om

g.C

OR

BA

.Sys

tem

Exc

ept

ion

se)

{

Sys

tem

.err

.pri

ntln

("O

bje

ct R

eady

failu

re "

+ s

e);

S

yste

m.e

xit(

1);

}

S

yste

m.o

ut.p

rint

ln(c

arr

ier

+ "

re

ady

for

laun

ch !!

!");

tr

y {

bo

a.im

pl_

is_r

ead

y();

}

catc

h (o

rg.o

mg.

CO

RB

A.S

yste

mE

xce

ptio

n se

) {

S

yste

m.e

rr.p

rint

ln("

Imp

l Rea

dy

failu

re "

+ s

e);

S

yste

m.e

xit(

1);

}

} // N

ow

rea

dy

to s

erv

e r

em

ote

invo

catio

ns

on

carr

ier

Exa

mpl

e 2

Ser

ver

Impl

emen

tatio

n

Page 10: Background literature on CORBAchrke55/courses/SWE/hand-corba.pdf · Callback reverses roles of client and server Client Server Client2 registerCallback() riseEvent() callCallback()

37

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Exa

mpl

e: T

ime

Ser

vice

�C

all p

rovi

des

curr

ent t

ime

(on

serv

er)

�C

ode

to w

rite:

�ID

L�

Ser

ver

�S

tart

s O

RB

�In

itial

izes

Ser

vice

�G

ives

IOR

to th

e ou

tput

�C

lient

�T

ake

s IO

R�

Cal

ls s

ervi

ce

������������������

� ����

��������������

���������

�������������

������

����������

��

��

38

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Tim

e S

ervi

ce C

ompo

nent

as p

art o

f the

ser

ver

impl

emen

tatio

n (J

ava)

������������������ ���

������

����� ��

�����

�������������������

�������

������������� ���������������������

�� !��!

��

"��������

#���

$%

&

��'��������

��������(����

��)��!��

*������+

�������������

�(����

�����"

"������*+

�!�� �

����� �,����-��������

&

���(��

.����/

.0

�(����������

1

1�

39

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Tim

e S

ervi

ceTh

e ot

her p

art o

f the

ser

ver

impl

emen

tatio

n

��

��������������� ���

������

����� ��

�(����

�����

���������������&

�(����

������

���

����*

�����"23

��"

+&

��,

&

����� ���

���

4����� ��� ����*+�

5 �������������������

���

4

��

�������������������*5+�

5 ��

�����

�����"�#���

������

��#������/

�,���� �(� �������*��� ���������������"*���+

+�

1 ����!

*����� �,����-��������

�+&

�,���� ��� �������*�+�

1

1

1�

40

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Tim

e S

ervi

ceC

lient

Impl

emen

tatio

n

������������������ ���

������

����� ��

�(����

�����

����������������&

�(����

������

���

����*

�����"23

��"

+&

��

����

�����"�#���

������

��#������

��

��"263

��,

&

����� ���

���

4����� ��� ����*+�

5 ����� ������

���

4��� �����"����������*

��"263

+�

����

5 ������������� ������������

���������

4��

�� �����

���������������� ��������������� ����� *���+�

5 �,���� �(� �������*��������� "������*+

+�

��

�����

1 ����!

*����� �,����-��������

�+

&�,���� ��� �������*�+�

1

11�

Page 11: Background literature on CORBAchrke55/courses/SWE/hand-corba.pdf · Callback reverses roles of client and server Client Server Client2 registerCallback() riseEvent() callCallback()

41

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Tim

e S

ervi

ceE

xecu

tion

����

�������� �� ��� ��

�������������������������

����

�������� �� ������

�������������������������

�����������

42

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Ava

ilabl

e O

RB

s

�Ja

va-b

ased

�IB

M W

ebS

pher

e�

SU

N N

EO

, Joe

: ow

n pr

otoc

ol.

the

Java

Tra

nsa

ctio

n S

ervi

ce

JTS

is th

e JO

E C

orba

Obj

ect

Tra

nsac

tion

Ser

vice

OT

S.

�IO

NA

Orb

ix:

deve

lop

ed in

Ja

va, i

.e.,

OR

Ble

ts p

ossi

ble,

C

++,

Java

-app

licat

ions

�B

EA

Web

Logi

c�

Bor

land

Vis

ibro

ker

(in N

etsc

ape

Com

mun

icat

or)

, IIO

P b

ase

d. A

lso

for

C+

+.

�fr

ee: J

acO

RB

, ILU

, Jor

ba,

Dyn

aOR

B

�C

-bas

ed�

AC

E O

RB

TA

O, U

nive

rsity

W

ashi

ngto

n (w

ith tr

ader

)

�Li

nux

OR

BIT

(gn

ome)

�Li

nux

MIC

O (

kde

1.0

used

it)

�P

yth

on-b

ased

�fn

orb

�ht

tp://

ww

w.o

mg.

org

�[S

zype

rski

CS

13.

4]

43

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Bey

ond

Dyn

amic

Cal

l: T

he T

rade

r S

ervi

ce

A�

��

����

,�

����

K�

��

���

���

���

���

���

���

�>

����

���.

4)�

���

�>

����

���.

�T

rade

r m

edia

tes

serv

ices

, ba

sed

on p

ublis

hed

prop

ertie

s (

“yel

low

pag

e se

rvic

e”)

�M

atch

mak

ing

44

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

OR

Bs

and

Tra

ders

�T

he O

RB

res

olve

s op

erat

ions

stil

l bas

ed o

n na

min

g (w

ith th

e N

amin

g se

rvic

e =

“Whi

te p

ages

”)

�T

he T

rad

er s

ervi

ce, h

owev

er, r

esol

ves

oper

atio

ns (

serv

ices

) w

ithou

t nam

es, o

nly

base

d on

pro

pert

ies

and

polic

ies

= “Y

ello

w p

ages

�T

he tr

ader

get

s of

fers

from

ser

vers

, con

tain

ing

new

ser

vice

s

Page 12: Background literature on CORBAchrke55/courses/SWE/hand-corba.pdf · Callback reverses roles of client and server Client Server Client2 registerCallback() riseEvent() callCallback()

45

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Mod

i of S

ervi

ce P

rope

rtie

s

�S

ervi

ce p

rope

rtie

s ca

n be

qua

lifie

d by

mod

i: �

“no

rma

l” (c

an b

e m

odi

fied/

dele

ted

),

�“f

ixed

” (m

and

ator

y, c

anno

t be

dele

ted)

, �

“re

adon

ly”

(ca

nnot

be

mod

ified

).

�T

he m

odi o

f the

pro

pert

ies

form

a la

ttice

.

��

��

�$

L�)

��

��

��

�.

K

���

�.��

��

�.

46

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Ser

vice

offe

rs fo

r th

e T

rade

r se

rvic

e

�S

ervi

ce o

ffer

(IO

R, p

rop

erti

es)

�P

rope

rtie

s de

scrib

e se

rvic

es�

Are

use

d by

trad

ers

to m

atch

ser

vice

s to

qu

erie

s

�D

ynam

ic p

rope

rty

�A

pro

pert

y ca

n be

que

ried

dyn

amic

ally

by

the

tra

der

of s

ervi

ce�

The

ser

vice

-obj

ect

can

det

erm

ine

the

valu

e of

a d

ynam

ic p

rope

rty

ane

w

�M

atch

ing

wit

h t

he

stan

dar

d c

on

stra

int

lan

gua

ge�

Boo

lean

exp

ress

ion

s ab

out p

rope

rtie

s�

Num

eric

an

d st

ring

com

paris

ons

47

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Tra

ders

Pro

vide

Ser

vice

Hop

ping

�����

6��

���

6

�����

:��

���

8

�����

7M

����

���

�������

���

��>

��

��

���

���

����

���

�>���

���

��

L��

*����

����

����

���

��

���

����

���

=>��. ������

*���

���

�����

�If

a tr

ader

doe

s no

t fin

d a

serv

ice,

it c

an a

sk n

eigh

bor

trad

ers

�D

esig

n pa

ttern

“C

hain

of R

espo

nsib

ility

�G

raph

of t

rade

rs

�Li

nks

to n

eigh

bors

vi

a T

rad

erLi

nk�

Tra

derL

ink

filte

rs

and

man

ipu

late

s qu

erie

s vi

a po

licie

s

�A

dis

trib

uted

sea

rch

algo

rithm

(al

so u

sed

in P

2P)

48

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Mod

ifica

tion

of Q

uerie

s

�P

olic

ies

par

amet

eriz

e th

e b

ehav

ior

of

the

trad

ers

and

th

e T

rade

rLin

ks

�F

ilter

s, i.

e., v

alu

es, l

imiti

ng /

mod

ifyin

g th

e q

uerie

s:

�m

ax_s

ear

ch_c

ard:

max

imal

car

dina

lity

for

the

ongo

ing

sea

rche

s

�m

ax_m

atc

h_ca

rd:

ma

xim

al c

ard

inal

ity f

or m

atch

ings

�m

ax_h

op_c

oun

t: m

axim

al s

earc

h d

epth

in th

e gr

aph

��������

������

��������

������

��������

������

��������

������

���

������

���� ��� ��

������

���

���

���

���

��

��

���

���

���

���

���

��

���

�����

���

���>

����

��

Page 13: Background literature on CORBAchrke55/courses/SWE/hand-corba.pdf · Callback reverses roles of client and server Client Server Client2 registerCallback() riseEvent() callCallback()

49

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Inte

rfac

es T

radi

ng S

ervi

ce

�B

asic

inte

rfac

es

�Lo

oku

p (

que

ry)

�R

egis

ter

(for

exp

ort,

retr

act

, im

por

t of s

ervi

ces)

�A

dmin

(in

fo a

bout

ser

vice

s)

�Li

nk

(co

nstr

uctio

n of

tra

der

grap

h)

�H

ow d

oes

a q

uer

y lo

ok li

ke?

�Lo

oku

p.Q

uery

( in

Se

rvic

etyp

eNam

e, i

n C

onst

rain

t, in

Po

licyS

eq,

in S

pec

ified

Pro

pert

ies,

in h

ow to

y, o

ut O

fferS

eque

nce,

o

fferI

tera

tor)

50

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

CO

RB

A T

rade

r T

ypes

C�

�1>�

sim

ple

trad

er

C�

�1>�

sta

nda

lon

e tr

ader

C�

�1>�

���

����

��

��

����

��

��

��

��

���

��

���

1��

��

���$

C�

�1>��

��

����

� ��

��

C�

1

�>

����>

��

��

��

����

).

��

���$

C�

�1>��

��

����

� ��

��

���

).

�>��/

��

����

��

��

C�

�1>��

��

����

� ��

��

C�

1���

).

que

ry t

rad

er

51

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Cor

ba 3

.0si

nce

1999

�P

rovi

des

the

wel

l-def

ined

pac

kagi

ng fo

r pr

oduc

ing

com

pone

nts

�M

essa

ging

�La

ngua

ge m

appi

ngs

that

avo

id h

and-

writ

ing

of ID

L

�G

ene

ratin

g ID

L fr

om

lang

uage

spe

cific

type

def

initi

ons

�C

++2

IDL,

Jav

a2ID

L, …

�X

ML

inte

grat

ion

(SO

AP

)�

Qua

lity

of S

ervi

ce m

anag

emen

t�

Rea

l-tim

e an

d sm

all f

ootp

rint v

ersi

ons

�C

OR

BA

Com

pone

nt M

odel

(C

CM

)�

sim

ilar

to E

JB, s

ee la

ter

�S

crip

ting

(CO

RB

A s

crip

t), a

com

posi

tion

lang

uage

52

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Cor

ba 3

.0 (

cont

.)

�N

ew B

asic

ser

vice

s:

�P

OA

, the

Por

tabl

e O

bje

ct A

dap

ter,

rep

lace

s B

OA

�S

FA

, Ser

ver

Fra

me

wor

k A

dapt

er�

Val

ue

obje

cts

�S

ervi

ces:

�M

essa

ge

Se

rvic

e M

OM

:O

bje

cts

as a

sync

hron

ous

buf

fere

d m

ess

ages

�C

orba

Bea

ns-c

ompo

nent

s �

Scr

ipt l

angu

age

�F

acili

ties

: co

mpo

und

docu

men

ts, M

obile

Age

nts,

BO

F (

busi

ness

obj

ect f

acili

ty)

Page 14: Background literature on CORBAchrke55/courses/SWE/hand-corba.pdf · Callback reverses roles of client and server Client Server Client2 registerCallback() riseEvent() callCallback()

53

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

PO

A

Por

tabl

e O

bjec

t Ada

pter

�T

he

PO

A is

an

evo

luti

on o

f th

e B

OA

Nes

ted

PO

As

po

ssib

le,

wit

h n

este

d n

ame

spac

es�

Roo

t PO

A (

one

per

serv

er)

sta

rted

/acc

esse

d by

OR

B.

�A

PO

A c

an c

rea

te n

ew P

OA

s.�

A P

OA

ma

y se

rve

a gr

oup

of o

bjec

tsan

d h

andl

e re

fere

nces

to th

em.

�P

OA

s ca

n b

e n

amed

�O

RB

mai

nta

ins

a re

gist

ry o

f na

med

P

OA

s, e

.g. f

or r

eact

ivat

ion

as n

eed

ed.

�P

olic

ies

for

ob

ject

man

agem

ent

e.g

. Life

span

: tra

nsie

nt /

pers

iste

nt

CO

RB

A::

PO

A

crea

te_P

OA

crea

te_l

ifes

pan

_po

licy

acti

vate

_ob

ject

_wit

h_i

d

th

e_P

OA

Man

ager

(.a

ctiv

ate)

serv

ant_

to_r

efer

ence

...CO

RB

A::

BO

A

crea

teg

et_

idd

ispo

sese

t_ex

cep

tion

imp

l_is

_re

ady

ob

j_is

_re

ady

cha

nge_

impl

eme

nta

tion

de

activ

ate

_im

pl

de

activ

ate

_obj

TDD

C18

Com

pone

nt-b

ased

sof

twar

e. ID

A, L

inkö

ping

s un

iver

site

t. S

lides

by

cour

tesy

of U

we

Ass

ma

nn, I

DA

/ T

U D

resd

en.

Rev

ised

by

C. K

essl

er, 2

005.

Eva

luat

ion

of C

OR

BA

����

�������������

56

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Eva

luat

ion:

Com

pone

nt M

odel

�M

ech

anis

ms

for

secr

ets

and

tra

nsp

aren

cy:

very

goo

d

�In

terf

ace

and

Im

ple

men

tatio

n re

posi

tory

�C

ompo

nent

lang

uage

hid

den

(in

tero

pera

bilit

y)

�Li

fe-t

ime

of s

ervi

ce h

idde

n

�Id

entit

y of

ser

vice

s hi

dden

�Lo

catio

n hi

dden

�N

o p

aram

eter

izat

ion

�M

any

stan

dar

ds

(see

fo

llow

ing

su

bch

apte

rs)

57

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Eva

luat

ion:

Sta

ndar

diza

tion

�Q

uit

e g

oo

d!

�S

ervi

ces,

app

licat

ion

serv

ices

�O

n th

e ot

her

hand

, som

e st

anda

rds

are

FA

T

�T

ech

nic

al v

s. a

pp

licat

ion

sp

ecif

ic v

s b

usi

nes

s co

mp

on

ents

:

�C

orba

has

sta

ndar

ds fo

r te

chni

cal a

nd

appl

ica

tion

spec

ific

com

pon

ents

�...

but

for

busi

ness

obj

ect

s, s

tand

ards

mus

t be

exte

nded

(ve

rtic

al f

acili

ties)

Page 15: Background literature on CORBAchrke55/courses/SWE/hand-corba.pdf · Callback reverses roles of client and server Client Server Client2 registerCallback() riseEvent() callCallback()

58

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Eva

luat

ion:

Com

posi

tion

Tec

hniq

ue�

Mec

han

ism

s fo

r co

nn

ecti

on�

Mec

hani

sms

for

adap

tatio

n: s

tubs

, ske

leto

ns,

ser

ver

adap

ters

�M

echa

nism

s fo

r gl

uei

ng:

mar

sha

lling

bas

ed o

n ID

L

�M

ech

anis

ms

for

asp

ect

sep

arat

ion

�M

ultip

le in

terf

aces

pe

r ob

ject

�N

oth

ing

for

ext

ensi

on

s�

Mec

han

ism

s fo

r M

eta-

mo

del

ing

�In

terf

ace

Rep

osito

ries

with

type

cod

es, i

mp

lem

enta

tion

repo

sito

ries

�S

cala

bili

ty�

Con

nect

ions

can

not e

asily

be

exch

ange

d (e

xcep

t sta

tic lo

cal a

nd r

emot

e c

all)

59

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Eva

luat

ion:

Com

posi

tion

Lang

uage

�W

eak

�C

OR

BA

scr

iptin

g pr

ovid

es a

faci

lity

to w

rite

glu

e c

ode,

bu

t onl

y bl

ack-

box

com

posi

tion

61

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Wha

t Hav

e W

e Le

arne

d (1

)

�C

OR

BA

is b

ig, b

ut u

nive

rsal

:�

The

Cor

ba-

inte

rfa

ces

are

very

flex

ible

, wo

rk a

nd c

an b

e u

sed

in

pra

ctic

e�

... b

ut a

lso

com

plex

and

fat,

may

be

too

flexi

ble

�If

you

have

to c

onn

ect t

o le

gacy

sys

tem

s, C

OR

BA

wor

ks

�C

OR

BA

has

the

adva

ntag

e of

an

open

sta

ndar

d

�T

o in

crea

se r

euse

and

inte

rope

rabi

lity

in p

ract

ice,

on

e ha

s to

lear

n m

any

stan

dard

s

�T

radi

ng a

nd d

ynam

ic c

all a

re fu

ture

adv

ance

d co

mm

unic

atio

n m

echa

nism

s

�C

OR

BA

was

pro

babl

y on

ly th

e fir

st s

tep,

w

eb s

ervi

ces

mig

ht b

e ta

king

ove

r

62

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

The

End

�A

pp

endi

x:

adva

nced

mat

eria

l on

CO

RB

A

�C

OR

BA

ser

vice

s�

CO

RB

A fa

cilit

ies

�C

OR

BA

and

the

web

, O

RB

lets

�C

OR

BA

faci

litie

s an

d U

ML

prof

iles

�Li

cens

ing

for

busi

nes

s se

rvic

es

Page 16: Background literature on CORBAchrke55/courses/SWE/hand-corba.pdf · Callback reverses roles of client and server Client Server Client2 registerCallback() riseEvent() callCallback()

TD

DC

18 C

ompo

nent

-bas

ed

softw

are.

IDA

, Lin

köpi

ngs

univ

ersi

tet.

Slid

es

by c

ourt

esy

of U

we

Ass

man

n, ID

A /

TU

Dre

sden

. R

evis

ed b

y C

. Kes

sler

, 200

5.

Cor

ba S

ervi

ces

� ���������������������������

���������������������

��������

�����������

� �����������������������������

���������

����

����������

64

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Ove

rvie

w o

n C

orba

Ser

vice

s

�16

+ st

and

ard

ized

ser

vice

inte

rfac

es (i

.e.,

a lib

rary

)�

Sta

ndar

diz

ed, b

ut s

tatu

s of

impl

emen

tatio

n d

iffer

ent d

epen

din

g o

n pr

odu

cer

�O

bje

ct s

ervi

ces

�D

eal w

ith fe

atu

res

and

ma

nage

men

t of

obje

cts

�C

olla

bor

atio

n s

ervi

ces

�D

eal w

ith c

olla

bora

tion,

i.e.

, obj

ect c

onte

xts

�B

usi

nes

s se

rvic

es�

Dea

l with

bus

ines

s ap

plic

atio

ns

�T

he s

ervi

ces

serv

e fo

r st

anda

rdiz

atio

n.

The

y ar

e ve

ry im

port

ant t

o in

crea

se r

euse

.�

Ava

ilabl

e fo

r ev

ery

lang

uag

e, a

nd o

n di

strib

uted

sys

tem

s!

65

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Obj

ect S

ervi

ces

�N

ame

serv

ice

(dire

ctor

y se

rvic

e)�

Rec

ords

ser

ver

obje

cts

in a

sim

ple

tree

-like

nam

e s

pace

�(I

s a

sim

ple

com

pone

nt s

yste

m it

self)

�L

ifec

ycle

ser

vice

(allo

catio

n se

rvic

e)�

Not

aut

omat

ic; s

eman

tics

of d

eallo

catio

n un

defin

ed

�P

rop

erty

ser

vice

(fea

ture

ser

vice

for o

bjec

ts)

�P

ersi

sten

cy s

ervi

ce (s

torin

g ob

ject

s in

dat

a ba

ses)

�R

elat

ion

ship

ser

vice

to b

uild

inte

rope

rabl

e re

latio

ns a

nd g

raph

s�

Sup

port

of s

tand

ard

rel

atio

ns:

refe

renc

e, c

onta

inm

ent

�D

ivid

ed in

sta

ndar

d ro

les:

co

ntai

ns,

con

tain

edIn

, re

fere

nces

, re

fere

nce

d

�C

on

tain

er s

ervi

ce (c

olle

ctio

n se

rvic

e)66

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Col

labo

ratio

n S

ervi

ces

�C

om

mu

nic

atio

n s

ervi

ces

�R

esem

ble

con

nect

ors

in a

rchi

tect

ure

syst

ems,

but

can

not

be

exch

ange

d to

ea

ch o

ther

�E

vent

ser

vice

�pu

sh m

ode

l: th

e co

mpo

nen

ts p

ush

eve

nts

into

the

eve

nt

chan

nel

�pu

ll m

odel

: the

com

pon

ents

wai

t at t

he c

hann

el a

nd e

mpt

y it

�C

allb

ack

serv

ice

�C

on

curr

ency

ser

vice

�D

istr

ibu

ted

lock

s

�O

bje

ct t

ran

sact

ion

ser

vice

, OT

S

�F

lat t

rans

actio

ns o

n ob

ject

gra

phs

Page 17: Background literature on CORBAchrke55/courses/SWE/hand-corba.pdf · Callback reverses roles of client and server Client Server Client2 registerCallback() riseEvent() callCallback()

67

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Bus

ines

s S

ervi

ces

�T

rad

er s

ervi

ce�

Ye

llow

Pag

es, l

oca

lizat

ion

of s

ervi

ces

�Q

uer

y se

rvic

e�

Sea

rch

for

obje

cts

with

attr

ibut

es a

nd th

e O

QL,

SQ

L (O

DM

G-9

3)

�L

icen

sin

g s

ervi

ce�

For

app

licat

ion

pro

vide

rs (

app

licat

ion

ser

vers

)

�Li

cens

e m

ana

gers

�S

ecu

rity

ser

vice

Use

of S

SL

and

othe

r ba

sic

serv

ices

68

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Dep

ende

ncie

s B

etw

een

the

Ser

vice

s

Na

mes

Life

-tim

e

Rel

atio

ns

Per

sist

ency

Mar

shal

ling

Co

ncur

renc

y

Tra

nsac

tions

Que

ry

Tra

der

Pro

pert

ies

Sec

urity

Eve

nts

Lice

nses

Col

lect

ions

Ca

llbac

k

69

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Obj

ect S

ervi

ces:

Nam

es

�B

indi

ng

of

a n

ame

crea

tes

an o

bje

ct in

a n

ame

spac

e (d

irec

tory

, sco

pe,

nam

ing

co

nte

xt).

�A

nam

e sp

ace

is a

con

tain

er w

ith a

set

of b

indi

ngs

of n

ames

to v

alue

s.

�T

hey

can

refe

renc

e ea

ch o

ther

and

bui

ld n

ame

grap

hs

�T

he

rep

rese

nta

tion

of

a n

ame

is b

ased

on

ab

stra

ct s

ynta

x,

no

t o

n t

he

con

cret

e sy

nta

x o

f a

op

erat

ing

sys

tem

or

UR

L.

�A

nam

e co

nsis

ts o

f a tu

ple

(Id

entif

ier,

Kin

d).

�T

he Id

ent

ifier

is th

e re

al n

ame

, the

Kin

d te

lls h

ow th

e na

me

is

rep

rese

nte

d (e

.g.,

c_so

urc

e, o

bjec

t_co

de, e

xecu

tabl

e, p

osts

crip

t,..)

.�

For

cre

atio

n o

f nam

es

the

re is

a li

bra

ry (

desi

gn p

atte

rn A

bstr

act

Fac

tory

).

70

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

��

��

,�

���'�

��

��

���

��

Use

of N

ames

,.���

�/�

���

��

��

��

��

� ��

��

,�

���

� ��

��

��

����

���

��

(�

����

Page 18: Background literature on CORBAchrke55/courses/SWE/hand-corba.pdf · Callback reverses roles of client and server Client Server Client2 registerCallback() riseEvent() callCallback()

71

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Nam

ing

Ser

vice

bin

d (

in N

ame

n, i

n O

bje

ct o

bj)

rebi

nd (

in N

am

e n

, in

Obj

ect

ob

j)b

ind_

con

text

rebi

nd_

con

text

mk_

nam

e(S

trin

g s

)O

bje

ct r

eso

lve

unb

ind

( in

Nam

e n

)N

am

ing

Con

text

ne

w_

cont

ext

;N

am

ing

Con

text

bin

d_n

ew

_co

nte

xt (

in N

am

e n

)vo

id d

est

roy

void

list

(..)

_na

rro

w()

Co

sNam

ing:

:Nam

ingC

ont

ext

72

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Nam

ing

Ser

vice

��������(�������)�����������*

���

���

(��L

�>� �

���

����

�� �

����

(�

� �

����.�

�>�

$�

����������(�������)�����������*

���

���

(��L

�>� �

���

����

�� �

����

(�

�$�

����������������(�������)�����������������*

���

���

(��L

�>� �

���

����

�� �

����

(�

� �

����.�

�>�

$�������������������(�������)�����������������*

���

���

(��L

�>� �

���

����

�� �

����

(�

�$�

�����#�����(�������*+

�������������(�������*

���

���

(��L

�>� �

���

����

�� �

����

(�

�$�

���� �����(�������*

���

���

(��L

�>� �

���

����

�� �

����

(�

�$�

���������������,��������(*+

��������������������,��������(�������*

���

���

(��L

�>� �

����.�

�>� �

���

����

�� �

����

(�

�$�

����������%(*

���

���

(��4

���.

$�

��������(�� �����������-�,����%)� ��������.����)� ������������������*+

73

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Nam

ing

Ser

vice

in ID

L

K��

>��

��

��(

��

%

�.�

���

����

��

����

��

���

>��

(

��

��

��

��

%

����

��

���

����

��

1�

��

3� �.�

��

��

��=

>�

��

5(

��

��

��

�0(

��

��

���

��

���

���

�A

.��

%

����

��

��)�3�

���

>���

��

��

%

(�

���

��

��

��

��

�A

.��

��

���.

��

3� �.�

��

��

��=

>�

��

5�

���

�0

��

��

�C��

��

���

��

��

��

��

���

��

����

���

��

��

(

��

��

��)��

3

���

����

(�

��

��

��)�%

��

����

��(

��L

�>

��

��

%

���

��

��

���

����

��

)�

���

��

��

3�

�)��

����

(

��L

�>

%

(�

�L�>

��

��

*

�.�

(

��

�����

���

��

3�

�)��

����

����

���

�%

(�

��

��

��)�

��)

��

(�

���

���

���

���

3� �)��

����

���(

�%3

��

)��

����

���

.�

%3�

�)��

����

(

��4

��

�.%3

���

����

��

��

����

���

�%

���

�)��

��

��>

��

��

��

$�

���

�)��

�>

���

��

��

���

*�

.

�>

��

��

��C

��

�$�

��

���

����

�.�$

3�

74

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Nam

ing

Ser

vice

: Exa

mpl

e

''L

���

��

�����

���

���

��

B��

B!�

���

���

��

B*

�B!�

���

���

�4B�

B��

�)7B�

��

��

B,.���

�4

)��

����

''�

� �)

N�

���

���

��

�(

��B(

��

��

��

)��

''

���

����

�'�

��)�

���

���

��

�(

��B(

��

��

��

)�B

!�''

���

����

�'�

)��

����

���

���

��;B�

��

B���

���

)�

''�.

��

O��

����

)O��

��

��;

��

��

K.(

��

�)��

��

��(

��

%

BBB

3 �>

���

��

��

����

�)��

��

L�

��

%���

���

��

;B�

��

B���

���

���

��A

�)�L

����

��

��

���

���

>��

����

���

>���

���

=>���

����

��

�>

���

��

���

��

���

�,

���

���"#

$%

��

�(

��

B(�

��

��

��

)�B

���

��)

��

��;

B�

���

����

�.B�

��

���

L�

��

��

��.

% ��)

�&

(

��

��

��)�B

��

�*

�K

.(

��B

����

���

��

���

����

����

��

��

K.(

��

B(�

�,

���

���

$$�

��/����01�����������%1������,(

����1�������(2%������1�#�����(3�������3***+

�&

�*

����

����B���

��

�*

��

���$

$�

�B�

�1�$

�B��

�*

�$�

3 �

���

�4)��

����

)$

%,

.���

�B�

>�B�

��

���2

��/;

'�

���2

I�)B��

,��

��

�$$�

3

3

Page 19: Background literature on CORBAchrke55/courses/SWE/hand-corba.pdf · Callback reverses roles of client and server Client Server Client2 registerCallback() riseEvent() callCallback()

75

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Obj

ect S

ervi

ces:

Per

sist

ency

�D

efin

itio

n o

f a

Per

sist

ent

Obj

ect

Iden

tifi

er (P

ID)

�re

fere

nce

s th

e v

alue

of a

CO

RB

A o

bjec

t(in

con

tras

t to

a C

OR

BA

obj

ect)

�In

terf

ace

�co

nne

ct, d

isco

nne

ct, s

tore

, res

tore

, del

ete

�A

ttac

hm

ent

to d

ata

bas

es p

oss

ible

76

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Obj

ect S

ervi

ces:

Pro

pert

y S

ervi

ce

�M

anag

emen

t of

lists

of

feat

ure

s (p

rop

erti

es)

for

ob

ject

s

�P

rope

rtie

s ar

e st

ring

s

�D

ynam

ical

ly e

xten

sibl

e

�C

on

cept

wel

l-kn

ow

n a

s �

LIS

P p

rope

rty

lists

, ass

ocia

tive

arra

ys, J

ava

pro

pert

y cl

ass

es

�It

erat

ors

for

pro

per

ties

�In

terf

ace:

defin

e_pr

oper

ty,

defin

e_p

rope

rtie

s, g

et_

prop

erty

_val

ue,

get_

pro

pert

ies,

del

ete_

prop

erty

77

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Col

labo

ratio

n S

ervi

ces:

Tra

nsac

tions

�W

hat

a d

ream

: th

e W

eb a

s d

ata

bas

e w

ith

nes

ted

tra

nsa

ctio

ns.

Sce

nar

ios:

Acc

ount

s as

Web

-ob

ject

s.

Tra

nsfe

rs a

s tr

ansa

ctio

n on

the

obje

cts

of s

eve

ral b

ank

s�

Pa

ralle

l wo

rkin

g o

n w

eb s

ites:

how

to m

ake

cons

iste

nt?

�S

tan

dar

d 2

-ph

ase

com

mit

pro

toco

l:

�be

gin

_ta,

rol

lbac

k, c

omm

it

�N

este

d t

rans

acti

on

s �

beg

in_s

ubtr

ansa

ctio

n, r

ollb

ack_

sub

tran

sact

ion,

co

mm

it_su

btra

nsac

tion

TDD

C18

Com

pone

nt-b

ased

sof

twar

e. ID

A, L

inkö

ping

s un

iver

site

t. S

lides

by

cour

tesy

of U

we

Ass

ma

nn, I

DA

/ T

U D

resd

en.

Rev

ised

by

C. K

essl

er, 2

005.

CO

RB

A F

acili

ties

(Sta

ndar

ds fo

r A

pplic

atio

n D

omai

ns)

����������!"����!�����������������

Page 20: Background literature on CORBAchrke55/courses/SWE/hand-corba.pdf · Callback reverses roles of client and server Client Server Client2 registerCallback() riseEvent() callCallback()

79

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Hor

izon

tal F

acili

ties

(app

licab

le in

man

y do

mai

ns)

�U

ser

inte

rfac

es

�P

rint

ing

, Scr

iptin

g

�C

ompo

und

docu

men

tse.

g. O

penD

oc

(sin

ce 1

996

acce

pted

as

stan

dar

d fo

rmat

. Sou

rce

code

has

bee

n re

leas

ed o

f IB

M. N

ow o

bsol

ete

.)

�In

form

atio

n m

anag

emen

t

�M

etad

ata

(m

eta

obj

ect f

acili

ty, M

OF

)

�T

ool i

nte

rch

ange

: a

text

- an

d s

tre

am-b

ase

d ex

chan

ge

form

at f

or U

ML

(XM

I)

�C

omm

on W

areh

ous

e M

odel

(C

WM

):

MO

F-b

ased

met

asch

ema

for

dat

abas

e a

pplic

atio

ns80

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Th

e D

om

ain

tech

nolo

gy

com

mitt

ee (

DT

C)

crea

tes

dom

ain

task

forc

es

DT

F f

or

an a

ppl

ica

tion

do

ma

in

�B

usi

nes

s o

bje

cts

�F

inan

ce/in

sura

nce

�C

urre

ncy

faci

lity

�E

lect

ron

ic c

om

mer

ce�

Man

ufa

ctu

rin

g�

Pro

duct

dat

a m

ana

gem

ent e

nabl

ers

(P

DM

)

�M

edic

ine

(hea

lth

care

Co

rbaM

ed)

�Le

xico

n Q

uery

Ser

vice

�P

erso

n Id

entif

ier

Ser

vice

PID

S

�T

elec

om

mu

nic

atio

ns

�A

udio

/vis

ual s

trea

m c

ontr

ol o

bjec

t�

Not

ifica

tion

ser

vice

�T

ran

spo

rtat

ion

Ver

tical

Fac

ilitie

s(D

omai

n-S

peci

fic F

acili

ties)

TD

DC

18 C

ompo

nent

-bas

ed

softw

are.

IDA

, Lin

köpi

ngs

univ

ersi

tet.

Slid

es

by c

ourt

esy

of U

we

Ass

man

n, ID

A /

TU

Dre

sden

. R

evis

ed b

y C

. Kes

sler

, 200

5.

CO

RB

A, W

eb a

nd J

ava

82

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Cor

ba a

nd th

e W

eb

�H

TM

L s

olv

es m

any

of

the

CO

RB

A p

rob

lem

s

�H

TT

P o

nly

fo

r d

ata

tran

spo

rt

�H

TT

P c

ann

ot c

all m

etho

ds, e

xcep

t by

CG

I-ga

tew

ay-f

unct

iona

lity

(CG

I = c

omm

on g

atew

ay in

terf

ace)

�B

ehin

d th

e C

GI-

inte

rfac

e is

a g

ener

al p

rogr

am

, com

mu

nica

ting

with

H

TT

P v

ia u

ntyp

ed e

nviro

nmen

t var

iabl

es

(H

AC

K!)

�H

TT

P s

erv

ers

are

sim

ple

OR

Bs,

pag

es a

re o

bjec

ts

�T

he U

RI/U

RL-

nam

e sc

hem

a ca

n be

inte

grat

ed in

to C

OR

BA

�IIO

P b

eco

mes

a s

tan

dard

inte

rnet

pro

toco

l�

Sta

ndar

d p

orts

, UR

L-m

appi

ngs

and

stan

dard

-pro

xies

for

firew

alls

w

ill b

e av

aila

ble

�C

OR

BA

is a

n e

xten

sio

n o

f H

TTP

of

dat

a to

co

de

Page 21: Background literature on CORBAchrke55/courses/SWE/hand-corba.pdf · Callback reverses roles of client and server Client Server Client2 registerCallback() riseEvent() callCallback()

83

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

CO

RB

A a

nd J

ava

�Ja

va is

an

idea

l par

tner

for

CO

RB

A :

�B

yte

cod

e is

mob

ile�

App

lets

: m

ove

calc

ula

tion

s to

clie

nts

(th

in/th

ick

clie

nt p

robl

em)

�ca

n be

use

d fo

r m

igra

tion

of o

bjec

ts, O

RB

s, a

nd a

gent

s �

Sin

ce 1

999

dire

ct C

OR

BA

sup

port

in J

DK

1.2

�ID

L-to

-Jav

a m

appi

ng, I

DL

com

pile

r, J

ava-

to-I

DL

com

pile

r,

nam

e se

rvic

e, O

RB

�C

orba

sup

port

s fo

r Ja

va a

dis

trib

uted

inte

rope

rab

le in

fras

truc

ture

�Ja

va im

itat

es f

un

ctio

nal

ity

of C

orb

a�

Bas

ic s

ervi

ces:

R

emot

e M

etho

d In

voca

tion

RM

I,

Java

Nat

ive

cod

e In

terf

ace

JNI

�S

ervi

ces:

ser

ializ

atio

n, e

vent

s�

App

lica

tion-

spec

ific

serv

ice

s (f

acili

ties)

: re

flect

ion,

pro

pert

ies

of J

avaB

ean

s84

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Cor

ba a

nd th

e W

eb (

Orb

lets

)

�O

RB

s ca

n be

writ

ten

as b

ytec

ode

appl

ets

if th

ey a

re w

ritte

n in

Jav

a (O

RB

let)

�C

oupl

ing

of H

TTP

and

IIO

P:

�D

ownl

oad

of a

n O

RB

let w

ith H

TT

P

�T

alk

to th

is O

RB

to g

et c

onta

ct to

ser

ver

�R

epla

ces

CG

I hac

ks!

�W

ill b

e re

aliz

ed in

web

ser

vice

s (s

ee la

ter)

.

Page 22: Background literature on CORBAchrke55/courses/SWE/hand-corba.pdf · Callback reverses roles of client and server Client Server Client2 registerCallback() riseEvent() callCallback()

87

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

CO

RB

A F

acili

ties

and

UM

L P

rofil

es

�S

ince

200

0, th

e O

MG

des

crib

es d

omai

n-sp

ecifi

c vo

cabu

larie

s w

ith

UM

L pr

ofile

s

�P

roba

bly,

all

CO

RB

A fa

cilit

ies

will

end

up

in U

ML

prof

iles

88

TD

DC

18 C

om

po

ne

nt-b

ase

d so

ftw

are

. ID

A,

Lin

köpi

ng

s u

niv

ers

itet.

S

lide

s b

y co

urt

esy

of U

we

As

sma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Wha

t Are

UM

L P

rofil

es?

�U

ML

dia

lect

of

an a

pp

licat

ion

-sp

ecif

ic d

om

ain

�W

ith n

ew s

tere

otyp

es a

nd ta

gged

val

ues

�C

orre

spon

ds

to a

n ex

tens

ion

of t

he U

ML

met

amod

el

�C

orr

espo

nd

s to

a d

om

ain

spec

ific

lan

gu

age

�W

ith o

wn

voca

bula

ry�

Eve

ry e

ntry

in m

etam

ode

l is

a te

rm

�C

orr

espo

nd

s to

an

on

tolo

gy in

UM

L�

If do

mai

n is

larg

e e

noug

h

89

TD

DC

18 C

om

po

ne

nt-

ba

sed

so

ftw

are

. ID

A,

Lin

köp

ing

s u

niv

ers

itet.

S

lide

s b

y c

ou

rte

sy o

f U

we

Ass

ma

nn,

IDA

/ T

U D

resd

en

. R

evi

sed

by

C.

Ke

ssle

r, 2

00

5.

Exa

mpl

e U

ML

Pro

files

�E

DO

C E

nte

rpri

se D

istr

ibu

ted

Ob

ject

s C

omp

uti

ng

�M

idd

lew

are

pro

file

s: C

orb

a, .N

ET

, EJB

�E

mb

edd

ed a

nd

rea

l tim

e sy

stem

s:

�S

PT

pro

file

on s

ched

ula

bilit

y, p

erfo

rman

ce, t

ime

�R

aven

scar

Pro

file

HID

OO

RS

Pro

file

on r

eal-t

ime

mo

delli

ng

�w

ww

.hid

oors

.org