14: Component Services Flashcards

1
Q

what is a naming systrem? why is it important?

A

● A naming service maps a (compound) name to
a component endpoint
● Human-readable, meaningful
● Change the bindings of names to components over
time, aids maintenance and scaling
● Name server is just a component, that can be
named itself to produce hierarchy
A naming service Maps names to endpoints, URLs,
object references or whatever the middleware uses internally
The only approach that supports the goals of
systems thinking is a naming service
● Maintainable: change the component names in one
place, change all clients uniformly
● Scalable: a single namer can support many clients,
so the number can grow slowly
● Extensible: if we can support the location of two
components, we can support lots

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

how is a naming service found?

A

We obviously can’t look-up the naming service
in the naming service

“Bootstrapping” the clients
● So we need some more primitive mechanism
● Typically a configuration file
● …but this is the only piece of magic in the system
● After this, every other component
can be found in a structured way
● A necessary evil

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

what is a Simple or flat namespace? and Hierarchical?

A

● Simple or flat: all names “at the same level”
● Hierarchical: nested names, or names that name
further namespaces
The Unix file system is an example of a
hierarchical namespace, with names seperated by “/”
No duplicate names within a namespace
● Namespaces are named objects in their own right

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

what are the limitations of naming? whats the alternative>

A
Naming works when you know whom you want
● i.e. Looking up your friend's number
● What if you only know what you
want?
● i.e. Looking up a plumber
● This is a fundamentally different problem
A set of properties that identify a service, rather than
a concrete identity for it
● May be multiple “correct” choices
trading service
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

what is a property?

A

A property is just a named value that relates to
some feature of a component
● Generally (but not necessarily) client-visible
Classic example is the properties that define a
printing component
● Colour depth (1-, 8, 24-bit)
● Resolution (30, 300 DPI)
● Paper types (photo, plain)
● Process (laser, thermal, movable type)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

how do we decide which component to use that satisfies the properties we’ve serach?

A

A partial specification of a component
● Required properties: component
must have in order to be acceptable
● Desired properties: a component
is more desirable if it has them
● May allow different ways to
specify the property constraints
● Several possible approaches to this
● Provide a list of all appropriate components to each
possible client in a configuration file
● Broadcast to all components asking whether they
meet the specification, choose from the set that say
“yes”
● Convert each request into a name and use a naming
service to find the best component
● Use a specialised service that’s designed to match
properties on components

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

what is a trading service?

A
A trading service maps property-based queries
to one or more components
Locate a component by its features
● Find “best plus alternatives”
● Can't necessarily guarantee the existence of a
component that satisfies any request
Bring together a set of components
● Allow clients to request a component
with a particular set of (required and
desired) properties
Benefits
● Single point of control and evolution
● Can make the query language richer more easily
● Collects together “equivalent” components for
substitution
less traversal of trees etc
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

A query may result in no satisfactory

components: what then?

A

Leave it to the designer: component-writers must
defend against a lack of appropriate components
● Return the best we have: might not meet the
requirements, but better than nothing
● Programming tactics: start strong and work back,
degrade functionality gracefully

How well did you know this?
1
Not at all
2
3
4
5
Perfectly