TMF053 Main - V5 7
TMF053 Main - V5 7
Neutral Architecture
TMF053
Notice
Any use of this document by the recipient, other than as set forth
specifically herein, is at its own risk, and under no circumstances will
TM Forum be liable for direct or indirect damages or any costs or
losses resulting from the use of this document by the recipient.
Table of Contents
Notice ..................................................................................................................................................................2
Table of Contents ..............................................................................................................................................3
List of Figures ....................................................................................................................................................5
List of Tables......................................................................................................................................................5
1. Introduction ....................................................................................................................................................6
1.1. Background......................................................................................................................................6
1.2. Goals and Objectives ......................................................................................................................7
1.3. The Road to NGOSS ......................................................................................................................7
1.4. Program Implementation.................................................................................................................9
1.5. Phases of Delivery and Roadmap..................................................................................................9
1.6. Stakeholders in this Document.......................................................................................................9
1.6.1. Document Use by a Service Provider ..................................................................................10
1.6.2. Document Use by a Systems Integrator ..............................................................................10
1.7. Document Use by an Independent Software Vendor .................................................................11
1.7.1. Document Use by a Network Equipment Provider..............................................................11
1.8. Organization of this Document .....................................................................................................12
2. Architectural Requirements.......................................................................................................................14
2.1. Related Work.................................................................................................................................14
2.1.1. TMF Views.............................................................................................................................14
2.1.2. RM-ODP Views .....................................................................................................................15
2.1.3. TMF Views and RM-ODP Viewpoints..................................................................................16
2.2. Distributed Interface Oriented Architecture..................................................................................17
2.2.1. NGOSS DIOA and Architectural Approaches .....................................................................19
2.2.2. Components ..........................................................................................................................21
2.3. NGOSS Architecture Requirements ............................................................................................22
2.3.1. Interface Definition.................................................................................................................23
2.3.2. Technology-Neutral Component Model ...............................................................................24
2.3.3. Separation of Business Process and Policy from Component Implementation ................26
2.3.4. Security-Enabled Architecture ..............................................................................................27
2.3.5. Policy-Enabled Architecture..................................................................................................27
2.3.6. Models, Shared Information and Data .................................................................................28
2.3.7. Distribution Transparency .....................................................................................................30
2.3.8. Compliance and Certification................................................................................................31
2.4. Separation of Technology-Neutral and Technology-Specific Architectures...............................32
3. Architectural Concepts...............................................................................................................................33
3.1. General Concepts .........................................................................................................................34
3.2. TNA Computational Aspect ..........................................................................................................35
3.2.1. Contract..................................................................................................................................36
3.2.2. Component ............................................................................................................................37
3.2.3. Service ...................................................................................................................................38
3.2.4. Resource................................................................................................................................38
3.2.5. Policy......................................................................................................................................39
3.2.6. Operation ...............................................................................................................................39
3.3. TNA Engineering Aspects.............................................................................................................39
3.3.1. Engineering Aspects of an NGOSS Component.................................................................40
3.3.2. Object Communication and Binding.....................................................................................41
4. NGOSS Technology Neutral Architecture Specification.......................................................................42
4.1. Overview ........................................................................................................................................42
List of Figures
Figure 1: NGOSS Views 14
Figure 2: Example Hierarchy of Runtime Entities conforming to a DIOA 19
Figure 3: Federation of heterogeneous Architectures for an End-to-end SOA 21
Figure 4: Contracts and Components 36
Figure 5: Engineering Representation of an NGOSS Component 40
Figure 6: Engineering Representation of an NGOSS Component 40
Figure 7: Object Communication and Binding 41
Figure 8: NGOSS Technology Neutral Architecture Detailed View 42
Figure 9: NGOSS Technology Neutral Architecture High Level View 43
Figure 10: NGOSS Application 47
Figure 11: NGOSS Component DIOA Perspective 52
Figure 12: NGOSS Component SOA Perspective 52
Figure 13: NGOSS Service 53
Figure 14: NGOSS Framework Services 54
Figure 15: NGOSS Technology Neutral Architecture Detailed View 57
Figure 16: Interoperation of two NGOSS Domains 58
Figure 17: Interoperation of an NGOSS Domain with a Legacy or non-NGOSS Domain58
Figure 18: High Level Interaction Diagram for NGOSS Communications 59
Figure 19: Service Platforms – Distribution of Intelligence [Campolargo99] 65
Figure 20: Use, Operation, Control, Administration, and Maintenance 66
Figure 21: Areas of Concern and Activities of Distributed Systems 67
Figure 22: Conceptual Framework - Conceptual Model 71
Figure 23: Components of a DIOA 74
Figure 24: Computational and Engineering Objects 76
Figure 25: Distributed Directory and Referrals [ITU-X501] 83
List of Tables
Table 1: ODP as Reference Model for NGOSS Architecture 17
Table 2: Distributed Architectural Styles [Thelin03] 20
Table 3: NGOSS Essential Concepts 35
1. Introduction
1.1. Background
With the convergence of data communications, telecommunications, and other forms
of communication, the complexity, heterogeneity, and size of the networks supporting
the emerging information and communications industry is rapidly increasing. The
proliferation of multiple types of smart devices, each with many ways to connect to
different networks, complicates not just end-to-end service delivery, but also billing,
provisioning, and other aspects of creating the service. Existing OSS (Operation
Support System) solutions cannot easily manage information and communication
networks today; future networks will exacerbate this situation. Future OSSs must take
into account not just the growth of the networks, but manage the complexity of
applications in different context that are being run on multiple networks that appear as
a single converged network. Particular focus must be paid to the increasing number
of users of the network, as well as the sophistication of services run on the network. A
new generation of OSS is needed to manage the new generation of networks and
services.
This calls for a re-thinking on the part of information and communications service
providers on how they manage their business. It also calls for software developers to
embrace a new way of developing management software. This is the impetus for the
TM Forum's New Generation Operations Systems and Software (NGOSS) initiative.
The NGOSS initiative aims to deliver a framework for rapid and flexible integration of
Operation and Business Support Systems in telecommunications and throughout the
wider communications industry. Key areas of the NGOSS initiative are:
¾Definition of the Next Generation Business Process Framework
¾Definition of a standard set of Business Processes for the Information and
Communications Services Industry
¾Definition of the Systems Framework upon which these business processes
may be built
¾Practical implementations and live demonstrations of these solutions
¾Development of an industry compliance program to certify solutions and
products for compliance to the NGOSS Specifications.
Stakeholders will make different implementation decisions about the use of specific
information technologies in the management products they build or procure.
Therefore, this document describes the principles and system services that should be
adopted in these new systems in a technology neutral form.
This document enables the mapping of specific information technologies onto the
NGOSS technology neutral architecture. The specification of a technology neutral
architecture enables different technologies to be used to build coordinated
management systems that control one or more OSS components. It also enables the
fast adoption of new information technologies as they emerge.
1
Contract as defined in [SZY99]: Specification attached to an interface that mutually binds the clients and providers
(implementers) of that interface. Contracts can cover functional and non-functional aspects. Functional aspects include the
syntax and semantics of the interface. Non-functional aspects include quality –of-service guarantees.
Information Building Blocks. The ACT project has completed its work, having
delivered TM Forum document GB909 Part 1, which defines a set of generic
requirements for information building blocks. Its findings are being
incorporated into the NGOSS architecture framework as appropriate. In
particular, the architectural requirements for building blocks (which
correspond to NGOSS Components) and contracts as well as requirements
specific to Process Automation and Enterprise Information building blocks are
being incorporated.
¾The Application, Specialization and Integration of System Technologies
(ASIST) team has been identifying candidate distributed systems
technologies to support the architectural concepts presented by the ACT
team in GB909. The ASIST work has been incorporated into the technology-
specific work of NGOSS (by adopting ASIST Project's XML Application Note
v2.0). [TMF-TMF057]
The following TM Forum projects are currently active, and are contributing to the
specification of the technology-neutral architecture.
¾The enhanced Telecom Operations Map™ [TMF-GB921] and addendum
present a high-level overview of Telecommunications OSS business
processes. This is described in TM Forum document [TMF-GB921], and
provides the analytical basis for business process integration across the OSS
space. The eTOM builds on, and supersedes, the popular TM Forum
Telecom Operations Map (TOM) document (GB910).
¾The Shared Information/Data (SID) model [TMF-GB922] can be viewed as a
companion model to the eTOM, in that it provides an object-oriented
information/data reference model and a common information/data vocabulary
from a business entity perspective. Teamed with the eTOM, the SID model
provides enterprises with not only a process view of their business but also an
entity view. That is to say, the SID provides the definition of the ‘things’ that
are to be affected by the business processes defined in the eTOM. The SID
and eTOM in combination offer a way to explain ‘how’ things are intended to
fit together to meet a given business need.
¾The SID team also is chartered to work on a systems view. This would extend
the current business definitions of the SID to include system and architectural
aspects of a solution. This view will form the basis for technology-specific
implementations. Viewed in this way, the SID provides an extensible
information model for representing the Business and System Views of an
NGOSS system, and provides a series of models from which application-
specific data models can be derived. Currently GB922 and its addendum
present the Business View model, while the System View model is defined in
GB926 at its addendum
¾The Catalyst programs produce working demonstrations of technology
integration using the NGOSS specification according to TM Forum principles.
These projects, based on leading OSS products, validate and demonstrate
existing TM Forum work, as well as identify areas of particular difficulty for
ongoing integration work. Previous Catalyst projects have developed practical
solutions to common OSS integration problems, most notably in the areas of
business process abstraction, the use of some common information models,
stakeholders presented below are not intended to be all inclusive, and it is accepted
that other uses for this document will be found.
These usage scenarios are based on the individual stakeholders who may use
various parts of the NGOSS specification(s) for their own goals. These stakeholders
are as follows:
¾Service Providers (SP)
¾System Integrators (SI)
¾Independent Software Vendors (ISV)
¾Network Equipment Providers (NEP)
Note: a detailed analysis of the business case benefits for and the requirements of
each of the individual stakeholders shown above are contained in the following TM
Forum documents
¾TMF051 (Business Case) [TMF-TMF051]
¾TMF052 (Requirements) [TMF-TMF052]
A further discussion of the roles that workers within each of the NGOSS Stakeholders
may perform can be found in section 3.0 of this document. Workers within these roles
will find a number of different uses for this document, depending on the internal
organization and processes of a stakeholder.
The NGOSS architecture will provide service providers with the basis for a flexible
OSS solution that will be able to rapidly evolve to meet the future requirements and
be able to manage multi-vendor, multi-technology networks and related services. The
NGOSS architecture will enable service providers to choose the 'best fit' management
components for their business and enable management capability to grow along with
the business, while protecting its OSS investment.
With the emphasis moving towards managing the timeliness and quality of the
services which the network delivers rather than blindly managing the elements of the
network, the need to be able to aggregate information from across all of the
management functions will become paramount. The NGOSS architecture will enable
easier communication across multiple management components, thus enabling the
easier sharing of data from the multiple sources. This document will provide the
Service Provider with a fundamental understanding of the architecture upon which
their OSS needs to be built. By understanding that architecture, the Service Provider
can take full advantage of all the features and services that NGOSS based systems
can offer, ultimately reducing operational expenditure to run its business and capital
expenditure to enhance the offering to its customers.
This architecture document is of key interest to system integrators that want to build a
new generation of operational and business systems. Integrating applications from
Additionally, the basic concepts of the NGOSS architecture will mean a change in the
methodology used for integration. Being able to assume that the management
components will share common data formats and framework services as defined in
this architecture means that the system integrator can concentrate on the flow of the
business process and the policies affecting the flow. This flow enables a better
utilization of the network to meet the business objectives of the organization using it.
This document will provide system integrators with information needed to plan for the
skills and knowledge needed to work with both ISVs and NEPs delivering NGOSS
based solutions.
In the case of an ISV focused on the basic platform or middleware services (termed
Framework Services in this document) the NGOSS Architecture document and the
NGOSS Requirements document will provide the information that is typically
developed over months, if not years. In the case of an ISV working in the
management applications market, this document will provide the key to
understanding and leveraging the systems services available to support them.
For the network equipment provider this document will provide insight and
understanding of the management environment into which their equipment will be
deployed. Having that insight will enable them to structure and build their own
equipment management systems in a way that more easily integrates with the other
stakeholders in the value chain. As ease of integration of operations management
systems is increasingly a significant network equipment procurement factor, meeting
the industry need in this area will become critical to equipment sales success.
It will also enable more ambitious NEPs to change the architecture of their network
elements to enable them to be more easily managed. Finally, it provides insight into
how a next generation network element can better provide next generation services2.
Additional information will be covered, relative to this document, through the creation
and issuance of addenda. The current addenda are:
2
This document defines the environment in which these next generation network elements will be deployed, and therefore
indirectly serves as requirements for the design of next generation network elements.
TMF053d Metamodel
TMF053u Manageability of NGOS Software Artifacts and Use Cases (to be published)
2. Architectural Requirements
2.1. Related Work
Business System
Logical
View
Business Capabilities, System Capabilities,
Constraints & Context Constraints & Context
Corporate NGOSS
Knowledge Shared Knowledge
Base Base
Deployment Implementation
Physical
View
Implementation Capabilities,
Deployment Capabilities,
Constraints & Context
Constraints & Context
The artifacts retrieved from the Knowledge Base support building a model (problem,
constraints and answer) of the proposed solution. The model is used as the basis for
reconciling implementation and realization decisions once construction on the actual
distributed system solution is underway.
The types of artifacts available for use in constructing the solution model are varied,
but fall into four general categories: process, information, operational mechanisms3
and infrastructure:
¾Process Context – business process flows, system process plans and
process realization scripts
¾Information Context – business entities, shared data models, and realization
data models
¾Operational Context – contracts, policies, code, testing systems
¾Infrastructure – technology neutral and technology specific architectural
frameworks
The process and information contexts provide a way to focus on a particular
dimension of the solution space. As can be seen from the artifacts listed above, the
process context emphasizes the high-level behavioral aspects of the solution space
while the information context describes specific details regarding the factual aspects
(i.e., the static data and dynamic aspects, as well as behavior and interaction
between, components of the solution space.
Thus, the purpose of this NGOSS Lifecycle view is to relate the business, system,
implementation, and runtime views of systems and Components to each other. The
reader is encouraged to review [TMF-GB927] for a detailed introduction of the
NGOSS lifecycle, the NGOSS views, and the NGOSS methodology.
The Reference Model for Open Distributed Processing (RM-ODP) [ITU-T X901]
consists of four parts: object modeling, viewpoints, distribution transparencies, and
framework. Together they form an architecture integrating support for distribution but
also for interworking (between ODP systems), interoperability, and portability
(independence from hardware and software platforms). Note that RM-ODP is used as
the basis for the NGOSS TNA reference model.
The major part of the reference model is the definition of five viewpoints enterprise,
information, computational, engineering and technology. Each of them makes
consideration of an ODP system from a different perspective. A viewpoint serves as
an abstraction to a particular set of concerns. The viewpoints are independent of
each other. However, key elements of one viewpoint may be related to items of other
viewpoints. [ITU-X901]
3
Noting that a Contract can be realized as software
The enterprise viewpoint is concerned with the purpose, scope, and policies
governing the activities within an organization. The information viewpoint deals with
the information handled by the system, as well as the constraints on its use, and
interpretation of that information. The computational viewpoint focuses on the
functional decomposition of the system into a set of objects. The engineering
viewpoint identifies the infrastructure required to support system distribution. The
technology viewpoint covers the choice of technology to support system distribution.
The NGOSS architecture, as one part of NGOSS (besides eTOM, SID, and
Compliance), adopts concepts from RM-ODP for architectural modeling. In other
words, NGOSS is based on RM-ODP but defines a number of enhancements
(GB927) and differences (SID, policy, and contracts). The main NGOSS artifacts are
Use Cases, Process Descriptions, Policies, shared information, and Contracts. All of
these artifacts appear at all views of the NGOSS lifecycle; hence, a simple one-to-
one mapping from the ODP viewpoints towards the NGOSS views is not possible.
Effectively, any one NGOSS view is concerned with aspects of two or more of the
ODP viewpoints.
Table 1 provides an overview on how and where ODP concepts are used within the
NGOSS architecture. The ODP enterprise viewpoint is reflected by the NGOSS
business view. The ODP information viewpoint is represented by business and
information modeling of NGOSS artifacts, which constrain the NGOSS architecture.
The ODP computational and engineering viewpoint can be used as reference
methodology for computational and engineering aspects of the NGGOSS
architecture, mainly found in the system view. NGOSS implementation and
deployment view focus on aspects similar to ODP engineering and technology
viewpoint, providing mappings of computational concepts towards concrete
implementation and deployment environments.
ODP 1) 2)
Enterprise Business Contract SID Policies SID Policies Business Contract
Viewpoint modeling, e.g. Assurance, e.g.
eTOM Business SLA monitoring or
Processes; SID Policy Monitoring,
Policies; etc.; associated
associated SID other SID entities
entities
ODP 3) 4) 5) 6)
Information Business Contract System Contract Implementation Deployment
Viewpoint modeling; SID modeling; SID Contract; definition Contract; SID
policies; associated policies; associated of information model policies; associated
SID entities SID entities to data model SID entities
mapping; SID
policies; associated
SID entities
ODP 7)
Computational definition of SID TNA-TSA mapping TNA-TSA mapping
Viewpoint entities, TNA of architectural of architectural
computational constructs constructs
aspects
ODP 8) 9) 10)
Engineering TNA engineering implementation deployment of
Viewpoint aspects; policies; environment; Contract instances;
SID entities policies; SID entities policies; SID
entities
A DIOA is defined as follows: a provider entity offers functionality across its interface that involves
coordinated behavior from both the consumer and the provider entities. The set of consumer and
provider behavior, invoked using an interface, is an architectural construct that can be distributed.
The basis should be an abstract object model. A concrete object model is derived
from the abstract object model. The concrete object model defines the basic
specification elements of an application.
A language is a formal notation that is used to express the object model. This
language might combine characteristics from middleware interface definition
languages, languages for the definition of managed objects, and languages used to
specify data that is exchanged between applications.
(Business) Application objects are specified in the language. A DIOA should define a
model that is relevant for all applications and probably independent of domain specific
specifications. The basic part of the model is the identification of a reasonable set of
qualifiers providing meta information about application objects.
Framework services realize the naming of objects; enable the mapping of language
specified information to i.e. directories, and the usage of type and data repositories for
applications and DIOA components. All application services can be accessed in a
unified way similar to the access to other applications. The API implements standard
jobs like lookup for available services and registration.
Figure 2 shows the topology of interfaces that is based on the fact that an entity can
itself offer one or more interfaces for other entities to bind to and exploit. This
hierarchical nesting can go ad infinitum. The figure shows a two-level example of
such a structure. Each circle represents an entity that supports one or more interface.
The interfaces are labeled 1 through 6. the client at Level 2 (A) uses interface 6,
which is provided by the client at Level 1 (B), which uses interfaces 1 through 5
provided by C, D, and E.
Level 2 A
Level 1 B
3
1 2 4 5
C D E
A DIOA entity that provides an interface must be programmable using some type of
programming language. Entities that support interfaces (such as C, D, and E) must
also be programmable using some type of programming language. In order for the
hierarchical structure shown in the figure to be achieved, entities like B must be
programmable in a language that not only permits binding to interfaces 1 through 5,
but must also permit the advertisement of interface 6 for consumption by other
entities. This advertisement is commonly described as a service in the SOA style,
even though it is still “just” an interface.
Basically, there are three architectural styles [Thelin03], which DIOA supports:
¾Object-oriented
¾Resource-oriented
¾Service-oriented
The object-oriented style (e.g. CORBA) involves communication between particular
object instances, which have state, behavior, and identity. Communication is implicitly
stateful. Using a resource-oriented style (e.g. REST4) involves the retrieval of
particular resource instances. Resources have a state and identity. The service-
oriented style (e.g. SOA) involves communication with a specific application service
by sending all messages/requests for that service to a specific endpoint.
4
REST - REpresentational State Transfer
Addressing / Request Routed to unique object Unique address per One endpoint address
Routing instance resource per service
Application Interface Specific to this object / class Generic to the request Specific to this service –
– description is middleware mechanism (e.g. HTTP description is protocol
specific (e.g. IDL) verbs) specific (e.g. WSDL)
Payload / data format Yes – usually middleware No – nothing directly Yes – part of service
description specific (e.g. IDL) linked to address / URL description (e.g. XML
Schema in WSDL)
Understanding the Service Oriented Architectures (SOA). and how to differentiate this
from the DIOA is essential to ICT System development and NGN-Management
specifically. Gartner, which provided a first definition for SOA in [Gartner SPA-401-
068], states that “A service-oriented architecture is a style of application partitioning
and targeting (placement). It assumes multiple software tiers and usually has thin
clients and fat servers (i.e., little or no business logic on the client), but it is more than
that. It organizes software functions into modules in a way that maximizes sharing
application code and data.” [Gartner AV-19-6751] follows on this and says: “SOA
would be better-named interface-oriented architecture.”
The fundamental entity in any DIOA is an interface. Any services of the SOA style are
interfaces of the DIOA. A running system constructed using a DIOA consists of a
number of runtime entities that together offer the needed functionality as a coherent
set of interfaces (which in fact comes close to the original SOA definition from Gartner
stated above). Clients wishing to make use of this functionality bind to the required
interfaces and invoke operations over those bindings.
An SOA is a service specialization of a DIOA. All SOAs are by default DIOAs, but not
all DIOAs are SOAs. A DIOA allows architectural federation and service re-use
throughout the entire enterprise, irrespective of the technology basis for distributed
systems. Re-using the NGOSS DIOA specifications (defined in this document and its
annexes, along with [TMF-GB922] and [TMF-GB926]) allows more specific
architectural structure to be applied to support an SOA reference model, such as
[OASIS RM]5. The NGOSS architecture provides the architectural concepts that can
be used to realize an SOA. Here, key features of an SOA are:
¾The fundamental entity in any SOA is still the interface, but published and
subscribed as a service (regardless of the employed repository model and
component implementation)
¾All SOA services are DIOA interfaces, but not all DIOA interfaces are SOA
services;
¾The DIOA is the common enabler for federation and distribution.
WS SOA
SOA End Point
WS SOA
SOA
End Point
Sub-DIOA
Non-DIOA
Distributed Software
Architecture Bus, CCV, messaging or fabric
Federation Service or Interface
2.2.2. Components
The pattern of interaction among different roles, and the reciprocal obligations of
components that fill these roles, must be specified in some way. A role is an expected
behavior pattern of an actor in an interaction. Roles are quantified in many ways (for
instance, by constraints, associations, and state transition diagrams).
A component model specifies the design rules that must be obeyed by components.
These design rules improve composability by removing a variety of sources of
interface mismatch. The rules ensure that system-wide definitions of attributes and
behavior are met, and that components may be easily deployed into development
and runtime environments. These rules cover also how components can be
aggregated and/or composed into larger assemblies, and define the external visibility
of the component interfaces within an assembly. In order to enable the maximum
scope for use, the component model should enable the component composer to tune
the visibility of such (internal) interfaces.
6
An operation invocation can return one of a set of results (each potential result is called a termination).
no value add in and of themselves, while business aware services can not
interoperate without the presence of framework services.
Both business aware services and framework services are contractually specified and
deployed via components. The differentiation is in the use of the services, not how the
services are integrated into the network.
Note that in the monolithic applications that make up the vast majority of
contemporary systems, framework services and business aware services exist; they
are simply so intertwined that external identification and separation is not an easy
task. Furthermore, in said contemporary systems, the framework services are often
proprietary to the applications of each ISV that has applications deployed in the
management system. This fact dramatically complicates the integration of the various
applications. Often the solution is to add another set of framework services into the
system and use those services to integrate the disparate applications, which simply
put, adds nothing but cost and complexity into the system.
Using the work of [SZY99] and [SEI00], the NGOSS Technology Neutral Architecture
defines a component as follows.
¾A contractually specified,
¾Unit of independent deployment,
¾Subject to 3rd party composition,
¾And conformant to a component model
An NGOSS Component is one of the artifacts of the software development process.
In order to be useful, the services provided by a component must be clearly specified.
7
Throughout the remainder of the document, the term component (with lower-case ‘c’) is used for components consistent
with the SEI definition, while the term Component (with upper-case ‘C’) is used for an NGOSS technology-neutral
Component.
8
The issue of conformance to a component model is seen as being a technology-specific issue and will not be discussed
further within this document.
For instance, in a Java™ based system, the component is embodied by the .JAR9
file. The .JAR file contains other files (e.g., .class files) that are the compiled (i.e.,
Java™ virtual machine byte-code) binary implementation of the technology-specific
components, each of which contain contractually specified functionality. The .JAR file
may be installed into a system and used, provided that any external contextual
dependencies are met. The Java™ 2 Standard Edition platform does not, in and of
itself, provide support for the specification of these external contextual dependencies,
other than as textual documentation. Installation-time support for the specification of
external context dependencies is provided through the chosen Java™ 2 Component
Model. One implementation of this is Enterprise Java™ Beans (EJB), specifically via
the EJB deployment descriptor.
9
Java™ Archive File
This supports best value for money in procurement of components and enables
financial considerations to be taken into account for make / buy decisions. It also
helps prevent vendor lockout as well as lock in.
2. Re-use of components.
Since new service products will be delivered through linking together of components,
this more flexible environment will allow a much more diverse range of service
products to be provided to customers. In addition, the NGOSS approach shall enable
them to be provided in a much faster time.
that provide the necessary services; lower-level business process models used in this
way must be able to provide one or more Contract instances to which the higher-level
business process model can bind. That means that multi-level process management
can be supported.
The customers of telephony services (voice and data) are demanding innovative
solutions that can be deployed quickly, are highly configurable and provide
heterogeneous support for multiple vendors and multiple technologies. An NGOSS
system is required to manage these customer demands and the new generation of
networks. The TMF has taken up the challenge to design an infrastructure that will
meet the industry need. As part of that initiative, it is important that the solutions
provide a security infrastructure to meet the demands for security.
The heterogeneous nature of the current generation of telephony services means that
customers will have their service provided by a mix of companies and departments. In
this environment companies must automate the processes that provide those
services. Inadequate security in this environment could quickly escalate into major
revenue loss as vulnerabilities are exploited by automatic systems.
The NGOSS system architecture mandates the use of policy management. The term
policy-enabled is defined as a system that operates using policies to make present
and future decisions. In other words, if a system is policy-enabled, then the operation
and management of that system is dependent on the execution of policies. Stated
more generally, policies provide rules that govern behavior within a system. Policy
A Policy Service has three main uses. First, it may be called upon to validate
something using a specified policy (such as a user’s access privileges, as specified
by a security policy). Second, it may be used to determine what policies apply to a
given set of conditions. Finally, it may be called upon to determine if there is a conflict
between two or more policies that are to be executed.
The policy-enabled requirement mandates that the basic architecture indicate those
points in the execution stream at which policy information will be consulted if policy is
enabled in a particular OSS, and how those policies will be executed.
Models
The term “model” here refers to the external specification of the characteristics and
behavior of managed entities. Two types of models must be specified in an NGOSS
solution:
¾An information model that is an abstraction and representation of the entities
in a managed environment. This includes definition of their attributes,
operations and relationships. It is independent of any specific type of
repository, software usage, or access protocol.
¾A data model that is a concrete implementation of an information model in
terms appropriate to a specific type of repository that uses a specific access
protocol or protocols. It includes data structures, operations, and rules that
define how the data is stored, accessed and manipulated.
Models can take many forms, including the specification of class diagrams, metadata,
business objects, contracts, processes, deployment information, and policy
information. It is important to note that models are used to provide an extensible
system, rather than hard-coding information explicitly into a set of software modules.
The NGOSS architecture must be built around the principle of externalizing this
information, and expressing it in a technology-neutral fashion ([MDA] provides a
reference to Model Driven Architectures). Managed information defined in these
UML will be used to model shared information and data. There are many different
ways to express behavior. However, since the SID is based on UML, OCL (the
Object Constraint Language) will be used for expressing computable expressions that
affect managed entities. Implementing the OCL expressions is outside the scope of
this document.
Information/Data Stewardship
Invocation Mechanism
There are several steps associated with invoking an operation on a service instance:
location of the instance providing the service, proper usage of the communication
mechanism, results handling, etc. Security and other policies must be applied at each
step in the process. For this reason, Invocation mechanisms must be defined as a
convenient way to perform all of these steps and ensure the integrity of the operation
in the context of the overall system and the client invoking the service. These
mechanisms are usually technology specific and therefore not covered in this
document.
A deployment of an NGOSS system need have only those components that contain
implementations of the Services that are required to meet the needs of the system
operator. Such a deployment represents a complete deployment of an NGOSS
system. However, it is important to note that what appears to be a complete
deployment for one system operator may in fact be a partial deployment (relative to
needed Services) for a second system operator.
Hence, the TNA must be mapped to one or more appropriate TSAs.10 These
technology-specific mappings will leverage industry standard frameworks (e.g.,
frameworks that support distributed computing, component-based architectures,
Service Oriented Architecture, etc.) as much as possible. Hence, NGOSS
deployments will benefit from the efforts to develop said frameworks.
10
Management data is inherently different – requiring different uses, query capabilities, persistence, and so forth. Hence, any
OSS will use multiple repositories. This is why multiple TNA-TSA mappings are required.
3. Architectural Concepts
The NGOSS metamodel [TMF-TMF053D] defines concepts that support the basic
architectural constructs defined in this document. It is an extension of the UML
metamodel, refined to support the modeling of telecommunication systems as well as
specific types of behavior (e.g., a contract) that is not present in the UML metamodel.
The NGOSS architecture provides concepts and rules for building NGOSS systems.
It is mainly focused on the NGOSS system view. As introduced in section 2.1.3, the
NGOSS architecture comprises elements from all of the RM-ODP viewpoints.
NGOSS Contract The central concept of interoperability in the NGOSS architecture. [TMF-TMF053D]:
”An NGOSSContract provides a specification of NGOSSContractOperations and
behavior; it exposes functionality contained in an NGOSSComponent. The
NGOSSContract is of interest in all four NGOSS Views”.
NGOSS Contract
A technology specific realization (NGOSS Implementation View) of the NGOSS
Implementation
Contract requirements and specifications provided by NGOSS Business and
System View Contract parts.
NGOSS Contract This is a runtime manifestation of an NGOSS Contract Implementation that provides
Instance one or more functions to other runtime entities. It represents the unit of binding11. A
Contract Instance must be manageable.
Interface signature This comprises a set of Announcement and Interrogation signatures, as appropriate,
one for each operation type in the interface.
Announcement This is a definition of the name of the invocation and the number, names and types
signature of its parameters.
All five ODP viewpoints relate to NGOSS views (as explained in section 2.1.3).
However, for the NGOSS Architecture, mainly the computational viewpoint and the
engineering viewpoint are of interest. To avoid confusion, and due to the fact that the
NGOSS architecture is using and expanding the ODP views, we focus in the
following sections on the computational aspect and the engineering aspect of the
NGOSS Architecture.
Contract
Component COM 13 COM 24 Binding
Group
Component
Contracts
Figure 4 shows the general concept of Contract and Components. A Component has
one or more Contracts. Each of these Contracts is used to expose functionality of the
Component. Components can be assembled into (sub) systems (or groups), whereas
in this case the (sub) system has internal (not visible to the outside) and external
(visible to the outside) Contracts. Two Components exchange information
semantically and syntactically described by one Contract. In other words,
Components are bound for the purpose of information exchange by a Contract. The
binding between Components can be implicit, e.g., realized by an underlying
framework, or explicit, e.g., realized by special Components. Policies, not seen in the
figure, are used to govern the behavior of a Component.
Note: Figure 4 shows two contracts for the communication between COM1 and
COM2. In fact, COM1is offering a function via a Contract and COM2 is using this
function, acknowledging the Contract and expecting COM1 to behave according to
the Contract specification. Similarly, COM1 expects COM2 to behave according to the
same Contract specification. This Contract Binding enables the functionality offered
by Contracts to be negotiated and agreed on. Communication between Components
is terminated when the Contract is fulfilled.
3.2.1. Contract
It is very important to note that a Contract is not a static entity. This would prevent the
system from flexibly changing its responsibilities. Furthermore, we never want to lose
contract information, since if we do, we lose insight and traceability.
Thus, an NGOSS solution is built on multiple Contracts (e.g., one Contract can have
multiple forms over time). This is an important design decision to support the different
constituencies with their individual needs, expressed by different grammars,
concepts, and design parameters. Therefore, one Contract alone cannot satisfy the
needs of different stakeholders.
A Contract is designed to morph into different forms, having different content, based
upon the particular set of stakeholders that are using the Contract at a particular time.
Note that this provides built-in traceability as well as documentation for how the
Contract evolves through the lifecycle of the solution.
The Contract, throughout each manifestation in the four NGOSS views, supports
information for that view, combined with information from other applicable phases, in
a structured yet extensible form. Each Contract supports information specific to an
NGOSS view, association with information from previous lifecycle phases, and
information and data that document its functionality, its dependencies, and the
environment in which it ‘lives’. A Contract is made up of five parts (regardless of the
NGOSS view in which it is being used):
¾The Header portion of the Contract identifies each contract instance in an
unambiguous way, and hosts a placeholder for a textual description of the
Contract.
¾The Functional Part of the Contract defines the capabilities provided by the
Contract, constraints placed upon the use of those capabilities, and the
context in which it can be used.
¾The Management Part of the Contract defines the management requirements
needed to operate the functional capabilities of the Contract, assesses its
resource and service cost, assigns QoS, describes geographic, resource, and
operational constraints, and describes the legal constraints of the Contract.
¾The Non-Functional Part of the Contract defines aspects needed for proper
operation of the capabilities specified by the Contract (e.g., security and
management operations), as well as other considerations (e.g., cost).
¾The Model Part of the Contract contains various types of UML models to
support the specification and description of the Functional and Non-
Functional parts. This part supports the lifecycle management of the service,
and any resources required to configure and maintain that service, in an OSS
architecture. In a nutshell, it enables our approach to be self-documenting and
self-describing.
3.2.2. Component
The behavior the artifacts contained within an NGOSS Component within the
NGOSS System must be manageable. The behavior of an NGOSS Component with
respect to any other NGOSS Component must be governed by at least one
Contract. Some NGOSS Components may achieve this manageability by supporting
a standard management Contract in addition to any supported non-management
Contracts.
3.2.3. Service
3.2.4. Resource
3.2.5. Policy
A Policy is a set of rules that are used to manage and to control the changing and/or
maintaining of the state of one or more Components. Policy-based Management
controls the state of the NGOSS system and Components within this system using
policies. Control should be realized using a management model such as a finite state
machine. Note that the emphasis is on “changing and/or maintaining of the state” of a
set of Components! This enables behavior to be choreographed.
To give an example: the business view defines the overall goals of an organization
and expresses business policies in business language. The system view takes this
specification and translates it into technology- and vendor independent terminology.
See [PBNM] for more information.
3.2.6. Operation
The left side of Figure 5 shows a group of NGOSS Components with their Contracts
(computational aspect). The right side of Figure 5 shows an engineering
representation of an NGOSS Component. The core object, optionally supported by
one or more additional objects for legacy integration, offers its services via a contract
instance and an interface object. The contract instance is an engineering
representation of an NGOSS Contract. The interface object provides the platform
specific means to interact with the other Component participating in the Contract.
Contract Core
COM 1 COM 2 Instance Object
Interface
Component Object
Group Legacy
Integration
NGOSS Contracts Hardware and
Software
Figure 6 shows how an NGOSS Component can be developed using the above
described concept. The component’s core object(s) are supported by interface
objects and contract interfaces. Each interface might be bound to one or more
contract instances. This allows having multiple views (by means of different
Contracts) to one function via the same interface. One contract is only bound to one
interface.
The component’s core object might offer a control interface that enables its
configuration and management.
The communication between components can be divided into three different layers.
As Figure 7 shows, the first layer describes the relationships between the core
objects of a Component. These objects exchange information by means of messages
or operation calls to realize the functionality that the Contract defines. The second
layer models the transmission of messages and/or operation calls between Contract
objects. The third layer is dedicated to the employed middleware and the middleware
specific protocol(s). Further layers are not needed since the middleware protocol
already abstracts the underlying network transport protocols.
Messages / Calls
Core Object Core Object
COM1 COM2
Contract Contract
Channel
Control Stub
Function
Binder
Protocol
Adapter
This approach can be compared to the Reference Model for Open Systems
Interconnection (RM-OSI; [ITU-X200]). The layers are independent of each other.
Protocol services are offered via Service Access Points (SAPs), which are called
interfaces here. A TNA protocol is then the combination of the Components interfaces
and the interaction schemes that are defined by the Components services and
governed by the Components Contracts. The interface can be specified in
middleware generic or middleware specific way (e.g. CORBA-IDL). Figure 7
furthermore depicts an engineering representation of an explicit binding. The TNA is
adopting principles here based on ODP and further developed by TINA in the
Engineering Modeling Concepts [TINA-EMC].
Int. Mech. Int. Mech. Int. Mech. Int. Mech. Int. Mech.
Contract Inst. Contract Inst. Contract Inst. Contract Inst. Contract Inst.
Policy Process Security Service Service
Service Service Service
Legacy
Application
Other Mandatory Services
NGOSS
Framework Services
Underlying this basic view is a number of software constructs or artifacts that are
essential to the construction of the NGOSS Technology Neutral Architecture.
In addition, all NGOSS Software Artifacts capable of being instantiated in the Run-
Time/Deployment view (i.e., Application, Service, Policy, Process and Contract) must
be supported by the ability to:
The NGOSS Core Artifacts are the basic software building blocks of the NGOSS
Architecture. They represent the fundamental software elements of which every
solution that is architected, designed and built to the NGOSS Architecture is
composed.
The NGOSS Information Model defines the information/data reference model and the
common information/data vocabulary from a business as well as a systems
perspective. The NGOSS Shared Information/Data Model (SID) is the NGOSS
Information Model. The SID provides a knowledge base that describes the behavior
and structure of business entities and their collaborations/interactions. The Business
View of the SID is specified in [GB922] and Addenda. The System View of the SID is
specified in [GB926] and Addenda.
NGOSS Process
NGOSS Policy
An NGOSS Policy is a set of rules that can be used to manage and control the
behavior of an NGOSS Artifact. Specifications for NGOSS Policies can be found in
[GB922-POL] Combined with NGOSS Processes, NGOSS Policies provide the
means to manage the behavior of an NGOSS System.
NGOSS Contract
Interrogation
13
Announcements have similar semantics to Notifications in other DIOAs.
14
An interrogation is similar to an operation, in which the client requests that something be done, and the server responds
with information that results from performing the request.
Building upon the NGOSS Core Artifacts, the NGOSS Architecture defines three
Container Artifacts which are used to package or encapsulate the NGOSS Core
Artifacts. Two of the NGOSS Container Artifacts, the NGOSS Application and
NGOSS Component are common to any solution designed to NGOSS principles
(whether DIOA oriented or SOA oriented). The third Container Artifact, the NGOSS
Service, is introduced specifically to specialize a solution as constructed using a
Service Oriented Architecture approach.
NGOSS Application
NGOSS Contract
Specification
B
NGOSS Contract NGOSS Contact NGOSS Contract
Specification Specification Specification
A NGOSS Contract D E
Specification
C
NGOSS Component
15
a.k.a. Component
open nature of the environment. Thus, NGOSS components are categorized into two
types:
¾Components packaging capabilities mandated by the NGOSS Architecture
that must have:
• NGOSS Distribution and Transparency Framework Services as
defined in TM053f (Registration, Location, Repository, Naming, and
Federation),
• NGOSS Mandatory Services including Process Management, Policy
Management and Security Management
¾And, Components packaging capabilities that support the value-added
business-related functionality of solutions implemented using the NGOSS
architecture, such as billing, rating and discounting, network data
management, and others.
The packaging of mandatory capabilities with value-added business-related
functionality in the same Component is strongly discouraged as it has the potential to
lead to accidental removal of NGOSS mandatory services required by the NGOSS
Architecture.
NGOSS Component
Contract Contract
Implementation Implementation
1 or more
Contract Implementations
Component
Content
Information
NGOSS Component
Service Service
1 or more Services
Component
Content
Information
NGOSS Service
The decision of which Contract Implementations to manage as a single unit (and thus
NGOSS Service) is left to the developer, so long as each Implementation and
Instance has an associated Manageability Contract.
Services
Contract Contract
Implementation Implementation
1 or more
Contract Implementations
The NGOSS TNA mandates two types of capabilities: functionality needed to provide
the distribution and transparency required for its distributed nature and functionality
needed control and coordinate the actions of an NGOSS solution; if they are
performed, the environment they are performed in, and the sequence in which they
are performed. The former are called NGOSS Framework Services. The later, whose
requirements were outlined in Sections 2.3.3, 2.3.4 and 2.3.5 are referred to as
NGOSS Mandatory Services.
The NGOSS Framework Services provide the infrastructure necessary to support the
distributed nature of the NGOSS TNA. The following section provides a brief
introduction to these capabilities; further details may be found in a Annex to this
document [TMF-TMF053F] NGOSS Distribution and Transparency Framework
Services. Figure 14 provides a high-level pictorial representation of the NGOSS
Framework Services.
Repository
Naming Services
Specifiers
Components Designers/Developers
and Administrators
Registration Service
The NGOSS Registration Service provides for services and functionality needed to
support location transparency in the system. The entities within an NGOSS System
that are considered to be of interest from an architectural view are:
¾The NGOSS System Repository,
¾Entries that identify important Shared Information, which includes Contracts,
Processes and Policies,
¾Contract Registrations,
¾Component Content Information Blocks, and
¾Contract Instance Registrations
The NGOSS System Registration Service provides a maintenance interface (for the
addition, modification, deletion and browsing of Components, Contracts and Contract
Instances) to the NGOSS System Repository (assumed to be a single logical
repository, possibly comprised of a federation of separate physical repositories). The
information contained in the Repository includes instructions on where the entities
specified above are located and how they can be accessed and/or invoked. The
access and invocation of this information is done through a Service Location
Framework service; the direct access to the Repository browse functionality can be
used by designer or administrators
Repository Service
The heart of the Distribution Transparency Framework Services is the Repository,
which provides a logical view of all the information about deployed distributed system.
Information contained in the Repository includes registration information for each
business process, policy, Component, Contract Implementation and Contract
Instance deployed within the deployment scope of the repository and the advertising
information for each Contract Instance. Registration information for the Distribution
Transparency Services themselves is also included as they too are realized as
Contract Instances. In addition, the Repository contains all security and policy
information associated with each Component, Contract, and Contract Instance.
Although the Repository is often represented as a single instance of a database, this
is simplification for illustrative purposes. The Repository should be viewed as a logical
illustration and thus may be implemented as a single database, a group of
cooperating peer databases, or a hierarchical group of interoperating databases.
Naming Service
The Naming Service is responsible for generating and resolving unique names for the
various entities (Business Processes, Components, Contracts and Contract
Instances) contained in the Repository. The Naming Services interact with the
Registration Services at the time of Component Installation, Contract Registration and
Contract Instance Advertisement to assign an identifier that will be used to access,
modify, and/or remove the Component, Contract or Contract Instance from the
NGOSS system environment, with the Contract Instance Location Services at the
time of Contract Instance Location to resolve identified service names into its current
location, and with the browsing services supported by the Repository.
Location Service
Location Services, often built on Naming Services, provide a means to map a request
for an object to a particular instance of that object. The NGOSS Location Service
([TMF-TMF053F] currently describes a specialization, the Contract Instance Location
Service) is used at run-time to decouple the “hard binding” of consumers and
providers to facilitate distribution transparency and the location of available objects
within an NGOSS system.
Other Mandatory NGOSS Services
Further discussion of the NGOSS Process and Policy Management Services may be
found in [TMF-TMF053C]. [TMF-TMF053S] provides additional information about
NGOSS Security and details about the NGOSS Policy Management Architecture will
be documented in [TMF-TMF053P].
Management Service can apply constraints and/or conditions on what operations are
executed, as well as when, by whom, and how they are executed, within an NGOSS
system. These constraints can be used to impose regulatory, business, enterprise or
local rules on processing sequences and conditions that are required to be met
before (i.e., pre-conditions) and after (i.e., post-conditions and exceptions) any action.
Int. Mech. Int. Mech. Int. Mech. Int. Mech. Int. Mech.
Contract Inst. Contract Inst. Contract Inst. Contract Inst. Contract Inst.
Policy Process Security Service Service
Service Service Service
Legacy
Application
Other Mandatory Services
Shared Component Service Contract Contract Instance Processes Policies Shared Component Service Contract Contract Instance Processes Policies
Information Registrations Registrations Registrations Registrations Information Registrations Registrations Registrations Registrations
Repository Repository
Location Registration Repository Naming Mandatory Location Registration Repository Naming Mandatory
Service Service Service Service Framework Service Service Service Service Framework
Int. Mech. Int. Mech. Int. Mech. Int. Mech. Int. Mech. Int. Mech. Int. Mech. Int. Mech.
Int. Mech. Int. Mech. Int. Mech. Int. Mech. Int. Mech. Int. Mech. Int. Mech. Int. Mech. Int. Mech. Int. Mech.
Contract Inst. Contract Inst. Contract Inst. Contract Inst. Contract Inst. Contract Inst. Contract Inst. Contract Inst. Contract Inst. Contract Inst.
Policy Process Security Service Service Policy Process Security Service Service
Service Service Service Service Service Service
Legacy Legacy
Application Application
Other Mandatory Services Other Mandatory Services
Shared
Information
Component Service Contract
Registrations Registrations Registrations
Contract Instance
Registrations Processes Policies Must include Framework
Repository Services as the Minimum
Location Registration Repository Naming Mandatory
Service Service Service Service Framework
arrows the sequence of interactions that occur from initially registering an instance of
a Contract Implementation, through the location of an instance of a desired providing
Contract Implementation, resulting finally with the request for functionality and the
final response from the provider.
This diagram shows that the Contract Instances are decoupled and make use of
NGOSS Framework Services (along with the Common Communications Vehicle as
illustrated in the NGOSS Domain figures) to exchange information. The first step in
this process is for the Consuming Contract Instance to register with the NGOSS
Framework (this is actually done by the consuming Contract Manageability Instance).
Next, the consuming Contract Instance queries the Framework Services to locate an
instance of the desired Providing Contract Instance (again, via the Common
Communications Vehicle). Once a Providing Instance is located, a request is
formatted and sent via the communications mechanism. The response comes back
in a similar way. It is important to note that there may be more than one
communications vehicle and even more that one communications vehicle technology
in an NGOSS system deployment.
5. References
The follow documents were referenced within this document, or are considered be
relevant to and supportive of this document.
[ETSI-ES201] European Telecommunications Standards Institute, ETSI: Access and Terminals
(AT); Data Over Cable Systems; Part 3: Baseline Privacy Plus Interface
Specification. ETSI Standard ETSI ES 201 488-3 V1.2.2 (2003-10), October 2003
[ETSI-TS188-001] European Telecommunications Standards Institute, ETSI: Telecommunications
and Internet Converged Services and Protocols for Advanced Networking
(TISPAN); NGN management; OSS Architecture Release 1. ETSI Technical
Specification ETSI TS 188 001 V1.1.1 (2005-09), September 2005
[Gartner AV-19-6751] Yefim V. Natis: Service-Oriented Architecture Scenario. ID Number: AV-19-6751,
Gartner Inc., April 16, 2003
http://www.gartner.com/resources/114300/114358/114358.pdf
[Gartner SPA-401-068] Yefim V. Natis, Roy w. Schulte: Service-Oriented Architectures Part 1. ID
Number: SPA-401-068, Gartner Inc., April 12, 1996
[IETF-RFC2119] Bradner, S.: Key words for use in RFCs to Indicate Requirement Levels. BCP 14,
IETF RFC 2119, March 1997
[ITU-T X901] ITU-T Recommendation X.901 (1997): Information technology – Open Distributed
Processing – Reference model: Overview.
[ITU-T X903] ITU-T Recommendation X.903 (11/95): Information technology – Open
Distributed Processing – Reference model: Architecture.
[ITU-X200] ITU-T Recommendation X.200: Information Technology – Open Systems
Interconnection – Basic Reference Model: The Basic Model. International
Telecommunication Unit, Geneva, Switzerland, July 1994
[Oasis RM] OASIS (Organization for the Advancement of Structured Information Standards):
Reference Model for Service Oriented Architectures. Working Draft 08,
September 9, 2005
http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=soa-rm
[PBNM] John Strassner: Policy Based Network Management. Morgan Kaufman
Publishers, Sep 2003, ISBN 1-55860-859-1.
[Raymond95] Raymond, K: Reference Model of Open Distributed Processing (RM-ODP):
Introduction. Proc. of the International Conference on Open Distributed
Processing, ICODP’95, Brisbane, Australia, 20 - 24 February, 1995
[RJB99] James Rumbaugh, Ivar Jacobson, Grady Booch: The Unified Modeling Language
Reference Manual. Addison-Wesley, December 23, 1998
[SEI00] Kurt Wallnau et. al.: Volume II: Technical Concepts of Component-Based
Software Engineering, 2nd Edition. TECHNICAL REPORT CMU/SEI-2000-TR-
008 ESC-TR-2000-007, Carnegie Mellon University, Software Engineering
Institute, Pittsburgh, PA, May 2000
[SZY99] Clemens Szyperski. Component Software: Beyond Object Oriented
Programming. Addison-Wesley, 2nd edition, November 13, 2002
[Thelin03] Jorgen Thelin: A Comparison of Service-Oriented, Resource-Oriented, and
Object-Oriented Architecture Styles. OMG’s 2nd Workshop On Web Services
Modeling, Architectures, Infrastructures And Standards, Munich, Germany,
February 10-13, 2003
Throughout the present document, the words that are used to define the significance
of particular requirements are capitalized. These words are based on [ETSI-ES201]
and [IETF-RFC2119]
MAY This word means that this item is truly optional. One vendor may choose to
include the item because a particular marketplace requires it or because it enhances
the product, for example; another vendor may omit the same item.
MUST NOT This phrase means that the item is an absolute prohibition of
the present specification.
MUST This word means that the item is an absolute requirement of the present
specification.
SHOULD NOT This phrase means that there may exist valid reasons in particular
circumstances when the listed behavior is acceptable or even useful, but the full
implications should be understood and the case carefully weighed before
implementing any behavior described with this label.
SHOULD This word means that there may exist valid reasons in particular
circumstances to ignore this item, but the full implications should be understood and
the case carefully weighed before choosing a different course.
This work follows this approach. The integration is done in multiple steps. A DIOA
fulfills business needs that are specified with business models and supported by
service platforms. The environments reflect certain applications, services, and
resources that need to be controlled, administrated, and maintained. Furthermore, a
DIOA is affected by emerging technologies that promise to solve business needs and
customer requirements more efficient or that enable services not possible to be
realized yet.
Business Models
16
This section is based on section 2 of [vdMeer02] and further studies. For a complete example of a DIOA please see also
[vdMeer02]
The Intelligent Network (IN) has defined a standard business model for
telecommunications [ITU-Q1201]. The Telecommunication Information Networking
Architecture (TINA) has combined new issues of the telecommunication market to
develop a flexible model focusing on the telecommunication market [TINA-BM]. This
model has been adopted by the Study Group 11 of the International
Telecommunication Unit (ITU) as a reference model for the open telecommunication
market.
Service Platforms
Service platforms are an instrument to design, test, deploy, operate, and terminate
services regarding business needs and technical constraints. The term “service” is
used with a very diverse meaning that depends on the segmentation of areas of
concern. A general model for this segmentation is to distinguish the problem areas of
transmission (transmitting bits), connectivity (end-to-end stream binding),
communication (sessions for users and applications), and information (access to
distributed entities). Each area comes with a dedicated definition for the term service.
[Tönnby00]17
17
Note: the here introduced separations of concern do not necessarily reflect the reality of the SID standards
1 2
3 4
The major paradigm of a service platform depends on the actual place where the
intelligence for information services resides. Two different approaches are used today
(cf. Figure 19 case 1 and 2): The intelligence is located centralized within the network
(telecommunication, [Magedanz96]) or the intelligence lies at the end systems (the
Internet, [IETF-RFC1958]). Both approaches offer a limited flexibility since they
cannot support all kind of services with a similar quality of service. For example, an
emergency call demands a connection to a responsible operator within several
seconds. This cannot be provided when the intelligence is located at the end-
systems, since the emergency call must be transmitted in a very limited time window
and highly prioritized inside the network [Draft-Hohno]. Solutions for the special
requirements of telephony services within the Internet are currently under
investigation [Draft-IEPREP]. Furthermore, the fast creation of new services from
independent service providers requires an enormous degree of flexibility. This is
usually not offered when the intelligence is located inside a huge telecommunication
network only [DRAFT-OPES].
Current trends show that services will be created dynamically and can be activated
anywhere [Magedanz01]. This requires service platforms that are capable of placing
intelligence wherever it is needed, at the time it is needed there, and in a form that
serves services best: centralized, distributed, at end systems, at switches, or at
special nodes (case 4 of Figure 19, [Campolargo99]).
[Tönnby00] explains the shift from traditional solutions towards new approaches.
Services for information are no longer built on vertically integrated services and
networks but as horizontally structured applications built on top of services from any
kind of network. Portals for information services get important for unifying information
access [Scheer02]. Connectivity services integrate circuit switching and packet
switching, with a significant trend towards packet switching. Connectivity is supposed
to be ubiquitous and, when realized with computers, based on the Internet Protocol
(IP). Transmission moves from narrow-band networks to broadband networks.
Communication services recognize that communication is not only done between
users, but also between users and ‘things’, and between ‘things’.
The terms use and operation describe the part of a system that is seen by users and
customers. They are concerned about the system’s ability to serve them. A company
running a system relies on its efficient operation in order to generate revenue. This
operation is supported by controlling the system. The term control describes the brief
but permanently reoccurring task of keeping the system stable to serve its customers
and to generate revenue. This includes e.g. the configuration of system components
and the record of data for accounting.
Usage
Administration Operation
Maintenance Control
Administration and maintenance reflect long term operation and control of a system.
This general task is divided into several individual procedures. Administration starts
with the permanent monitoring of the system and the logging of all occurring events to
analyze the behavior of its components. The second aim of monitoring is the
detection of system failures.
In Figure 21 the three areas of concern are separated. Applications provide the
interface to users and customers enabling them to utilize services. Services are
software assemblies of components that offer functionality for applications and
provide the access to resources. Resources are software and hardware components
needed for the provision of services and for their execution. In other words, a
distributed system employs resources to complete services and applications.
The figure furthermore shows the two main activities inside such a system.
Information is mapped across levels, upwards and/or downwards, for usage,
operation, and control. The system is managed at each level through control,
administration, and maintenance. The assignment of individual tasks to one activity
depends on the system’s purpose. This is also true for the separation of the activities.
The mapping of information is supported by management activities and the system’s
management relies on information mapping.
Applications
Information System
Services
Mapping Management
The first layer focuses on the presentation of information along with the verification of
results to support the specification and the submission of individual tasks. The
specification answers six questions about a task: Who? (identifier) wants What?
(request) Where? (destination) When? (schedule) Why? (purpose) and How?
(execution plan). The answers to Who?, What?, When?, and Why? are the basis for
a submission that is a complete job specification. The re-specification is responsible
for the mapping of What? towards a set of commands that is needed to be executed
to fulfill the purpose. Triggering activates and deactivates jobs based on date and
time information, completion of other jobs, or other available data. Queuing provides
load balancing and the prioritizing of jobs. Access functions as a mediator between
the above layers and the execution layer. It provides interfaces to resources.
Execution executes any job that is submitted from submission via access. The type of
service executed here depends on the overall purpose of the system and might range
from database access, media conversion, user interaction, up to device and network
usage. All described layers are supported by navigation, security, metering, and
logging.
The networks had been operated manually. Changes in society and on the market
have led to the extinction of this business model. Networks have become connected,
the market has demanded more than the basic services, and the number of devices
has increased. This resulted in the actual need for an automated management of
services and resources to continue to run the network in an efficient (and profitable)
way. The operation of services and their management became separated areas with
different approaches. Today, distributed systems and services run on top of
middleware and are managed by dedicated management systems.
7.2.1. Objectives
The main objective of this DIOA framework is to provide means for that enable to
produce extreme flexibility for user applications, e.g. an Operation Support System
(OSS), in the way they may exploit Information, Communications and Technology
(ICT) resources. This leads to the integration of applications, management,
middleware and resource concepts while maintaining the independence from
concrete technologies. It aims for the seamless integration of capabilities in all layers
so that management is an embedded capability not independent or tacked on. The
aim in NGN is to produce extreme flexibility for user applications in the way they may
exploit, i.e. control, ICT resources in service delivery. The integration serves as a
basis to develop service platforms with integrated management facilities that enable
applications, services, and resources to be used, controlled, operated, administered,
and maintained in a unified way. The independence provides the realization of the
framework employing the technology of choice, whereas the decision for the
technology can be neither foreseen nor predicted.
Components that belong to the framework should benefit from the integrated and
unified management in the way that their management can be done by the
framework itself (instead of a certain complementary management system).
The second objective is that the framework needs to be designed for multiple
purposes. The target environment spans from small systems built for a simple
purpose (as the usage and control of a home network) up to huge distributed systems
covering a multitude of service within a multi-domain environment and many different
roles and businesses.
The third objective is to support the two major activities (information mapping and
system management) as introduced in section 7.1.3. The framework should offer
mechanisms to map information across identified levels and, at the same time, to
manage entities of those levels.
The fourth objective refers to the acceptance of the framework itself. The history of
the Internet has taught that adoption is a better predictor than perfection. The
acceptance of the framework is not given for the sake that it integrates middleware
and management. Instead, the framework will be used only if it integrates
management and middleware up to a reasonable level, employs widely known and
accepted methods and technologies, and creates novel functions or improves
existing ones.
7.2.2. Requirements
The objectives for the definition of the framework as well as the target environments
lead to the definition of the requirements. In general, the framework should enable
interworking, portability, and scalability. Interworking reflects the need of business
roles and framework components to interact, since the target environment of the
framework is a global market of converged services and networks. Portability is a
requirement that has to be introduced because the further usage of existing
technologies is not certain, emerging technologies have not shown their applicability,
and future technologies are yet unknown. Scalability should prepare the framework
for distributed systems for the range of small up to huge application areas.
The second block of general requirements relates to the functionality the framework
has to support. Since applications, services, and resources are realized by distributed
components, the framework itself must support distribution. The distributed
components can be implemented with various technologies. This leads to the
necessity of a framework that is technology independent. The integration of
distributed systems in the Internet and the WWW imply requirements that are
described as web-enabled and directory-enabled. Last but not least, the mapping
of information across levels and the management of each level follows pre-defined or
negotiated methods of actions. The framework should offer mechanism to enable a
policy-based realization of them.
The handling of distributed systems makes it necessary for the framework to offer the
basic functionality that the distribution of components demands. Mechanisms must be
identified for the naming and addressing of components as well as for their
registration. The approach of a centralized naming service (as a single point of
failure) seems not sufficient, especially looking at P2P networks and mobile agent
technology. Registered components will seek for services with a certain Quality of
Service (QoS). They should be aided by discovery and lookup services. The
communication among components can be arranged in a peer-to-peer manner or by
message services.
The conceptual model identifies four planes. Each plane is dedicated to a specific
problem context. Each problem context describes a dedicated viewpoint to the two
areas of concern (information mapping and system management) and the five terms
(use, operation, control, administration, and maintenance) introduced in 7.1.2. The
planes are used to specify the different types of information that need to be mapped
and the different levels of management that is needed. The approach of a conceptual
model is taken from the IN standard series [ITU-Q1201].
The conceptual model provides the basis for a specific architecture. It presents rules
for components of a specific architecture and describes relationships between those
components. The four planes of the conceptual model are presented in Figure 22.
The definitions of each plane can be employed to describe particular aspects of the
architecture. The four planes are
¾Business Model Plane, covering business functionality and processes within
functional blocks;
¾Service Engineering Plane, modeling functional blocks as computational
objects providing services;
¾Service Framework Plane, modeling framework and other mandatory
services as computational objects; and
¾Basic Technology Plane, identifying the employed technologies and their
relationships.
On the first view, the conceptual model separates the applications from technologies.
Business models become technology independent. This means, a business
application (business processes) is not using a particular middleware or management
technology. Those technologies become transparent for the business application.
The conceptual model allows substituting middleware and management technologies
without changing the business applications.
el
od
M
s
es
sin
Bu
g
rin
ee
n
Domain B
gi
Domain C
En
e
DomainA
ic
rv
Se
k
or
ew
am
Fr
e
ic
rv
Se
s
ie
og
l
no
ch
Te
sic
Ba
Figure 22: Conceptual Framework - Conceptual Model
However, the conceptual model must not be seen as a dogma. Application might
need direct access to technologies. This is especially important for the management
of resources. This direct access belongs to the business model and the design of the
application. An architecture derived from the conceptual model should not deny such
a direct access.
The Business Model Plane focuses on the design and the implementation of
business applications. A business application is an implementation of a set of
functionalities and processes that might be distributed over multiple hosts. This set of
functionality does not include the support for distribution [TMF-ACT01-99]. Following
[TINA-ODL], a group of object consists of object specifications that are called
components. An application can be seen as a group of objects. A business
application component is then a single object specification within a group.
implementation can profit from a concrete architecture. The actual purpose of future
business applications can neither be predicted nor foreseen. The conceptual model
gives no further recommendations for this plane.
The interfaces of objects are specified in a certain language. Many middleware and
management architectures employ a specific interface language. The languages are
combined with tools for automated processing such as compilers and interpreters.
The selection of an appropriate interface language depends on the objectives of the
specific architecture. Many languages only include the signature of an interface. This
signature might not be enough. Languages from the management area often add
semantic information to individual parts of a signature. This information can be used
to qualify an interface or parts of it. Furthermore, this information can provide the
basis for repositories that enable lookup, monitoring, and configuration of objects.
A specific architecture can support the application design with a set of basic
specifications. This can be done e.g. in form of a core model (like the DMTF core
model [DMTF-CIM]) or a structure of information (like the Structure of Management
Information - SMI; [IETF-RFC2578]).
Beside objects, Figure 22 shows the concept of domains. A domain can be used to
separate (or to delegate) responsibilities. Domains can be implemented e.g. for the
collection of objects that deal with different connectivity services (signaling, packet
switching), objects that belong to functional areas (like the management functions of
[ITU-X700]), or objects that relate to layers of the Reference Model for Open Systems
Interconnection (RM-OSI; [ITU-X200]). A domain can also be used to reflect
geographical distribution or hierarchies of an organization. The reflection of business
models is an important factor for modeling domains.
A protocol is needed to define how interactions between objects can take place. The
characteristics of the protocol depend on the interface language. The specification of
the protocol should enable an easy mapping to technologies of the Basic Technology
Plane. The protocol must enable the identification of called objects. Furthermore, it
should provide a reliable and encrypted transmission. An Application Programming
Interface (API) can be used to realize protocol mechanisms and to provide access to
protocol features.
The connections between the technologies in Figure 22 should indicate that there
must exist an interworking between these very technologies. This interworking is
needed to enable a communication between the objects and services. To give an
example: a business application WWW Monitoring can be realized in CORBA and a
business application WWW Alert can based on an SNMP Manager. Both objects
should communicate with each other. This communication can be realized with a
CORBA/SNMP bridge (horizontal integration within the Basic Technology Plane).
Another possible realization is that the business application WWW Alert would also
be a CORBA object that communicates with the SNMP Manager and functions as a
gateway by itself (vertical integration realized in the Service Engineering Plane and
the BasicTechnology Plane).
Application Services
Meta Schema Messaging, Specification,
Core Model API
Visualization, Database
Repository
Configuration
Formal Core Services Console
Notation
Naming, Directory, Monitoring, Performance
Compiler API
Lifecycle, Config, Notification Monitoring
Mappings
Administration
Tools
Communication Services Tools
Control Services
The components of a DIOA belong to the three parts of development and operation of
a distributed system. These three parts are depicted in Figure 23. They are
development, execution environment, and deployment. The development step follows
a business model. A DIOA should support the development with an appropriate
formal notation for the specification of objects. This specification is based on a meta
schema (or object model), which needs to be designed in a way that reflects the
needs of the target environments (cf. section 7.1.1). A core model can be specified
using the formal notation. Task of the core model is to provide basic definitions for a
distributed system, such as often used data types and generic objects. The formal
notation defines syntax and semantic of a language that is derived from an object
model. Here, the mapping of specifications to concrete middleware technology,
programming languages and compilers must be specified by a DIOA. This mapping
can be supported by tools for an automated processing of specifications.
The second step is the execution of the distributed system. This is supported by a
DIOA in form of an execution environment, which provides an interface to the Basic
Technology Plane. Figure 23 shows the execution environment in form of three
layers. Each layer provides a unified access to its functionality via one or more APIs.
The lowest layer realizes the communication between objects and between objects
and services. For this communication, a DIOA needs to define a protocol along with
data formats, and control services. The protocol defines the communication behavior,
including the transmission of data. The data formats are used by the protocol for the
transmission of information specified in the formal notation. The control services can
be used to include additional functionality for addressing, security, and transactions.
The protocol must be specified in a technology independent way. This should allow
the usage of many different technologies for the actual exchange of data.
The services of the Service Framework Plane are further separated in two groups.
The first group collects core services, which must be present in the execution
environment for usage and operation of a distributed system. The second group
depicts services that might be present. This second group of services should improve
the architecture’s ability to support control, administration, and maintenance.
The final step is the deployment of the objects and the distributed system itself. Here,
a number of tools should be provided for the configuration of the system. These tools
can be offered in form of an administration application. This application should be
able to visualize information about the actual state of objects, including instantiated
objects, request counts, runtime behavior, monitoring, and log information. The tools
should be based on core and/or application services. Following this approach, an
administration tool by itself is a distributed application that can be modeled using the
conceptual model and the mechanisms of the architecture.
The following subsections discuss state of the art technologies for the components of
the architecture. These technologies are parts of actually available middleware and
management architectures. Section 7.3.1 starts discussion with an overview of object
models and metamodels. Section 7.3.3 concentrates on interface languages and
syntax notations. An object model and a formal notation provide the basis for the
definition of repositories. Section 7.3.2 shows that a repository represents a virtual
data store that combines specifications (object classes and related definitions) and
runtime information (object instances).
The section 7.3.4 reviews approaches for protocols, data formats, and
communication services to define the lowest layer of the execution environment.
Section 7.3.5 is dedicated to transparency services. Tools and user interfaces to
application services should support the deployment of applications. Other tools for the
deployment of applications are not discussed explicitly. They belong to the concrete
target environment. However, the specifications of a DIOA should give
recommendations for those tools.
The CIM Meta Schema allows describing object instances [DMTF-CIM]. This feature
enables a designer to specify a distributed system in a very restricted way, including a
set of object instances. This approach makes configuration management easier and
solves some issues of an initial start-up of a system.
A Reference Model
Streaming
Object 1 Object 2 Interface
Core
Object
Operational
Interface
Object Group Legacy
Integration
Hardware
and Software
Figure 24 shows Object2 with one computational and one streaming interface.
Furthermore, the mapping to engineering objects is presented. These engineering
objects decouple the interfaces (interface objects) from the implemented behavior
(core object) and legacy technology (legacy integration).
Semantic Information
The concrete object models of middleware offer mechanisms that describe the syntax
of an object. TINA adds the two textual descriptions behaviorText and usage, which
should be used to explain behavior and usage in a natural language of choice [TINA-
CMC] [TINA-ODL]. SNMP calls such a description a definition, which must be used to
explain the minimum requirements on an object’s implementation [IETF-RFC2578].
The CIM meta schema introduces qualifiers to characterize objects and other named
elements. This mechanism allows the CIM meta schema to be “extensible in a limited
and controlled fashion” [DMTF-CIM]. Adding new qualifiers increases the availability
Management object models define a more restricted semantic of types. E.g., SMI
uses one type for IP addresses, two types for counters, and one type for time ticks
[IETF-RFC2578]. The CIM meta schema includes a type for date and time
information [DMTF-CIM]. [ITU-X721] defines generic types for attributes, actions, and
notifications. Generic attribute types include counters (simple and settable), gauge
(dynamic variable), and tide-mark (minimum or maximum value of a gauge during
measurement time). Each implementation of such an object model is expected to
support the defined types along with their semantic. Interworking between
management systems is only guaranteed when these types are used.
Object Identifiers
For management, administrative policies are used for assigning identifiers. These
policies are either defined directly in the object model (SNMP in [IETF-RFC2578]) or
belong to the characteristic of employed technologies (e.g. distinguished names for
directories as defined in [ITU-X720]). These identifiers are further used to generate
repositories and to enable interworking between different implementations.
Object orientation
their implementation. Inheritance provides the basis for code-reuse and for code-
clarity [Stroustrup92]. The most management object models do not allow multiple
inheritance [Hegering99]. As [CORBA-MAN] states: “Real embedded interfaces don’t
differ in the services they offer, they differ in the entities they manage … In object-
oriented terms, services represent a case in which inheritance is not appropriate.”
However, not all object models must follow an object oriented approach. The object
model of SNMP does not include any kind of object-oriented design mechanism.
SNMP managed objects are declared, implemented, and used as a set of variables.
The variables can be structured in tables. A table might contain any number of
columns and each column represents a single variable (managed object)
[Zeltserman99].
7.3.2. Repositories
Management architectures define a central naming scheme in which names (or parts
of names) are assigned by an authority. The names are arranged in a hierarchical
structure reflecting a hierarchy of managed objects. SNMP uses an OBJECT
IDENTIFIER that is constructed of a number of labels [IETF-RFC1157]. The SNMP
standards track demands the implementation of several parts of the MIB at each
agent. The implementation of the system group, e.g., is mandatory [IETF-RFC1213].
For OSI management, a name binding must be assigned to each object specification
[ITU-X720]. Furthermore, an Object Identifier Tree (OIT) is defined as basis for a
consistent object naming [ITU-X722].
The CIM mechanisms for naming and object databases facilitate the task of sharing
management information between a variety of platforms. The major issue of naming
is the enterprise-wide addressing of objects. Object databases based on CIM naming
are employed to realize a MIB-like instrumentation [DMTF-CIM]. The creation of
different scope hierarchies, regarding the actually used models, must be able to be
changed over times. This does not permit a single, standardized MIB as of SNMP
and X.700 management systems.
The formal notation that are of interest for MAMA can be categorized as follows.
¾Interface Definition Language (IDL) – is used for the specification of interface
signatures in DCE20, CORBA, and DCOM. [DCE-RPC] [CORBA]
¾Object Definition Language (ODL) – enables the description of ODP
computational objects with interfaces, object groups, and a number of
templates. [TINA-ODL]
¾Languages for the specification of managed objects – are employed by
management architectures. Examples for those languages are SMI, the
Guidelines for the Definition of Managed Objects – GDMO, and DMTF
Managed Object Format – MOF. These languages are either a subset of
ASN.1 (SMI [IETF-RFC2578], GDMO [ITU-X722]) or an extension of IDL
(DMTF MOF; [DMTF-CIM]).
¾Languages for generic data exchange – XML and derived languages provide
technology independent mechanisms for data exchange. As a meta
language, XML offers the ability to specify domain specific languages that can
be processed with standardized tools.
All languages are designed following a concrete object model. The applicability of the
languages within this thesis depends on the concrete object model of MAMA. In
general, languages from all categories can be used. However, each category has
specific characteristics that need to be considered.
The object models of CORBA and DCOM do not distinguish between object and
interface. Their IDL does not support more than one interface per object. With ODL,
multiple interfaces per object can be realized. Both languages give no
recommendations or restrictions for operations and type definitions. Languages from
the area of management primarily support generic interfaces for specific
management functionality. This includes meta information on semantic of objects,
interfaces, and attributes as introduced by an object model. IDL and ODL do not offer
such a facility.
Object identifiers are almost case-insensitive. This means, two identifiers collide when
they differ only in the case of their characters. Case-insensitive identifiers already
support scripting languages, which do not distinguish between upper-case and lower-
case characters. [DMTF-CIM]
18
American Standard Code for Information Interchange
19
International Standardization Organization
20
Distributed Computing Environment
SNMP goes a similar way offering an object-type macro that should be used to define
SNMP managed objects [IETF-RFC2578]. The OSI management framework
provides a complete set of guidelines. GDMO includes templates for objects,
attributes, behaviors, and notifications [ITU-X722]. Each managed object can be
assembled with packages. A package can be declared as conditional, which offers a
policy for object instantiation. Each managed object is accompanied with a name
binding [ITU-X722].
The DMTF MOF language adopts many IDL features (from DCE IDL). Special
compiler directives are available to include paths in a global name space for MOF
object classes and instances [DMTF-CIM].
The use of ASN.1 as basis for languages from the management area is currently
discussed in the IETF. The discussion started with the work on a new version of SMI
(SMIng; [IETF-RFC3216]), which incorporates management and policy schemes.
[IETF-RFC3780] defines a new language that depicts several features from object-
oriented languages and from programming languages. On the other hand, [Draft-
ASN1NG] proposes the usage of ASN.1 for the new version of the SMI. The IETF
Draft is conforming to the requirements identified in [IETF-RFC3216].
Protocols
A protocol defines mechanisms for the exchange of data between distributed objects.
[ITU-X210] recommends a reference model that includes the basic definitions of a
protocol and protocol services. Information is transmitted in Protocol Data Units
(PDU), which contain protocol information (header) and the actual data (payload).
PDUs can be designed for specific service primitives [ITU-X210]. [Tannenbaum96]
explains many protocols in detail.
entirely and independently represented within a single datagram using the basic
encoding rules of ASN.1”. The OSI management framework recommends a complex
set of entities, services, and protocols for the exchange of management information.
[ITU-X701] [ITU-X710]
Data Encoding
[Palme02] provides a comparison of ABNF, ASN.1 BER and DTD-XML. The excerpt
compares characteristics regarding the level of coding, the encoded format, the
readability of the code, and the efficiency of data packing, binary data, and layout
facilities. One example is given for textual encoding measured in octets. This
example shows that ASN.1 BER is the most efficient language (61%) followed by
ABNF (19%) and XML (11%). [Palme02] has recently specified an encoding for XML
data, which promises to optimize the encoding of XML data for transmission.
Message Formats
SNMP uses a mechanism called variable binding for the payload of a PDU. This is a
simple list of variable names and corresponding values. Some PDUs are concerned
only with the name of a variable and not its value (e.g., the GetRequest-PDU). In this
case, the value portion of the binding is ignored by the protocol entity. [IETF-
RFC1157]
Protocol Services
Naming services support the identification of objects. The naming service provides a
name-to-object resolution. Each object must register itself at a naming service. Other
objects can retrieve information about registered objects, at least their system specific
address. Commonly used naming schemes are object references (in CORBA), hash
identifiers (in Java Remote Method Invocation – RMI), or distinguished names (in
OSI, TMN). IP networks use a different naming scheme. Here, a name is a set of
labels with clear boundaries (SNMP, Domain Name System – DNS; [IETF-
RFC2929]).
Naming schemes can be based on name spaces that are managed by an authority
(Universal Resource Locator – URL [IETF-RFC2396], X.500 distinguished names
[ITU-X501]). Other mechanisms, like the CORBA Interoperable Object Reference –
IOR ([CORBA]) and the DCE Universally Unique Identifier – UUID ([DCE-RPC]), do
not involve such an authority. They are based on generic algorithms.
A certain protocol can be assigned to a name, which indicates how an object can be
accessed. A CORBA IOR can be assigned to the Internet Inter-ORB Protocol IIOP,
RMI, or DCE. Furthermore, a CORBA IOR can be expressed in form of a URL
[CORBA-NS]. A URL can be assigned to any available protocol. Furthermore, the
access to a resource addressed by a URL might involve more than one protocol. For
access to an HTML21 document a client needs to request a host name from the DNS
and than the document via HTTP [IETF-RFC2396]. Names need not to be interpreted
by an application. This is task of the implementation of the protocol.
21
Hypertext Markup Language
Names can be further integrated into a directory service. Such a service employs
directory names. An entry in a directory can be aliased, which means more than one
entry can be assigned to the same object without replicating this very object. Access
to a directory service is offered to clients via a protocol [ITU-X500] or an API [JNDI-
API] [CORBA-NS].
State of the art directory services, such as LDAP, JNDI, and Active Directory (AD),
are realized as distributed services. They offer a single point of access to clients and
manage distributed databases, which can rely on different technologies [DMTF-CIM].
The management of these databases involves two important concepts: referrals and
replication.
1 2
est DSA B DSA B
request requ request
DUA DSA C request DUA DSA C
referral (to B) refer referral (to A)
ral (B
) DSA A DSA A
request
3 4 est
requ onse DSA
request request request re p
s
DUA DSA DSA DUA DSA requ
est
response response response resp
onse
DSA
The DNS, X.500, LDAP, and JNDI realize the search operations in a distributed
directory with referrals. Figure 25 shows four cases for the usage of referrals as
defined for X.500 and LDAP. In case 1, the Directory System Agent (DSA) C handles
a referral from DSA A to retrieve the requested information from DSA B without
further interactions with the client. In case two, the original client’s request is
answered with a referral to another directory server. The client is responsible for a
consecutive request. The cases 3 and 4 show two approaches for chaining. Case 3
depicts uni-chaining (one request is passed through several DSAs). Case 4 shows a
multi-chaining example (one request is forwarding it to two or more other DSAs).
[ITU-X500]
The concept of replication was introduced to improve the availability and reliability of a
directory service. Replication is employed under every circumstance that denies an
LDAP server the appropriate processing of incoming requests. The concept
comprises clients, masters, and slaves. The master, a special LDAP replication
daemon, offers the replication service to slaves. Modifications made by clients on the
master LDAP server are automatically forwarded to all relevant slaves. [Draft-LDUP]
An example for a directory service that covers multiple technologies is JNDI. Here, a
name is related to a naming context, which is the starting point for exploring a
namespace. An initial context contains a variety of name bindings from one or more
naming systems [JNDI-API].
Visualization
In the actual world of computing, human beings interact more with information objects
and less with computers. Hereby the computer is a tool that is used for the interaction
with information objects. HCI provides skills and techniques for information design
and makes computers more and more invisible. Interactions are split into the human
side and the mechanism side for one particular machine. The main fields of HCI are
[Hewett96]:
¾the tasks by humans and machines;
¾the structure of communication between human and machine;
¾human capabilities to use machines (including the learnability of interfaces);
¾algorithms and programming of the interface itself;
¾engineering concerns that arise designing interfaces;
¾the process of specification and design; and
¾the implementation of interfaces.
The first and central question at the beginning of a HCI process should be: “What is
the goal and how can it be achieved?” This question can be answered with a human-
machine categorization followed by a task analysis. One analytical method follows the
GOMS22 model [John96]. It provides a guideline to investigate tasks in the terms of
goal-directness, the amount of required skills, the control of interactions, and the
interaction sequences.
The characterization of tasks in the context of other tasks is another key concern in
HCI [Wright96]. Control of interaction can be done in an active or a passive context.
In the active context, the machine requires a direct action (e.g. a video game). In
passive contexts, tasks can be performed by the user at will because no direct
response is necessary (e.g. web browser).
The intended functionality is by, for example, commands a user can enter and
or/items he can selection completing a sequence of interactions. Input and output
devices and techniques should be predefined. The relevant input techniques which
best match with user requirements are to be determined. This can be keyboard-
based (e.g. commands, menus), mouse-based (e.g. picking, rubber-band lines), pen-
22
Components of a design model : Goals, Operators, Methods, Selection rules
Dialogue is the technique for interaction with humans. [DIN96] describes sound
issues that need to be considered. Dialogues should work adequate, self describing,
controlled by hand, reaction conform, error tolerant, and individual to adapt. They
should also assist in learning to control an application.
Some basic concepts of computer graphics are useful for HCI, too, like the use of
color, 2-D and 3-D spatial organization. The graphic representation of data can be
form based, diagram oriented, iconic, or a combination of all three representations
[Tiziana96].
Management Services
resources, and enable costs to be combined where multiple resources are invoked to
achieve a given communication objective.
[Linington95] Linington, P.: Why objects have multiple interfaces. ISO/IEC JTC1 SC21 / WG7
Draft answer to Q7/5, 1995
[Magedanz96] Magedanz, T., Popescu-Zeletin, R: Intelligent Networks. Basic Technology,
Standards and Evolution. Int. Thomson Computer Press, London, 1996
[Magedanz01] Thomas Magedanz: Enhancing Parlay with Mobile Code Technologies. Proc. of
the 6th IEEE Intelligent Network Workshop, IN2001, Boston, MA, USA, May 6-9,
2001
[MSDN-UI01] Microsoft: User Interface Design and Development. Microsoft Developer Network
MSDN
<http://msdn.microsoft.com/library/> (last visited 10/23/01)
[OMG-OMA] Object Management Group: A discussion of the Object Management
Architecture. OMG Document 00-06-41, OMG, January, 1997
[Orfali96] Robert Orfali, Dan Harkey, Jeri Edwards: The essential distributed object survival
guide. John Willey & Sons, New Yprk, 1996
[Palme02] Jacob Palme: Acomparision of ABNF, ASN.1, and XML. Course Internet
application protocols and Standards. last revised March 18th 2002
<http://www.dsv.du.se/jpalme/internet-course/Int-app-prot-kurs.html>
(last visited 05/19/02)
[Raymond95] Raymond, K: Reference Model of Open Distributed Processing (RM-ODP):
Introduction. Proc. of the International Conference on Open Distributed
Processing, ICODP’95, Brisbane, Australia, 20 - 24 February, 1995
[Röhricht01] Röhricht, J., Schlögerl, C.: cBusiness. Addison Wesley, München, 2001
[Scheer02] August Wilhelm Scheer, Thomas Feld, Sven Zang: Vitamin C für Unternehmen –
Collaborative Business. Reihe „Kompendium der neuen BWL“, Frankfurter
Allgemeine Zeitung, Nr. 53, Seite 25, Frankfurt, 4. März 2002
[Schlosser97] Otto Schlosser, Jun Suzuki: Mac OS 8 Human Interface Guidelines. Apple
Computer (CA), Technical Publications, 1997
[Stroustrup92] Bjarne Stroustrup: Die C++ Programmiersprache. Second Edition, München,
Addison-Wesley, Reading, Massachusetts, 1992
[Tannenbaum96] Andrew S. Tannenbaum: Computer Networks. Prentice Hall International, Third
Edition, 1996
[TINAC] <http://www.tinac.com/about/principles_of_tinac.htm> (visited 11/01/01)
[TINA-BM] TINA-C: TINA Business Model and Reference Points. TINA-C Deliverable, TINA
1.0, Version 4.0, May 20, 1997
[TINA-CMC] TINA-C: Computational Modeling Concepts. TINA-C Deliverable, TINA 1.0,
Version 3.2, Archiving Label TP_HC.012_3.2_96, TINA-C, May 17, 1996
[TINA-EMC] TINA-C: Engineering Modeling Concepts (DPE Architecture). TINA-C Deliverable,
Version 2.0, Archiving Label TB_NS.005_2.0_94, TINA-C, December 1994
[TINA-ODL] TINA-C: TINA Object Definition Language Manual. TINA-C Deliverable, TINA 1.0,
Version 2.3, Archiving Label TR_NM.002_2.2_96, TINA-C, July 22, 1996
[Tiziana96] Tiziana Catarci, Shi-Kuo Chang, Maria F. Costabile, Stefano Levaldi, Giuseppe
Santucci. A Graph-based Framework for Multiparadigmatic Visual Access to
Databases. Universita di Roma “La Sapienza”, Roma, 1996
[TMF-ACT01-99] TeleManagement Forum: Requirements of Management of ORB-based
Telecommunication Management Building Blocks. TIM/ACT Working Document,
Issue 1, August 2nd, 2000
[Tönnby00] Ingmar Tönnby: It’s all about co…. 7th International Conference on Intelligence in
Services and Networks, IS&N 2000, Athens, Greece, February, 23-25, 2000
[W3C-XML] World Wide Web Consortium: Extensible Markup Language (XML) 1. W3C
Recommendation, 10-February-1998;
<http://www.w3.org/TR/1998/REC-xml-19980210> (last visited 11/01/01)
[W3C-XML-10P] World Wide Web Consortium: XML in 10 points;
<http://www.w3.org/XML/1999/XML-in-10-points> (last visited 11/01/01)
[Wright96] Peter C. Wright, Bob Fields, Michael D. Harrison: Distributed Information
Resources: A New Approach to Interaction Modelling. Dept. of Computer Science
University of York, Helsington/York, 1996
[Zeltserman99] David Zeltserman: A practical Guide to SNMPv3 and Network Management.
Prentice Hall PTR, Upper Saddle River, NJ, USA, 1999
[vdMeer02] Sven van der Meer: Middleware and Application Management Architecture. PhD
Thesis, Technical University Berlin, October 25, 2002
Administrative Appendix
This Appendix provides additional background material about the TeleManagement
Forum and this document. In general. sections may be included or omitted as
desired, however a Document History must always be included..
This document will continue under formal change control. Further work will be
reflected in revisions to this document.
This document will continue under formal change control. Supporting work will be
issued as companions to this document. A document of this type is a “living
document,” capturing and communicating current knowledge and practices. Further
inputs will be made because of detailed work ongoing in the TM Forum and the
industry.
Document History
Version History
CCB comments.
5.2 2005.11.07 Tina O'Sullivan Updated template and
other cosmetic items.
5.3 2005.11.14 Tina O'Sullivan Removed section 8.
5.4 2006.07.24 J. Fleck Updated and corrected
Section 4 (includes
separation of NGOSS
Core and Container
Artifacts and Application
Definition as well as minor
error corrections)
5.5 2006.09.11 J. Fleck Update of Manageability
requirements for NGOSS
Software Artifacts to align
with forthcoming TNA
Manageability Addendum
5.6 2006, Sept. 25th Tina O'Sullivan Final updates prior to
submission to baseline.
5.7 2006, Nov 21 Tina O'Sullivan Approved by CCB to
enter Member Evaluation
Release History
Acknowledgments
This document was prepared by the members of the TeleManagement Forum
Lifecycle team – TNA working group:
Martin Creaner TeleManagement Forum
Tina O’Sullivan TeleManagement Forum
Joel Fleck Hewlett-Packard (team lead)
Dave Raymer Motorola
Martin Huddleston QinetiQ
John Strassner Motorola
Sven van der Meer Waterford Institute of Technology (current editor)