New York
University
Computer
Science Department
Courant
Institute of Mathematical Sciences
CORBAservices
and CORBAfacilities
Course Title: Application Servers Course Number: g22.3033-011
Instructor: Jean-Claude Franchitti Session: 5
CORBAservices are widely available object services that
virtually all CORBA objects will likely use. Formerly such services were known
as Common Object Services and were initially specified in the Common Object
Services Specification (or COSS as is still in frequent use). Those services
that are currently in the CORBAservices list include:
·
Event
Notification
·
Persistence
·
Naming
·
Concurrency
Control
·
Relationships
·
Transactions
·
Collections
·
Externalization
·
Security
·
Query
Service
·
Licensing
·
Trading
·
Change
Management
·
Properties
Event Notification Service:
Event Channel Objects:
·
Supports Consumers and Suppliers
of Events
·
Suppliers and Consumers may Push
or Pull events
·
Supports "Typed Events"
·
Non-Typed Events use Any
·
Typed Events are described in IDL
Persistence Service:
Multiple Persistence Protocols:
Persistent Object Manager
(POM)
Assigns persistent objects a PID
POM Identity--state maps back to underlying store (PDS)
Protocol Tag--naming the underlying store (PDS)
Three protocol forms are currently specified:
Direct Access PSM (DA)
·
IDL-like state definition
language--DDL
·
Sun and HP (JOSS)
·
ODMG-93
·
OA specific consortium of PDS’s
·
C++ direct to OODBMS mapping
·
Sun, ODI, O2, Versant, Poet, ….
Dynamic Data Objects (DDO)
·
Datastore neutral
·
Structure containing object state
·
IBM, ???
Lifecycles Service:
Lifecycle Object
Copying (deep and shallow)
Moving
Removing
Factory-Finder Object (finds a)
Generic Factory
Creation
Naming Service:
Federated (hierarchic) naming services
Naming Context Objects
·
Bind
·
Unbind
·
Rebind
·
Destroy
·
Bind context
·
Bind new context
·
List
Name Binding Iterator
Object
·
Next one
·
Next n
·
Destroy
Designed to work with:
·
NIS+
·
ISO X.500
·
DCE CDS
Concurrency Control Service:
Multiple Reader / Single Writer
Read
Write
Upgrade (upgrade from Read
to Write without releasing lock)
Intended Read
Hierarchic Granularity Lock Management
Relationships service:
Relationships support
Type
Roles
Degree (required
relations)
Cardinality (maximum
relations)
Semantics (operations and
attributes)
Navigation
Transaction service:
Transaction services
A variety of flat or
nested transactions
One or Two phase Commit
Recoverable and
non-recoverable transaction objects
Transaction Client--requests a transaction
Transaction Server--relays a transaction
Recoverable Server--commits a transaction
Transaction Context--identifies the associated
transaction (more than one thread may be involved)
Resources--Transaction
Service invokes the protocol on the registered resource (prepare, rollback,
commit, commit one phase, forget.
Collection service:
Collection Management Services for such as:
Queues
Lists (or Arrays)
Trees (Graphs?)
Stacks
Sets (and / or Bags)
Externalization service:
Related to Stringifying Objrefs but would stream
Object State.
Works on collections of objects.
Externalize (export
stream)
Internalize (import
stream)
Time service:
Time: Primarily for synchronizing clocks across
multiple machines.
Some security ramifications for Trusted Time.
Query service:
Provides query services on Collections.
Currently up for revision so that it works with the
Persistent Object Manager.
Property service:
A property is a:
·
PropertyName
·
PropertyValue
·
A PropertyValue is an Any
Properties may have mutually exclusive modes:
·
normal--no restriction: mutable
and deletable
·
read-only--deletable but
immutable
·
fixed normal--mutable and not
deletable
·
fixed read-only--immutable and
not deletable
Properties includes complete management:
·
iterators
·
factories
·
definitions (PropertyDefs)
·
factories for definitions
·
etc.
CORBAfacilities are commonly occurring object frameworks
that many CORBA applications will use. Formerly such Facilities were known as
Common Facilities, a term still in fairly wide use. Some facilities that have
wide use are known as Horizontal Facilities. Others are expected to see wide
use by market, or industry, and these are referred to as Vertical Facilities.
Those facilities that are currently in the CORBAfacilities domain include:
User Interface
Information Management
Systems Management
Task Management
Vertical Market Facilities
support
various vertical market segments:
Healthcare
Retailing CAD etc.
User Interface Horizontal
Facility:
The User Interface CORBAfacilities appear as five
separate frameworks:
Rendering Management
Compound Presentation
Management
User Support Facilities
(Help...)
Desktop Management
Scripting
These five
frameworks are further categorized into three primary areas:
User Interface
·
Interface Style
·
Interface Enablers
·
rendering management
·
compound presentation facility
·
user support facility
·
Work Management System
·
define user's working environment
and desktop
·
scripting (task and process
automation)
Information Management
Horizontal Facility:
The Information Management
facilities appear as seven different frameworks:
Information
Modeling (and schemas)
Information
Storage and Retrieval
Compound
Interchange (documents)
Information
Exchange
Data
Encoding and Representation
Time
Operations
These facilities may be
viewed as belonging to categories in a layered architecture, with Information
Modeling as its higher layer and Data Encoding and Representation as its lowest
layer.
Time Operations are
orthogonal to the facilities in the diagram.
Information Modeling defines rules for storing,
accessing, and maintaining information.
Information
Modeling should describe:
object interfaces
relationships between
objects
data types and atomic
types
Information Modeling should address:
Information
structuring
Information
access
Information
integrity
Information
Storage and Retrieval is a "higher level" facility for storage and
retrieval for distributed applications. It would include storage and retrieval
for such things as documents, text, graphics and other media. It should also
provide for such things as:
initialization
service
search
service
retrieve
service
access
control service
termination
service
Information
Interchange assists the interchange of information between users and software
components. It consists of several facilities including:
Compound
interchange facility
Data
interchange facility
Information
exchange facility
The Compound
Interchange facility supports such things as:
binding
of data objects to a presentation manager
annotating
data objects
converting
data objects to different types
on-line
and off-line data object exchange
linking
storage facility
reference
storage format
The Data Interchange
supports services such as:
Enabling
objects to inter-operate through exchange of data. It may entail:
provisions
for multiple representation
methods
for identifying allowable representations
publication/registration
(publish/subscribe)
support
for formatted data conversions
Data Encoding and
Representation sets standards to support practical interworking and interchange
of information. Information shared via:
shared
storage media
networking
protocols
direct programming interfaces
The Time Operations
Facility provides a standard way to represent a Date/Time Group (DTG) as an
instance of a timestamp, a duration of time, and a specific window of time
between two timestamps.
Systems Management
Horizontal Facility:
The Systems Management
facilities appear in three frameworks:
Management
Tools
Collection
Management
Control
The System Management
Facilities provides a set of system utility interfaces (system administration
functions).
The System Management Facility presupposes four classes (or categories)
of users, which includes:
computer
system administrators
management
application
developers
system
service providers computer system resource planners
Candidates for
potential common interfaces include:
Quality
of service management
Instrumentation
Data
collection
Security
Collection
management
Instance
management
Scheduling
management
Customization
Event
management
Task Management Horizontal
Facility:
The Task Management
facilities consist of four frameworks:
Workflow
Rule Management
Automation
Task Management is specified to provide an
infrastructure for applications and desktops to model and support user tasks.
It appears to include many of the currently
"hot topics" in systems development, including:
Workflows facility
Agent facility
Rule Management facility
Automation facility
Vertical Market Facilities:
Various groups are working on Vertical Market
Facilities. The list below is illustrative of some of the current groups:
Imagery
Internet (a.k.a.
Information Superhighway)
Computer Integrated
Manufacturing
Distributed Simulation
Oil and Gas Industry Exploitation
[sic] and Production
Finance and Accounting
Application Development
Mapping
Telecommunications
Health Care Providers