NGOSS Tutorial
NGOSS Tutorial
NGOSS Tutorial
TMF 053
Public Evaluation
Version 2.5
May, 2002
NOTICE
The TeleManagement Forum (“TM Forum”) has made every effort to ensure that the contents of this document
are accurate. However, no liability is accepted for any errors or omissions or for consequences of any use made of
this document.
This document is a draft working document of TM Forum and is provided to the public solely for comments and
evaluation. It is not a Forum Approved Document and is solely circulated for the purposes of assisting TM Forum
in the preparation of a final document in furtherance of the aims and mission of TM Forum. Any use of this
document by the recipient is at its own risk. 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.
This document is a copyrighted document of TM Forum. Without the appropriate permission of the TM Forum,
companies that are not members of TM Forum are not permitted to make copies (paper or electronic) of this draft
document other than for their internal use for the sole purpose of making comments thereon directly to TM Forum.
This document may involve a claim of patent rights by one or more TM Forum members, pursuant to the
agreement on Intellectual Property Rights between TM Forum and its members, and by non-members of TM
Forum.
The TeleManagement Forum would like to acknowledge the contribution made to this effort by the following
people:
TM Forum Documents
The NGOSS Technology Neutral Architecture Specification is being issued as Public Evaluation Version 2.5.
The purpose of an Evaluation Version is to encourage input based on experience of members and the public as
they begin to use the document. Following the Evaluation Period, documents that are seen to deliver value are
candidates for formal approval by the TM Forum. All documents approved by the TM Forum undergo a formal
review and approval process.
This document will continue under formal change control. Further work will be reflected in revisions to this
document.
Revision History
R. Trivedi
Time Stamp
This version of the NGOSS Architecture Technology Neutral Specification, TMF 053 Version 2.5, can be
considered valid until November 2002.
If the document version has only been released to members for review and comment, the document can be
downloaded from the Members Only area of the TM Forum Web Site.
Paper versions can be made available for a small fee to cover copying, mailing and handling. If you would like a
paper version of this document, please order via the TM Forum Web Site or contact the TM Forum office. If you
are not a member, please contact the TM Forum office on +1 973-425-1900.
TABLE OF CONTENTS
Notice.......................................................................................................................................................................... ii
Acknowledgments...................................................................................................................................................... iii
Time Stamp.............................................................................................................................................................v
Preface .......................................................................................................................................................................x
1 Introduction..........................................................................................................................................................1
5 References ........................................................................................................................................................48
6.2 Assumptions...............................................................................................................................................49
LIST OF FIGURES
Figure 4. Static structure of relationships between Models, Contracts, and Contract Sets ..................... 17
Figure 7. Tangible Artifacts with the NGOSS Technology Neutral Architecture ...................................... 21
PREFACE
· Agreeing on information that needs to flow from one process activity to another
· Identifying a realistic systems environment to support the interconnection of operational support systems
· Enabling the development of a market and real products for integrating and automating telecom operations
processes
The members of TM Forum include service providers, network operators and suppliers of equipment and software
to the communications industry. With that combination of buyers and suppliers of operational support systems,
TM Forum is able to achieve results in a pragmatic way that leads to product offerings (from member companies)
as well as paper specifications.
TeleManagement Forum supports several kinds of projects, including Process Automation and Technology
Integration projects, as well as Catalyst Projects that support both Process Automation and Technology Integration
projects through real-product integration.
This document defines the business problem and requirement model for creating an NGOSS Architecture. The
Specification represents a consensus view on how to solve a specific business problem. It is expected that this
document will be used:
1.1 Background
With the gap between the worlds of data communications and telecommunications rapidly disappearing, the
complexity and size of the networks supporting the emerging information and communications industry is
increasing at a corresponding rate. The ability of existing OSS solutions to manage information and
communication networks is being rapidly outpaced by the growth of the networks. A new generation of operation
support system is needed to manage the new generation of networks.
The Operational and Administration Management system of today has become a roadblock to innovation, instead
of a business tool for competitive success. The pace of change in the industry is such that incremental
improvements will not work effectively. Service providers must increase their operational efficiency by an order of
magnitude to compete, while software developers and systems integrators need to find completely new ways of
quickly producing profitable solutions.
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 a standard set of Processes for the Information and Communications Services Industry
- Definition of the Systems Framework upon which these business solutions may be built
- Creation of a resource base of documentation, models, code and training materials to support the
TM Forum members in their own development of NGOSS components
- Development of an industry compliance program to certify solutions and products for compliance to
the NGOSS Specifications.
The goal is to define a component based, distributed systems architecture and an associated critical set of system
services that this architecture requires.
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.
This initiative will provide an industry roadmap of common implementation principles to be adopted by all
stakeholders in the value chain. The end objective is for the management systems integration of ‘off the shelf’
software to be accelerated, leading to reduced time to market. It is equally important to provide the ability to
change and update installed NGOSS systems in accelerated timescales.
Ø The Application Component Team [ACT] project developed the concept of OSS building blocks that
1
communicate via well-defined contracts . It identified separate tiers for Human Interaction, Process
Automation, and Enterprise 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 enhanced Telecom Operations Map™ [eTOM] presents a high-level overview of Telecommunications
OSS business processes. This is described in TM Forum document GB921, and provides the analytical basis
for business process integration across the OSS space. The eTOM builds on, and supercedes, the popular
TM Forum Telecom Operations Map (TOM) document (GB910).
Ø The Systems Integration Map [SIM] project is concerned with partitioning OSS functionality into standard
management domains and business objects, in order to facilitate interchange of information between separate
components within an OSS. The SIM deliverable, GB914, is a reference map for specifying OSS
components.
Ø 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 is now being incorporated into the technology-specific work of NGOSS.
Ø 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, and
the use of common communications and directory services. The Catalyst program is complementary to, and
migrating towards, NGOSS style development, with the findings of one activity incorporated into the other on
an ongoing basis.
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.
As the program progresses, it is expected that an increasingly comprehensive library of documentation, models,
contracts and reference implementations will be built within the TM Forum and made available to the industry for
implementation and incorporation into products. This will enable the faster delivery of NGOSS-compliant products,
thus enabling the stakeholders to gain the benefits of a more homogeneous, yet flexible, OSS environment.
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 is contained in the following TM Forum documents
· TMF 051 (Business Case) [BIZ]
· TMF 052 (Requirements) [REQ]
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.
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 networks deliver
rather than blindly managing the networks components, 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.
This architecture document is of key interest to system integrators anticipating the new generation of operational
and business systems. Integrating applications from the existing and previous generations of support systems
typically characterized by closed, frequently monolithic architectures with multiple private copies of data and
differing (often proprietary) technologies, meant forcing an inter-application communication. The NGOSS
architecture with its support of a Shared Information and Data (SID) model, open interfaces and a common
systems framework will enable system integrators to concentrate on the delivery of a completely integrated
business solution rather than the narrower focus of trying to get a few applications to communicate.
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, the system integrator will concentrate much more on the flow of
the business process and the policies affecting the flow.
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.
The NGOSS Architecture document will be of critical importance to ISVs that are interested in competing in the
OSS marketplace of the new generation networks. Regardless of whether the ISV is interested in providing an
implementation of basic platform or middleware services, operational management applications, or both; this
document will provide the blueprint for success. As the service providers move towards the deployment of the
new generation networks, their demand for component oriented management systems software, based on the
principles and architecture of the NGOSS, will be the rule not the exception.
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.
This section provides an executive overview of NGOSS, the work leading up to this document and the
roadmap for progressing NGOSS. It also summarizes the utility of the document to each of the four
major stakeholders: service providers, system integrators, independent software vendors and network
equipment providers.
This section provides a general overview of the general architectural and design principles that
characterize the NGOSS. It is these principles that are supported and realized by the architectural
definitions described in later in sections.
This section provides an overview of the roles that are expected to use the NGOSS architecture. It
lists their needs in relation to this document, and others in the NGOSS document family.
This section describes the fundamental concepts behind the NGOSS architecture and highlights the
characteristics, which distinguishes this architecture from others built using distributed components.
This section also presents the overall NGOSS Architecture. The NGOSS Architecture includes a
number of features drawn from other industry standard architectures and the computer science field
of distributed system theory.
This section contains a list of references used in the formulation of this document.
This section contains a list of Issues and Assumptions that are seen as critical to the understanding of
the contents of this document.
Additional information will be covered, relative to this document through the creation and issuance of
amendments. The first two amendments are
· TMF053a: Glossary
· TMF053b: Contracts
Future amendments covering such issues as security, policy, directory enabled networking, and others are
expected to be released in the future.
· The external description of a service is separated from one or more specific implementations through a
mechanism called a “Contract”. Contracts enable different aspects of the business and system views of
an application to be integrated through the use of business and system models. For instance, most
business process models are in fact sequenced calls to business service contracts.
· A business process is represented by an executable meta-language description, which describes the flow
of execution between service-providing contracts.
· System behavior is controlled through the use of different types of management policies
A business process model may invoke lower level business process models. This means that a business process
step that a service provider desires to automate (e.g., verifying that the network exists to pre-provision a desired
service) may be made up of one or more lower level interactions with different system components that provide
that service.
NGOSS specifies that the business process models are distinct from the systems and processes that they control.
This means that the business process steps can be rearranged or altered independently of any change to the
component systems. Ideally, the underlying systems interactions are then automatically rearranged by the
process model execution system. However, an NGOSS system can have one or more translation steps from the
process model into an implementation technology if necessary.
An NGOSS system is characterized by the fact that all software entities that provide services to other entities do
so through a Contract defined interface. This Interface is a precise specification of the service (e.g., a prescriptive
model) with the following characteristics:
Contract defined interfaces are generally divided into two types. The first is a business service contract, which are
used to specify activities in support of the automation of the service provider’s business process(es). The second
is a framework service contract, which are used to perform ancillary (e.g., non-business-activity-specific) services
that are used by the software entities to carry out their operations and integration with the rest of the NGOSS
system.
The NGOSS system architecture is policy-enabled. A policy-enabled system is defined as a system that is
architected to provide support for policy based management, without requiring the presence of a policy
mechanism in the implementation of said system. Policies provide statements that define objectives as well as
methods that govern behavior within the system. These policies may link one or more of the business, system
(operational), and implementation views of the NGOSS system.
Policy is a mechanism to control system behavior. This is implemented in such a way that the underlying system
has no direct knowledge that policy is being enforced. Policy is implemented through the definition of a set of
policy rules that represent controlling behavior. For example, “All Users requesting Service X must have role Y”, or
“All Users within Geographic Region G can only request orders of type T”. Behavioral control over entities
managed by policy may be refined, producing nested policies. For example, the policy: “All Users within
Geographic Region G1 can only request orders of type T1” restricts users in area G1, which is a part of G, to only
request orders of type T1, which is a subtype of T.
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
policy applies to a given condition. Finally, it may be called upon to determine if there is a conflict between
applicable policies.
An NGOSS system is characterized by the existence of a single logon for any individual user. This grants the
NGOSS user access and privileges to use NGOSS services defined in their user profile.
through contracts. The business view grounds the contracts in fundamental requirements, and the system view
provides contract details (e.g., parameter values, pre- and post-conditions, and exceptions.
Contracts are not strictly part of the SID. However, it is expected that contract specifications use information in the
SID. It is important to note that in the case of contracts which require an information format that is inconsistent with
the common data representation, mediation is used to enable the contract interface to be mapped to a standard
interface using information defined in the SID.
An NGOSS system is characterized by the stewardship of distributed enterprise data. Stewarded data has two
fundamental characteristics that differentiate it from non-stewarded data.
· There is a clearly identified “steward”, that is an official repository of record, which is responsible for
maintaining the data. This is not meant to imply that NGOSS uses a single and/or centralized repository.
NGOSS systems are likely to have multiple repositories, some of which may be distributed, in order to
better effect communications.
· There is a clearly identified “owner”, which controls who can make changes to the data when and how.
This does not preclude the existence of shared data that are stewarded by multiple “owners” (e.g., a multi-
master directory) – in the case of such systems, there is still a clearly identified “owner” process that
decides which process (of possibly many that are trying to write the same object with different values) will
ultimately succeed in writing its value to the exclusion of all others.
A data steward also supports a control mechanism, so that a service can be informed of changes to critical,
shared data.
While the NGOSS architecture describes a neutral and uniform framework of services, components, and a shared
information model, real-world deployments may not represent or be able to implement this ideal. For this reason,
the NGOSS architecture includes the concepts of “adaptation” and “mediation”. Adaptation is a mechanism to
convert one entity that has a particular syntactic representation to another entity that has a different syntactic
representation, in order to enable interoperation of the two. Effective interoperation may still require the application
of a mediation layer.
Mediation is the process of translating from one level of representation and/or abstraction to another level of
representation and/or abstraction. Often, mediation of two entities is achieved by translating the two entities to a
common third form (e.g., the SID defined in GB922). Mediation enables entities to interoperate in a loosely
coupled way. For example, this allows contracts that do not talk natively to the SID to be mediated to it.
An NGOSS system is characterized by the existence of a registry that records information used during system
execution, such as the following:
· Naming services enable logical names and/or aliases to be assigned to a manageable entity that renders
a service
· The naming service then enables the subsequent access of that manageable entity by its names and/or
aliases
· The naming service provides the ability to bind attributes to a named object
· The Registry also supports a Trading Service, which enables objects to be accessed, selected and
located without knowing the precise name of the object (i.e., the attributes are used as trading
parameters)
· The location and state of all managed nodes in the managed environment.
· The location and state of all management nodes in the environment (e.g., how services and devices are
managed)
· The location and state of all management entities in the environment (e.g., people and/or processes that
can manage certain devices and services)
· The location and state of “models”, which are externalized descriptions of content and/or behavior, as
described below. Two important types of models are Contracts and Policies, each of which are defined
further in sections 4.3 (Contracts) and 4.8 (Policies).
· Information that supports the use of the Contracts and Policies, such as the location and state of all
Contracts that are implemented by software entities in the system, or the set of user and role information
that is used by different Policies. The NGOSS SID defines this information.
The existence of a single logical registry is assumed, regardless of whether it is physically implemented as a
single or a distributed system.
In general, a contemporary OSS can be described as tightly coupled, loosely integrated systems comprising a
number of monolithic applications, each offering a set of services in a particular application domain. These
systems are loosely integrated via mediation gateways. An NGOSS system is characterized by the fact that the
software entities (also called “components”) within it are “loosely coupled” and distributed. This means the
following:
· The software entities run independently of each other and any operation of one does not necessarily
interrupt or affect any other.
· The software entities are capable of executing in a computing node in any configuration of computers that
are connected together by a common communications vehicle.
· Software entities may be added or removed without affecting the behavior the other software entities
· The combined behavior of the system is a function of the individual software entities that comprise the
system.
· Information used by multiple software entities belongs to the consolidated enterprise information model.
This approach enables componentized and/or distributed applications to be built to perform various OSS functions.
An NGOSS system is characterized by the existence of a number of ancillary framework services that are used to
facilitate the operation of the components. Not all framework services have to be present for the system to be
considered to be an NGOSS system. Two of these framework services have been introduced already: a common
communications vehicle (section 2.2) and the registry (section 2.3.4). Some of the others include:
· Invocation
The service that allows one software entity to invoke a service provided by another software entity,
according to the rules of the Contract for that service and other relevant Policies.
· Shared Information and Data Management
The services that steward, or manage read and write behavior against information that is needed or
operated on by more than one component.
· Trading
The services that finds specified registry contents (typically Contract implementer lists) according to
attributes rather than specific names.
· Policy
The services that define, manage and execute policy definitions and ensure their application. These may
be implicitly or explicitly called upon to validate something against a policy (such as a user’s access
according to a security policy), or may operate on an autonomous basis, monitoring and alerting (such as
assuring that a given level of service invocation capability exists within the system) other entities in the
NGOSS system.
· Security
A set of mechanisms that enforce authentication, authorization, accounting and auditing.
These technology specific mappings are expected to leverage industry standard frameworks (e.g., frameworks
that support distributed computing, component-based architectures, etc.). Hence NGOSS deployments will
benefit from the efforts to develop said frameworks.
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.
The NGOSS architecture represents a facility for constructing distributed systems that support business processes
associated with managing information and communications services domains. It provides a technology-neutral
way of describing the structure of these systems, composed from a series of components making use of
technology-specific implementations of basic services. This is similar to the organization of other distributed
component implementation models (such as CORBA or Enterprise Java Beans), and thus the responsibilities
involved in the design and development of NGOSS systems is similar to the responsibilities described for other
similar types of systems.
There are distinct roles associated with the design of the infrastructure, design of the components, and design of
the system, each with their own set of responsibilities. These are described in more detail below:
· A Business Process Planner: This responsibility focuses on the definition of a business process flow.
· A Business Process Analyst: This responsibility acts as an intermediary between the Business Process
2
Planner and the Domain Analyst.
· A Domain Analyst: This responsibility focuses on defining an Analysis Model for a scoped area of
management related problems for which NGOSS business components are sought.
· A Contract Designer: This responsibility focuses on the design and publishing of Contracts that may be shared
and reused by others
· A Component Builder: This responsibility focuses on the analysis, design, implementation, testing and release
of component-based software. The output of this role is a set of components that can be used by any NGOSS
system.
· A Systems Builder: This responsibility focuses on analyzing the business needs of a system and designing,
3
implementing and testing a solution that meets those needs.
· An Infrastructure Builder: This responsibility focuses on delivering platform systems that provide the
Framework Services needed by Business Components.
· A System Administrator: This responsibility focuses on monitoring and managing a system containing
component software in order to ensure it operates within required operational parameters.
2
The Business Process Analyst has an in-depth knowledge of the existing NGOSS deployment as well as understanding of the
overall business operation into which the new process will fit.
3
This role will aim to make maximum use of existing contract specification and component software. The system builder
selects from the available set of components, not necessarily aware of the internal structure and implementation of said
components. To the extent possible, the relevant characteristics of the component are described through the contract
specifications associated with the component.
· A System User: This responsibility focuses on a set of business tasks that involve using services offered by a
system containing component-based software. A system user is primarily concerned with the operation of the
4
system, rather than how the system is constructed.
· An NGOSS Component: This responsibility focuses on providing services via its contracts, for which it may
need to interact with other components.
The following figure graphically illustrates the static relationships between roles (depicted as UML actors) in the
NGOSS Methodology:
1..n
A ctor
1.. n
S ervice E nd User
O rga niza tion
S ub scribe r
D om ain A na lyst
C ompo nent Bui lde r
S ystem User
Se rvice P rovider
4
There are two types of system users: end users and management users. The end users are concerned with getting the
business results from the system, and the management users are concerned with maintaining the reliability and availability of
the system to the end users.
: Busines s Proc ess Planner : Bus ines s P roc ess Ana lyst : Domain Ana lys t : Contra ct Desig ner
Define Business
Process
process: D efi ne
ProcessModel Requirements
[baselined]
requirements: Develop
RequirementsModel Domain Model
[baselined]
model: Create
DomainModel Specifications
[baselined]
tncs:
ContractSpecifcation
[bas elined]
The deliverable output of the Create Specifications activity is a technology neutral contract specification (other
outputs, such as refinement of the information and data model specifications, are not shown in the above figure in
order to keep it as conceptually simple as possible). The creation of the technology neutral contract specification
is further decomposed in the following figure.
Assign
Name
Define
Behavior
In Figure 3, the “Define Conditions” subtask is used to define pre- and post-conditions that are necessary to
ensure that the environmental constraints and behavior of the interface are correctly defined. All of these subtasks
involve the definition of shared information and data.
Instances of shared information are termed information objects. Information objects are used to represent
different aspects of a managed entity. These include definition of the basic characteristics of the managed entity
(in the form of attributes), basic operations on that entity (in the form of methods), and how the entity interacts with
other managed entities (in the form of relationships). In addition, the behavior of a managed entity can be
modeled. In NGOSS, we abstract this behavior to a contract. Thus, the parameters (both request and response)
as well as any exceptions that may be generated during the execution of the contract implementation are all key
elements that are modeled. This is done in the system analysis views of the SID.
The definition of the shared information needed by a specific contract may (and is in fact encouraged to) reuse
existing shared information definitions. Shared information definitions are contained within the SID. It is assumed
that the reuse of shared information definitions will be accomplished by one of two mechanisms. These
mechanisms are by-reference and by-copy-and-extend. In the former case, the definition of information contained
within a specific shared information model is referenced by name. In the latter case, the definition of shared
information is copied from an external shared information model, into a local shared information model, and then
referenced by name.
The third of the parallel subtasks, define conditions, provides for the determination of the pre-conditions (if any)
that must exist prior to the invocation of the contract, and the post-conditions that an implementation of the
contract must leave the system in once the behavior defined by the contract specification has been performed. It
is further asserted that the specification of both the pre-conditions and post-conditions should be restricted to
information that the contract specification would have direct knowledge of and authorization to access.
The actual definition of the Contract and the Shared Information associated with it is ultimately dependent on the
existence of a number of models. The following figure depicts the static structure of the relationships between
these models. Furthermore, it is inevitable that an NGOSS Worker will determine that a number of contracts are
related in some logical fashion. A logical relationship between contracts is represented using the concept of a
contract set. This concept is also graphically illustrated in the following figure.
Model
ProcessModel RequirementsModel
DomainModel
2..n
ContractSet C ontract InformationObject
Figure 4. Static structure of relationships between Models, Contracts, and Contract Sets
Contract sets are logical groupings of contracts that are viewed by a system user as being related in some
fashion. The architecture places no constraints on the relationship that is used to determine which contracts are
included in a specific contract set. For example, a single specific contract may be referenced by multiple contract
sets. A valid contract set is assumed to reference a minimum of two contracts.
The contract specification will be used in various manners, once the specification has been baselined. However,
from an architectural perspective, discussion of such uses is considered to be out of scope, and therefore is not
pursued within this document. Please see TMF053b for more information.
Information and data models (in the form of the NGOSS SID) are used to represent:
Section 4.1 discusses the concept of NGOSS Structure using a concept called architectural views. It introduces
the control flow diagrams that provide relationships between NGOSS components, with respect to time. It also
discusses meta-information representation and modeling. Modeling is discussed in Section 4.2.
In order to describe the behavior of a component in an abstract and technology-neutral fashion, the interface for
each Service implemented by an NGOSS Component must be represented by Contract Specifications. These
Contract Specifications form the “declarative glue” for integration with other NGOSS components. The Contract
Specifications do not change with technology specific implementations. Section 4.3 discusses the NGOSS
Contract Specifications.
In order to register and locate the Contracts and their component implementations, Distribution Transparency
Framework Services play a significant role in NGOSS architecture. Section 4.4 discusses the Distribution
Transparency Framework Services, such as Registry and Trading. These provide the services of naming, locating
and trading components in the distributed NGOSS environment.
NGOSS defines the role of a conductor/coordinator. This role is fulfilled by the Process Management Framework
Service, which coordinates activities spanning across the Business Services. Process Management Framework
Service is discussed in Section 4.6. This acts as a conductor/coordinator of activities.
NGOSS architecture is based on the powerful concept of Shared Information. This enables interaction between
NGOSS components within and across jurisdictions. Shared Information Management Framework Service is
discussed in Section 4.7.
NGOSS architecture is policy-enabled. The Policy Management Framework Service acts as a supervisor of
operations being carried out by other NGOSS components. Policy Management Framework Service is discussed
in Section 4.8.
Figure 5 shows the structure of NGOSS architecture and the relationship between Basic Framework Services,
Policy Framework Services and Business Services. The Basic Framework Services provide functionality at the
lowest level. These are used by Business Services to satisfy NGOSS Contract Specifications.
Process
Policy Business Services Def Doc
Framework Process
Mgr
Services
Management
Policy Doc
Systems
Management
Service Basic Framework Services
Security
Policy Doc
Note the use of the Process Manager Framework Service to integrate the Business Services. Also note that
another pair of Business Services communicates without using the Process Manager. The actual Process
Definition is located in a “model document” which is being used by the Process Management Service, just as the
Security Policy and the Management Policy documents are being used by their particular Framework Services.
The Basic Framework Services may also be used by the other Services. For example, the Process Definition
document would actually be found by fetching it from the Registry Framework Service. Likewise, each use of the
Invocation Service (by a different user) would call upon the Security Service to determine if the requested
invocation should be permitted.
· Business Services – these provide elements of business functionality which are presented through
Contract Specifications
· Framework Services – these provide the capabilities needed to support the patterns of interaction
between components implementing Business Services. Examples include Process Management,
Transaction Support, Security, etc. These framework services are also provided through appropriate
contract specifications.
The Framework Services include communications, registration, lookup and trading, invocation, shared data
management and policy management, among others. These services have been drawn from the analysis of the
support requirements of typical Business Services, and from the services typically provided in distributed system
frameworks.
Framework Services may be further sub-divided into those that are mostly concerned with supporting the needs of
a distributed system and those that are more directly associated with supporting business services. This
characterization is shown in Figure 6. In general, the business support services are more important in an NGOSS
environment.
Business Service
Transaction Process
Shared Support
Information Processing Management
Distribution
Naming Directory Trading Invocation Support
The contract specification is the technology neutral definition of functionality, while the contract implementation
specification is the API reference that is used by developers to either code the contract implementation, or make
use of a contract implementation. Finally, an NGOSS Component is the unit of packaging for contract
implementations.
<<executable>>
NGOSSComponent
2..n
<<document>> <<code>>
Contract Implementation Specification ContractImplementation
<<implements>>
<<refine>>
<<document>>
ContractSpecification
· Entries that identify important Shared Information, which includes Contracts and Policies,
· Contract Registrations,
The NGOSS System Registry provides a repository (assumed to be a single logical repository, possibly comprised
of a federation of separate physical repositories) that provides instructions on where the entities specified above
are located and how they can be accessed and/or invoked. The access and invocation of these entities is done
through the naming, directory, and trading framework services. The NGOSS TNA assumes that the registry
enables different clients to find and invoke various shared NGOSS components.
An important means of accessing shared NGOSS information uses the following principles:
Furthermore, it is assumed that the Registry will also provide access to managed entities in the shared information
and data models that need to be shared. For example, common policy information that is shared across systems
may be found and accessed using the Registry.
It is further assumed that NGOSS components will re-use the basic functionality of the Registry in an ad-hoc
fashion. This ad-hoc reuse includes such operations as making extensions to the SID available to other NGOSS
components. Another example is to store proprietary information via the NGOSS framework naming and directory
services.
The Registry is assumed to be of importance only during discovery operations. That is to say, once the definition
of a piece of shared data has been found, and its provider or binding to a contract implementation has occurred,
the Registry is no longer needed. This holds until such a time that the binding and/or information definition is
discarded by the Registry client and must be re-established.
SharedDataEntities PolicyEntities
+dependsOn
<<control>> <<metadata>>
ContractRegistration NGOSSSystemsRegistry NGOSSComponentRegistration
0..n 0..n 0..n
0..n
<<metadata>>
ContractImplementationRegistation
· Client
The Component Execution Environment is that portion of the system that provides the capability to create Contract
Implementation Instances from the contract implementations contained within NGOSS Components. A Contract
Implementation Instance can be thought of as being a process or task that is executing on a computing platform.
The Interface Implementation Instance Descriptor (hereafter I3D) represents a remote invocation handle that is
used by a Client to request that a service be performed. By way of example, in a CORBA based NGOSS
deployment, the I3D is an IOR; in a Java Jini environment, it would be the client proxy reference.
Figure 10 shows a Control Diagram, indicating the typical sequence of interactions that occur between
components in an NGOSS system. The labeled arrows indicate the sequence of messages that flow as the
Process Manager invokes a Business Service that in turn depends upon a Framework Service.
Component
Process
implementing
Manager
Business Service
4 1
reply request 2
Information Exchange
3
This diagram makes it clear that the services (and the components that implement them) are decoupled via the
communications service. In order to invoke an operation, a component creates a request and sends it via the
communications service. The response comes back in a similar way. It is important to note that the exact nature
of the NGOSS communication services is a technology specific dependency. That is to say, in some technology
specific implementations, the NGOSS communication services may be supplied by a specific identifiable
component, whereas in others, it may be an endemic functionality provided transparently by the technology.
This control diagram simplifies a number of steps, which are shown in more detail in later diagrams, such as
locating and requesting the target service, providing the proper transport semantics of the request/reply
interaction, error handling, and the role of the contract specification when the target service is invoked.
There is more to NGOSS than an abstract architecture, however. A high degree of technology-independence is
essential if NGOSS is to withstand the rapid pace of technical innovation in distributed systems technology. As
well as placing constraints on the core architecture, this requires ongoing NGOSS activities to identify and map
existing and emerging technologies to the technology neutral architecture, so that NGOSS can continually
leverage the best technologies over time.
The following sections describe the core architectural elements of the technology neutral architecture. These
include NGOSS Contract Specifications, NGOSS Components, NGOSS Distribution Transparency, NGOSS
Process Management Services, NGOSS Shared Information and Data Management Services, NGOSS Policy
Management Service, and the NGOSS Adaptation and Mediation Services.
4.2 Models
The term “model” here refers to the external specification of the characteristics and behavior of managed entities.
There are two types of models in the NGOSS. An information model 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 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 is built around the principle of externalizing this information, and expressing it in a technology-neutral
fashion ([6] provides a reference to Model Driven Architectures). Managed information defined in these models
can be located and accessed by using the Registry Service.
This section does not prescribe a specific technology to be used for expressing models, but for the purposes of
providing a set of examples for discussing the representation of Contracts, Processes and other important
artifacts, examples of Models are given. The representation of information within an NGOSS deployment will be
accomplished using the TMF Common Information Structure [TMF045], expressed using UML and encoded using
XML.
Metadata, literally, is defined as data that describes other data. For example, let’s consider a business object,
such as an “Order”. An Order typically has a set of invariant characteristics, such as order ID, date placed, id of
the customer placing order, and a collection of line items, each of which describe a product ID, a quantity, and a
price. These are implemented as attributes of a class that defines what an order is. The class can further define
operations that make information about the order available to other managed entities. Metadata, then, is used to
provide information about the Order object and how it is to be used in a managed environment.
The SID team has mandated that UML is used to define shared information and data. Similarly, there are many
different ways to express behavior. However, since the SID is based on UML, OCL (the Object Constraint
Language) is mandated for expressing computable expressions that affect managed entities. Implementing the
OCL expressions is outside the scope of this document.
Please see section 11 (Model Development Tools) for a brief discussion of issues related to model development
tools.
The relationship between Contract Specification and Component Definition is shown in Figure 11 below:
Legend
contract component
Business
Services
offered
Business
Design
=> contracts
grouped in components
Component
Design
=>binding specified for
each contract
The Contract Specification associated with the Business Service offered has a number of contributing parts.
These include:
2) A reference to the Framework Services needed by the Business Service in order for it to co-operate with
other Business Services according to the desired Interaction Pattern (e.g., to share in Transaction
Semantics with other Business Services).
3) A description of the possible exceptions and errors than occur during the execution of the Service.
4) Metadata that describes how managed entities affected by the execution of this Service react and interact
with other managed entities.
5) A list of pre-conditions that are to be met before the execution of the Service.
6) A list of post-conditions that are to be met after the execution of the Service.
7) A list of exceptions and notifications that can be generated by executing this Service.
8) A description of the Shared Information Objects that are altered by the execution of the Service. This
information is used to determine that the Contract can proceed (i.e., that no other Service has ownership
of the needed objects).
A Contract Specification calls upon a number of the concepts described above under the “Modeling” section. For
instance, the input and output specifications use the metadata facilities to describe the types used for input and
output arguments. For example, one of these might be the “Order” data type previously described.
The pre-condition and post-condition specifications use business logic facilities to describe the conditions to be
tested for at the start and the end of the execution of the Service(s) specified by this Contract. It is expected that
the pre-condition and post-condition specifications will be expressed as predicate-logic statements. In order to
ensure the correct operation of contract conditions, it is assumed that the host execution environment (i.e., the
thread of control that invokes the contract) is responsible for validating pre-conditions prior to invocations. The
contract implementation must then verify that the inputs are indeed correct. Once this is done, the contract
implementation must verify that the post-conditions can be satisfied after execution is completed. If the post-
conditions cannot be satisfied, the implementation is expected to terminate execution via an exception.
The following is a simple example showing the relationship between Services, Contracts and Components.
Component A supplies order-taking Business Services. Component B supplies order-validating Business
Services. Component C supplies order-escalation Business Services.
Each Component also makes full use of the Registry Framework Service. Hence, each registers itself with the
Registry Service at initialization time. Furthermore, Component A can locate Component B at run time. This
location can be accomplished using either the component name or the name of the contract.
· Display order
· Display order agreement
· Validate order
· Record order
· Check for duplicate order
· Escalate order
· Auto correct order
The following convention is suggested for the naming of contracts. A contract name should be created from a
combination of a verb with a descriptive predicate clause consisting of one or more nouns augmented by
adjectives as appropriate. The descriptive predicate clause should indicate the business object that is the target of
the operation, which is specified by the verb. In this way, a contract name describes the service (or services)
offered by the contract.
Since Components are expected to be made available and made unavailable to the system during run time, and
since new contracts may be placed or changed in the Registry Service during run-time, there is a specified
lifecycle for creating a new contract, then registering and un-registering the Components that implement the
Contract as appropriate.
For example, a Contract can be made “inactive”, which will cause all Components that implement the Contract to
no longer offer the Contract. This must be reflected in the Registry, or else Components will erroneously keep
trying to invoke a Contract that is no longer available. Additionally, a specific Component can mark its
implementation of the Contract to be “inactive”, in which requests to execute the Contract will no longer be sent to
it, nor will the Registry Service return references to it.
The essential framework entity that supports Distribution Transparency is the Registry. The Registry enables the
Naming Service, Directory Service, and the Trading Service to interoperate to provide distributed storage,
management, and retrieval of NGOSS information, such as contracts, shared information and data objects, and so
forth. The naming service enables names to be defined and manipulated for objects; the directory service binds
names to objects; the trading service enables fuzzy searching and matching based on attributes that have been
bound to a name.
The Trading Service provides for contracts to be traded based on client specifications. The Invocation Service is
used to manage invocation of contracts from one NGOSS component to another.
The NGOSS Naming Service manages the various named objects in the system. These include the Contract
Specifications, the identity of the Component implementing the Contracts, and the metadata and contents used for
shared data. It is organized around a multi-level namespace, which allows groups of names to be partitioned into
different namespaces. This is done to avoid name collisions as well as to perform “named object acquisition” by
having name-based searches continue into parent namespaces when a match is not found. This enables the
deployment of a system to have standard named objects located in higher namespaces, while deployment-specific
overrides are stored in lower namespaces and acquire the standard environment when not overridden.
This namespace partitioning is further discussed in Section 6. The namespace tree is also designed to hold
standard groups of names, much as how an operating system’s file system has standard directories for important
file. For instance, example namespaces could include the “Component ID” group, the “Shared Information Object”
group, and the “Contract” group. These are simply examples and should not be construed to represent or suggest
the layout of the NGOSS namespace in an actual deployment. The standardization of high-level components of
the namespace tree is essential in order to provide interoperability. Without these standardized components,
different applications will be unable to find common information. This prevents multiple applications from sharing
common NGOSS information.
The NGOSS architecture assumes the existence of four (4) different types of classes to represent names. The
most important of these classes is Name. Class Name defines the basic behaviors common to all types of
Names. The syntax of a given Name is governed by a naming system. A naming system contains a schematic
convention and a naming convention. The schematic convention of a naming system governs the relationships
that can be established between Names within that naming system. The naming convention of the naming system
governs the construction of a Name from the set of symbols that are valid within the naming system. A name
space is the set of all names within a naming system.
Three classes implement the interface defined by Name. These classes are
· CompoundName – used to represent a Name that is an ordered collection of Names from the same
naming system
example: “www.tmforum.org” is an instance of a CompoundName within the DNS naming system
· CompositeName – used to represent a Name that is an ordered collection of Names from two or more
naming systems.
example: “http://www.tmforum.org" is an instance of a CompositeName from the URI Naming
System, and is a valid name in the Internet Namespace.
The following figure (Figure 12) graphically illustrates the relationships between class Name and its three (3)
subclasses.
+components +components
Name
0..n
CompositeName
AtomicName CompoundName
The Directory Framework Service uses a specific Naming Service in order to allow the binding of names to
objects.
NamingConvention
<<constrained>>
1.. n
0.. n
NameSpace Binding
NamedObject Na me
The Directory Service is used to maintain information about the run-time state of the system, such as the deployed
Components and their Contract Specifications, where they are located, and how to invoke them. The Directory
Service manages the global namespace for contracts, information objects, components, processes and their
specifications in the system. At design-time, it provides a catalog of required and implemented Contract
Specifications, and at run-time it provides name-based lookup of shared Components and Services. This is used
by the Trading Framework Service to perform attribute-based matching. There may be one or more Directory
Services.
The NGOSS Registry Service provides a unified interface to a Naming Service, a Directory Service, and a Trading
Service. The NGOSS Registry Service manages a multi-level namespace through these three services. This
allows groups of names to be partitioned. Example namespaces include the “Component ID” group, the “Shared
Information Object” group, and the “Contract” group. A unique aspect of the NGOSS Registry Service is that
namespaces can be contained within other namespaces, so that entry in the Component ID namespace for a
component can contain subordinate namespaces for other components.
Figure 14 provides a control diagram that shows registration of a component as it is installed into the system, and
how later NGOSS software elements discover it by querying the Registry.
Componement
Implementing
Process Manager
Businss Service
2 3
discovery response 1 init-time registration
Information Exchange
Registry
Service
For larger implementations, the NGOSS Registry Service will support federating registries for the purposes of
partitioning and scalability of its location services. Federation is the ability to group physically separated entities (in
this case registries) into a single logical whole. Partitioning enables the different physical components of the
logical Registry to be treated differently (e.g., managed as well as accessed). The scalability of the Registry is
increased by decoupling the various components that make up the Registry. This enables them to be developed
and managed in parallel. Through these mechanisms, the NGOSS Registry can grow and support NGOSS
installations as they grow over time. Note that the Directory, Naming, and Trading Services can also be federated.
Figure 15 shows how the Registry and Naming Services interact with each other.
Component
Implementing
Process Manager
Business Service
2 5
discovery response 1 init-time registration
Communications Service
3
Naming Registry
Service Service
4
The Trading Service extends the functionality of the registry service by supporting the capability to bind attributes
to objects as well as the facility to search for the best match against a set of objects using the attributes that have
been bound to the objects as part of the search criteria. This service is intended to be used to support trading for
NGOSS contracts specifications, given the contract properties, rather than the contract identifiers.
The use of the Trading Service is similar to that shown in the control diagram for the Naming Service, except that
the Trading Service is invoked to perform discovery. The Trading Service uses the same information that is
registered in the Registry Service.
NamingConvention
<<constrained>>
1..n
NameSpace 0..n Binding
NamedObject Name
0..n
AttributeBinding
Attribute
The trading service maintains a set of AttributeBindings. Each AttributeBinding allows the attachment of an
attribute to a NamedObject that can then be used by the Trading Service to resolve trading requests.
There are several steps associated with requesting invocation of a Service on a remote Component, with the most
critical step being to ensure that the Contract's pre-conditions and post-conditions are tested and supported. In
addition, the Service implementer must be properly located, the Communications Service must be properly used,
results must be logged. Security must be applied at each step in the process. For this reason, the Invocation
Service is supplied 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. The Invocation Service calls upon the
Communication Service and others as necessary.
The Invocation Service will be the primary way that remote, authorized, and contract-validated invocation of one or
more Business Services supplied by another Component is performed. The specific steps associated with
invocation include the following:
(4) Tests the pre-conditions of the Business Contract; if these cannot be met, then an exception is
reported (otherwise, continues).
(5) Marshalls all parameters of the request into the implementation requirements. Sends the request
and waits for the reply.
(6) Marshalls the response from service implementation and handling exception conditions. Tests the
post-conditions of the Business Contract. If the post-conditions cannot be met, then an exception
is reported (otherwise, continues).
(7) Logs the invocation and its status (e.g., whether it was successfully invoked).
The Invocation Service performs all of the above steps to ensure the integrity of the invocation.
4.5 Components
The NGOSS architecture is a component-based architecture. From the minimalist point of view, components are
deployable containers that implement Contract Specifications. However, to fully understand the implications of
component-based systems, the minimalist point of view is insufficient.
Components are therefore, from the minimalist point of view, containers of contract implementations. Contract
implementations are used by the component execution environment, to create contract implementation instances.
5
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.
Contract implementation instances are runtime software artifacts that deliver services to other runtime entities
within a component based system.
6
For instance, in a Java™ based system, the component is embodied by the .JAR 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 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 Java™ 2 Component Model. One implementation of this is Enterprise Java™ Beans (EJB),
specifically via the EJB deployment descriptor.
One additional characteristic must be assigned to components in a high availability environment. This
characteristic is as follows:
· A component instance may not have persistent state [SZY]
Note that the above applies to a component, not a contract. Contracts, and the implementations thereof, will of
course create, manipulate, and rely upon information that is stored in a persistent fashion within the system. The
reason for this requirement is that in a high availability environment, the possibility of redundant component
installations must be accounted for. A component instance is the installation of a component foo within the
system in such a manner that a foo component can be instantiated by the component execution environment. If a
component instance has persistent state associated with it that is required by contract implementation instances,
and that state information becomes unreachable, for whatever reason, the ability to use a redundant component
instance is compromised. A component instance may have local configuration information, and information
related to the management of the component instance (license key, local directory server name, etc), but may not
maintain information at the component instance level to be used by contract implementation instances.
The NGOSS Architecture makes the following presumptions in regards to NGOSS Components:
· The NGOSS architecture does not define which contract interfaces and services are contained in a
particular component.
· The NGOSS architecture, however, defines how components operate in general, as well as how a
component installs and makes its services available.
Component-based development provides a number of advantages over the existing, traditional approach of
monolithic system development. These benefits include, but are not limited to:
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.
2. Re-use of components.
Business components may be re-used across multiple business scenarios. In addition, new business
scenarios may be viewed as ‘delta’ changes to existing solutions. The financial implications for this are
centered upon the need for only marginal additional costs when components have to be extended or replaced
to support the new business scenarios.
6
Java™ Archive File
It may be necessary to bring legacy non-NGOSS systems to an NGOSS environment for business /financial
reasons. This can be achieved by creating mediation interfaces between legacy systems and the NGOSS
components.
4. Flexibility of the systems environment and associated speed to market for new service products.
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.
The NGOSS focuses on the Contract Specification as the fundamental unit of functionality providing interfaces to
NGOSS Components. The NGOSS Component is a deployment container for at least two types of contracts:
This distinction avoids dictating which contracts the developer of an individual component is required to
implement. The individual component developer may implement those contracts that represent the functionality of
their product, be it a self-contained service quality management component (which may be represented by single
contract), or an end-to-end customer care system (which may be represented by multiple contracts). However,
they are required to implement the management contracts needed to manage a NGOSS component.
An NGOSS Component can be further categorized, as discussed earlier, into an NGOSS Framework Service
Component and/or an NGOSS Business Service Component.
· An NGOSS Framework Service Components (FSC) implements one or more fundamental infrastructure
services within the NGOSS that enable the features of the NGOSS architecture (such as plug and play
and contract-trading) to be realized.
· An NGOSS Business Service Component (BSC) provides services that support the business-related
functionality of the NGOSS architecture, such as billing, rating and discounting, network data
management, and others.
The Process Management Service acts as a conductor or coordinator of activities spanning across the NGOSS
Components implementing the Business Services. This Service provides the externalized process control that
has been mandated by the NGOSS Service Provider stakeholder. The Process Management Framework Service
ideally executes logic expressed using a means that is different from the implementation language used for the
component. This makes it easier to rearrange and/or alter the business process steps, and then have the Process
Management Framework Service rearrange the interaction between the Components (if necessary). There may be
multiple such Process Management Framework Services within an NGOSS environment, each one used at
multiple levels of abstraction in implementing the control structure of a system.
For each NGOSS business process, Process Management can decide or can execute decisions on behalf of
external systems that control which business contracts need to be invoked in what order and in what relation to
each other. Each decision is based on a number of factors: the process plan, which includes policies, product
definitions, and service level agreements; the outcome of the previous contract invocations; the states of the
pertinent business and functional service components; the availability of business contract instances of the next
business contract type required for invocation.
· Process Management is responsible for registration and maintenance of available process definitions.
The process definitions can be managed directly by Process Management, or can be made available to
Process Management by external systems through contracts offered by Process Management
components.
· Process Management gathers knowledge about the state of business and functional service components
through the usage of standard NGOSS contracts, including management contracts, where applicable.
· Process Management may use trading capabilities as appropriate to determine the availability of business
contract instances.
The following figure shows Process Management with a process plan that can include suggested variable paths
of contract sequencing. In addition, it shows contracts from particular components being invoked and returning
indication of contract completion.
Process
Management
A process is a set of one or more linked activities that collectively realize a business or system goal [7] . In current
UML terminology, this is most closely represented by an activity graph. An activity graph is a special case of a
state machine that defines a computational process in terms of the control-flow and object-flow among its
constituent actions. The primary purpose of an activity graph is to describe the states of an activity or process that
involves one or more managed entities. Activity graphs include the concept of Partitions to organize states
according to various criteria, such as the individual or organization that is responsible for their performance.
The definition of the behavior of a business process can be expressed in terms of named, UML activity diagrams.
Additionally, each activity state within the diagram will be named, and corresponds to the invocation of a contract.
Process Definitions can be offered, implemented, activated, and administered like Contract Specifications. A
Process Definition can also be made “inactive”, which will cause all Process Managers to be unable to start more
processes that are based on that definition.
A Business Process is executed by the Business Process Engine. The business process engine maintains an
overall execution context, termed the business process engine context, which maintains the global state of the set
of business processes currently executing within the system. A business process is defined by a process
definition script, which contains the sequenced description of the business processes (in terms of contracts) to be
executed. Here, a process definition script is not meant to imply any particular scripting language – rather, it
simply means a sequenced collection of business processes.
The execution of a contract is called a contract invocation, which corresponds to a defined task within the
business process itself. This may be the invocation of an information provider contract, or of a (business) service
7
contract . The business process engine executes a process definition script, maintaining a context for each script
execution instance.
From a security standpoint, the NGOSS technology neutral architecture makes the following assumptions:
· A business process, as defined by a process definition script, executes under one or more specified roles
· During the execution of a process, the business process engine assumes the role(s) specified by the
process definition script
· The access privileges of the business process engine are restricted as appropriate to the specified role(s)
· An executing script does not have access to the globally maintained business process engine context
unless one or more of its roles have access to the business process engine context
In general, an executing business process has access to the following items:
· Any information passed to the process definition script execution context by the business process engine
· Any request parameters passed to previous contract invocations within the same process definition script
execution context
· Any response parameters generated by previous contract invocations within the same process definition
script execution context
The static structure of the analysis classes related to the execution of business processes is depicted below in
Figure 18.
7
At this time, it is assumed that service providing contracts are providing services of a business aware/supporting nature. It is
possible that at some time in the future it may be determined that the execution of a business process may require the ability to
directly invoke a framework service.
BusinessProcessEngine
Context
0..n
<<control>>
BusinessProcess <<document>>
BusinessProcessEngine
ProcessDefinitionScript
0..n 1 1
RequestData
1
0..n
<<document >>
ProcessDefinitionScript Task ContractSpecification
ExecutionContext
ResponseData
+child
0.. n
+parent
Context
The SID is a federated set of models, each of which covers one or more management domains. It is not
considered feasible to have a single information model that can be used to represent the full diversity of
information that would need to be shared within a typical NGOSS compliant system. The NGOSS SID, as defined
in GB922, is two things – a federated information model as well as a set of mappings to a set of data models. An
information model is independent of the type of repository, access protocol, software implementation, and platform
used – its purpose is to define common information structure, characteristics, behavior, and inter-entity
relationships. The SID is federated for two reasons. First, this enables the SID to function as a framework, where
lower-level details may be provided by the SID or by other existing models from other standards communities.
Second, it enables applications to view the SID as a set of extensible building blocks. They don’t need to use the
entire SID (which will be quite large) – rather, they use only those portions that are applicable to their application.
This single information model is then translated to a set of data models. Each data model is optimized for a
specific combination of repository and access protocol that is being used to steward particular types of data. This
is necessary because management data is diverse in nature, and no one repository and access protocol have
sufficiently diverse characteristics to steward all of the data concurrently. This illustrates the necessity of having a
single common information model – if there were multiple information models, then data coherency of a given
entity could not be maintained across different implementations in different repositories.
Communication Service
Shared Information
Service
Shared Data
Figure 19 depicts two business services, each managing a local data store, that also have a dependency on some
shared information, which is managed by a system-wide shared information service. In other words, the SID is
enterprise-wide, and allows heterogeneous systems that have their own private data to communicate with each
other using public shared data that is owned not by any one system, but the entire enterprise. The SID enables the
two business services to agree on common definitions of the shared data and reuse it for their own application
specific purposes. They are each free to refine the shared data to suit their own needs, but can interoperate based
on the common understanding and representation of the shared data.
4.7.1 Concepts
The concept of the SID is fundamental to the principles of NGOSS-based systems. It is the means by which
useful information, relevant to a given set of business processes, may be factored out, shared, and operated on by
multiple business processes on a system-wide basis. Examples of such information include SLAs (Service Level
Agreements), Customer Details, Network Topology, and Performance information.
GB922 defines the NGOSS Shared Information and Data (SID) model. Please note that this is a work in progress.
See the SID charter for the current and future scope of this work.
Instances of elements defined within the SID are accessed by the entities within an NGOSS deployment via well-
defined contract interfaces, termed information providers. Information providers support information service
contracts. Collectively, the set of information services provided through these Interfaces provide access to the
entirety of the shared information in an NGOSS deployment. The entities that present information provider
contracts are termed data stewards.
In order that the logical concept of the SID may be implemented, a number of supporting Framework Services will
need to be physically deployed. These are shown in Figure 20 below as layered services, where each builds upon
the services offered at other layers below it:
· At the top-most level are the Contract Specifications, which support the SID as outlined above.
· The Information Services layer adds business value, transforming raw data into useful business
information (this may include data mining and filtering). This layer is also responsible for adapting and/or
mediating data from the enterprise-wide common format into the particular format that any contract or
component implementation needs. See section 4.9 for details on adaptation and mediation.
· Supporting the Information Services layer is the Data Distribution and Stewardship layer, which supports
access and sharing of data across a number of physically distributed repositories. Such items include
support for data synchronization and maintaining transactional and referential integrity.
· At the bottom-most level are the separate raw repositories that hold and maintain the data. This level
performs raw data distribution, but may also include ancillary functions, such as acting as a data proxy.
The NGOSS SID is a shared information model that is built by refining the UML metamodel. The SID consists of a
set of entities that are organized into a set of management domains. These domains provide a mapping to the
business and system views of the NGOSS system, as defined using eTOM and SIM terms. This is achieved by
starting with the UML metamodel and refining its generic concepts to suit the application-specific needs of an
NGOSS system. The instantiation of the SID provides one or more SID-compliant data models, which are present
for all NGOSS components to share and use. An NOGSS repository is used to define which data stores have
which data. The details are as follows:
· Components offering contract services do so in terms of common data types. These are defined in the
SID, and use standard UML extension mechanisms (e.g., stereotypes, tagged data, and OCL) to extend
the UML metamodel.
· Components can internally deal with non-standard models, but require adaptation and/or mediation to the
SID. In such a case, components offer contract services along with adaptation and/or mediation
functionality.
The benefit of these principles, as embodied in the SID, is that it decouples the consumers of data from the
producers of the data. Instead of every OSS component being tightly coupled to every other, they are coupled to
only to the specification of common SID data within an NGOSS deployment. Therefore, whenever an OSS
component needs to be removed, upgraded or replaced, all other components are unaffected - the only thing that
needs to change is the definition of the contract interface.
It is expected that an NGOSS deployment will contain a (perhaps large) number of shared information providers.
This number will be dependant on the partitioning of the SID data based on the requirements of the deployment.
Now consider the same system that uses the SID. A single discovery application can be used to place common
data in a shared repository that can be used by each of the three applications. For example, suppose a new IP
router is discovered. The discovery service can obtain characteristics such as its IP address, number of active
ports, current configuration, and routing policies. Some or all of these data can be used by each application.
Even better, the discovered data can be modified by a second application and used by a third. Continuing the
example, the inventory service updates its repository with the IP address of the newly discovered device. This is
then used by the topology service to find out what that device connects to, and adds the resulting information into
the shared repository. The service activation application takes this information, modifies the configuration of the
newly discovered IP router and another existing router, and constructs a VPN. The service activation application
then places these modified data back into the shared repository. This modified information is then extracted by the
inventory service to update its record of which ports on which devices are now in use, and what services are
supported by what devices.
The NGOSS policy subsystem acts as a supervisor of operations being carried out by all other services that it
manages. Hence, the Policy Management Framework Service can apply constraints and/or conditions on what
operations are executed, and how they are executed, within a system. These constraints can be used to impose
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.
Policies exist at various levels of abstraction within a given system. Broadly, policies may be invoked by any, and
all, of the TMF Business and System Processes, as defined in the eTOM and SIM, respectively. Each discrete
system capability is constrained by any and all applicable policy rules. It is important to note, that from an
architectural perspective, the NGOSS policy subsystem is an integral element of the overall NGOSS system
architecture. This enables a policy to be mapped onto one or more technologies, as defined in the TNA Policy
8
Reference Model [TMF053p ]. This approach will enable a policy to be constructed using the most advantageous
technology available, thereby “future-proofing” abstract policy definitions by separating specification from
implementation.
8
This document is not available at the time of this writing.
The need for policy is determined by the system builder (re: Section 3.1) based on the operational requirements of
the system user (re: Section 3.1). Current OSSs are typified by the following characteristics:
· Large distributed systems are shared by many owners and thus, multiple management systems will be
required to cooperatively manage the system(s) as a functional whole.
· The correlation of management activities requires one or more special correlation systems
· A single management system cannot handle the set of unique problems that each component in the
distributed system has
· User behavior may differ from one subsystem to another, making it difficult for one single
management system to manage user behavior across systems and subsystems.
Systems that exhibit one or more of the above characteristics are prone to failure because, if the management
system fails, there is no backup management mechanism. Policy-Based Management Systems (PBMSs) have
been proposed to solve the preceding list of problems. This has two attendant benefits. First, it improves the
reusability of the management system. Second, it increases the availability of the overall system.
Current operational support systems (OSSs) are built in a “one-off” fashion according to the needs of a specific
Service Provider/Network Operator. In contrast, an OSS that contains a PBMS will be built to a more generic set of
requirements. The functionality of a policy-managed OSS will be constrained to the requirements of any given
system user through the application of policy. Policy-based OSSs are differentiated from non-policy-based OSSs
by the existence and use of policy-based management modules (PBMMs). A PBMM is responsible for managing
policy within one or more specific subsystems of the OSS. From the point-of-view of a particular PBMM, there are
two types of policies: native policies, which exist within the given PBMM, and external policies, which are imported
via policy access points (PAPs). A PAP is a mediation point, supported by a PBMM, which enables cooperation
between the native policies as defined in the PBMM and non-native policies as defined in external PBMSs.
The foundation for PBMSs is the PBMM. The building blocks for a PBMS are PBMMs and any required PAPs.
PBMMs are capable of translating between the various views (e.g., business system, etc.) that are represented by
native management policies.
From the view of a particular PBMM, an external PBMS acts as a policy repository and/or a special correlation
system. It is assumed that each PBMS manages potential conflicts of its own policies. Inter-PBMS conflict
resolution is a function of a dedicated policy conflict resolution system.
A PAP can be enabled or disabled by the controlling PBMM. A PAP could be enabled by default. In this case, this
PAP is considered to be associated with a neutral view on the system. The choice of whether a PAP is enabled or
disabled by default is determined by the Service Provider/Network Operator.
The behavior of a given PBMM is embodied by the native policies that are managed by that particular PBMM. In a
policy-based NGOSS deployment, there must be at least one PBMM. Figure 21 shows the convergence of the two
management paradigms.
a b c
A PBMM controls how external policy-based systems interface into, and interact with, the policy-managed (sub)
system. Each policy server defines its own means of communicating with other policy-enabled entities and
resolving conflicts. This is based on shared information (as defined in the SID), along with defined behavioral
exceptions (as defined through contracts). It may be described by a set of post-conditions and system state due to
a preceding state transition of the system or of a part of the system, that cannot be recognized as a pre condition
by the PBMM. Those post-conditions become pre-conditions for a contract that the PBMM will trade with an
external PBMS. A set of pre-conditions belongs to a given view. Figure 22 depicts this contract-based interaction.
n a t iv e a
p o lic ie s
b d e
m an agem en t o f
p o l ic y - a c c e s s p o i n t s
c
h a n d l i n g e x t e rn a l i n t e r a c t i o n
P o llic
ic y - b a s e d m g m t m o d u llee e x te r n a l p o li c y s y s te m
c o n t r a c t - d e fin e d iin
n te rfac e
le g e n d :
a, c: s m a rt f i lt e rs f o r p re - c o n d it io n s
d: e x t e rn a l p o l ic y e n g in e
e: v ie w -o rie n t e d d a t a k n o w le d g e
b: p o lic y e x p o rt
A Business Service may be built to one information model but deployed in an enterprise that uses a different
information model. It will then be necessary to add either adaptation or mediation services to enable the Business
Service to interoperate with the remainder of the system. This enables the business process control entity to use
the Business Service without compromising either information model.
An adapter is a component implementing an Adaptation Service. An NGOSS adaptation service is one that
converts one entity that has a particular syntactic representation to another entity that has a different syntactic
representation in order to enable the two to interoperate.. The specification of this mapping may be hard-coded
within the adapter, or may be more dynamic.
This is seen as a technology specific issue, and is therefore out of scope for this document.
Mediation is important because, in order for the concept of plug-and-play to become a reality, software systems
must be able to communicate between one and another, regardless of the implementation technology of the
systems. Mediation is therefore useful to enable the semantics of different systems to be preserved while
enabling them to interoperate.
Contract interfaces for legacy systems (e.g. non-NGOSS) may be supported in an NGOSS environment by
creating virtual components through mediation interfaces placed between legacy systems and the NGOSS. This
approach may also be used to supply a migration strategy for legacy systems into a pure NGOSS environment
(e.g., Customer Details information migrated out of a legacy system into an information server – based upon a
common data warehouse that uses common shared data).
This approach enables business processes and information, which are already available but ‘locked-up’ within
legacy systems, to be accessed by other systems in the NGOSS deployment. Without mediation, these items of
business process and information would have to be reproduced in the NGOSS deployment. Not only does this
represent a significant cost, the likelihood of introducing errors is considerable. An NGOSS Legacy System
Component is a specialized NGOSS Component in which mediation has been used to enable the legacy
component to appear to be an NGOSS component. An NGOSS Legacy System Component is bound by same
requirements that an NGOSS Component is bound by, at the contract-defined interface.
A BB
Client Client
Legacy System
Component
Existing System
BAC
A BB
Integratio n p ath
M igration path
Figure 23 graphically depicts the NGOSS Legacy System Component concept. The upper integration paths
connecting to the NGOSS Legacy System Component enable clients to interact with a legacy system as if it were
a native NGOSS Component. The NGOSS Legacy System Component can be an integral piece-part of the
legacy system, or an entity that exists externally to, and independently of, the legacy system. The lower migration
path shows the eventual replacement of the legacy system with a native NGOSS component implementing the
required contracts.
5 References
The follow list of documents were referenced within this document, or are considered be relative to and supportive
of this document.
[1] [BIZ] TMF 051: New Generation Operational Support System (NGOSS™) PART I (Business Case).
TeleManagement Forum, 2001.
[2] [REQ] TMF 052: New Generation Operational Support System (NGOSS™) PART 2 (Requirements).
TeleManagement Forum, 2001.
[3] [CIS] TMF045: The Common Information Structure. TeleManagement Forum, 1999.
[5] [TOM] GB910: The Telecom Operations Map, version 2.1. The TeleManagement Forum, 2000.
[6] [MDA] Model Driven Architecture, OMG White Paper, November 2000.
[7] [WFMC] WfMC Glossary - The Workflow Management Coalition Terminology and Glossary, May 1996.
Document Reference WFMC-TC-1011.
[9] [GAM95] Erich Gamma, et al. Design Patterns: Elements of Reusable Object Oriented Software.
Addison-Wesley, 1995.
[10] [GRAY93] Jim Gray and Andreas Reuter. Transaction Processing: Concepts and Techniques
[12] HER00 Peter Herzum and Oliver Sims. Business Component Factory. OMG Press, 2000.
[13] SZY99 Clemens Szyperski. Component Software: Beyond Object Oriented Programming.
Addison-Wesley, 1999.
[14] UMLREF James Rumbaugh, Ivar Jacobson, Grady Booch. The Unified Modeling Language Reference
Manual. Addison-Wesley, 1999.
6.1 Issues
1 Contracts and Policies need more explanation and work. In particular, supporting documentation
needs to be updated and written, respectively.
2 Contract sets need further definition.
3 Process definition needs further definition
6.2 Assumptions
None