Brief Summary
This document, a TOGAF® Series Guide, defines the TOGAF® Technical Reference Model (TRM), a platform-centric model focusing on the services and structure of the underlying platform necessary to support applications. The TRM aims to enable structured definition of the standardized application platform and its associated interfaces. It emphasizes interoperability and portability, ensuring that higher-level building blocks have a robust platform to run on. The TRM can be used as a reference model for technology architecture development and as a taxonomy to develop a Standards Information Base (SIB) within an organization.
- The TRM is a tool used in applying the TOGAF® Architecture Development Method (ADM) in the development of specific architectures.
- The TRM is universally applicable and can be used to build any system architecture.
- The TRM can be extended or adapted to meet the specific needs of an organization or vertical market segment.
Introduction
This chapter introduces the TOGAF® Technical Reference Model (TRM), describing its origins, purpose, and key features. The TRM was originally derived from the Technical Architecture Framework for Information Management (TAFIM) TRM, developed by the US Department of Defense, which in turn was derived from the IEEE Std 1003.0 model. The TRM is "platform-centric," focusing on the services and structure of the underlying platform necessary to support applications. It emphasizes the interfaces between the platform and the supported applications, and between the platform and the external environment. The current TOGAF® TRM is an amended version of the TAFIM TRM, aiming to emphasize interoperability and portability. The objective of the TRM is to enable structured definition of the standardized application platform and its associated interfaces. The other entities, which are needed in any specific architecture, are only addressed in the TRM insofar as they influence the application platform. The underlying aim in this approach is to ensure that the higher-level building blocks which make up business solutions have a complete, robust platform on which to run.
Concepts
This chapter describes the role of the Technical Reference Model (TRM), its components, and the use of other TRMs.
The TOGAF® Foundation Architecture is an architecture of generic services and functions that provides a foundation on which more specific architectures and architectural components can be built. This Foundation Architecture is embodied within the TRM, which provides a model and taxonomy of generic platform services. The TRM is universally applicable and, therefore, can be used to build any system architecture.
Any TRM has two main components: a taxonomy, which defines terminology and provides a coherent description of the components and conceptual structure of an information system, and an associated TRM graphic, which provides a visual representation of the taxonomy. The objective of the TOGAF® TRM is to provide a widely accepted core taxonomy and an appropriate visual representation of that taxonomy. The TRM graphic is illustrated in Chapter 4, and the taxonomy is explained in Chapter 5.
The TOGAF® TRM was originally derived from the Technical Architecture Framework for Information Management (TAFIM) TRM, developed by the US Department of Defense, which in turn was derived from the IEEE Std 1003.0 model. This TRM is "platform-centric": it focuses on the services and structure of the underlying platform necessary to support the use and re-use of applications. In particular, it centers on the interfaces between that platform and the supported applications, and between the platform and the external environment. The current TOGAF® TRM is an amended version of the TAFIM TRM, which aims to emphasize the aspect of interoperability as well as that of portability. The objective of the TRM is to enable structured definition of the standardized application platform and its associated interfaces. The other entities, which are needed in any specific architecture, are only addressed in the TRM insofar as they influence the application platform. The underlying aim in this approach is to ensure that the higher-level building blocks which make up business solutions have a complete, robust platform on which to run.
Other architectural models – taxonomies and/or graphics – not only are possible, but may be preferable for some enterprises. For example, such an enterprise-specific model could be derived by extension or adaptation of the TOGAF® TRM. Alternatively, a different taxonomy may be embodied in the legacy of previous architectural work by an enterprise, and the enterprise may prefer to perpetuate use of that taxonomy. Similarly, an enterprise may prefer to represent the TOGAF® taxonomy using a different form of graphic, which better captures legacy concepts and proves easier for internal communication purposes. In addition to its use as a reference model for the development of technology architecture, the TRM can be used as a taxonomy to develop a Standards Information Base within a specific organization. The core of the TOGAF® framework is its Architecture Development Method: the TRM is a tool used in applying the ADM in the development of specific architectures. Provided consistency between TRM and SIB is maintained, the TOGAF® ADM is valid whatever the choice of specific taxonomy, TRM graphic, or SIB toolset.
High-Level Breakdown
This chapter describes the major elements of the Technical Reference Model (TRM).
The coarsest breakdown of the TRM is shown in Figure 1, which shows three major entities connected by two interfaces. Each of the elements in this diagram is discussed in detail in Chapter 4.
The high-level TRM seeks to emphasize two major common architectural objectives: Application Portability, via the Application Platform Interface – identifying the set of services that are to be made available in a standard way to applications via the platform, and Interoperability, via the Communications Infrastructure Interface – identifying the set of Communications Infrastructure services that are to be leveraged in a standard way by the platform. Both of these goals are essential to enable integration within the enterprise and trusted interoperability on a global scale between enterprises. In particular, the high-level model seeks to reflect the increasingly important role of the Internet as the basis for inter and intra-enterprise interoperability. The horizontal dimension of the model in Figure 1 represents diversity, and the shape of the model is intended to emphasize the importance of minimum diversity at the interface between the Application Platform and the Communications Infrastructure. This in turn means focusing on the core set of services that can be guaranteed to be supported by every IP-based network, as the foundation on which to build today’s interoperable enterprise computing environments.
TRM in Detail
This chapter describes the TRM in detail, including platform service categories and external environment sub-entities.
Figure 2 expands on Figure 1 to present the service categories of the Application Platform and the two categories of Application Software. Figure 2 is only a depiction of the TRM entities: it neither implies nor inhibits inter-relationships among them. IT architectures derived from the TOGAF® standard may differ greatly depending on the requirements of the information system. In practice, many architectures will not include all of the services discussed here, and many will include additional services to support Application Software that is specific to the organization or to its vertical industry. In building an architecture, users of the TOGAF® standard should assess their own requirements and select the services, interfaces, and standards that satisfy their own business needs.
The following sections discuss in detail each element of the TRM illustrated in Figure 2. They are dealt with in the following order: The three entities: Application Software, Application Platform, Communications Infrastructure, and the two interfaces: Application Platform Interface, Communications Infrastructure Interface.
Application Software
The detailed TRM recognizes two categories of Application Software: Business Applications, which implement business processes for a particular enterprise or vertical industry, and Infrastructure Applications, which provide general-purpose business functionality, based on infrastructure services. During development of the Technology Architecture, business applications and infrastructure applications are important sources of requirements for Technology Architecture services, and the selection of standards for the Application Platform will be influenced strongly by the Application Software configuration to be supported.
Business Applications
Business applications are applications that are specific to a particular enterprise or vertical industry. Such applications typically model elements of an enterprise’s domain of activity or business processes. Examples of business applications might include: Patient record management services used in the Medical industry, Inventory management services used in the Retail industry, and Geological data modeling services used in the Petroleum industry. Over time, particular business applications may become infrastructure applications, if they become sufficiently ubiquitous, interoperable, and general-purpose to be potentially useful to a broad range of enterprise IT users.
Infrastructure Applications
Infrastructure applications are applications that have all, or nearly all, of the following characteristics: Widespread availability as Commercial Off-The-Shelf software means that it is uneconomic to consider custom implementation, User interaction is an important part of the application’s function, Implementations are based on infrastructure services, Implementations may include significant extensions beyond those needed to use the underlying infrastructure services, and Interoperability is a strong requirement. Examples of applications in this category include: Electronic payment and funds transfer services, Electronic mail client services, Publish and subscribe, Intelligent agents, Calendaring and scheduling services, Groupware services, Workflow services, Spreadsheets, Presentation software, Document editing and presentation, Management applications, performing general-purpose system and network management functions for the system administrator, and Software engineering tools, providing software development functions for systems development staff. Infrastructure applications have strong dependencies on lower-level services in the architecture. For example, a workflow application may use platform services such as messaging or transaction processing to implement the flow of work among tasks. Similarly, a groupware application is likely to make extensive use of both data and communication services for the structure of documents, as well as the mechanics of storing and accessing them. Infrastructure applications by definition are applications that are considered sufficiently ubiquitous, interoperable, and general-purpose within the enterprise to be effectively considered as part of the IT infrastructure. Just as business applications may over time come to be regarded as infrastructure applications, so infrastructure applications are normally candidates for inclusion as infrastructure services in future versions of an IT architecture.
Application Platform
Platform Concept
The term "platform" is used in many different ways within the IT industry today. Because of the different usages, the term is often qualified; for example, "application platform", "standardized" and "proprietary platforms", "client" and "server platforms", "distributed computing platform", "portability platform". Common to all these usages is the idea that someone needs a set of services provided by a particular kind of platform, and will implement a "higher-level" function that makes use of those services. The TOGAF® TRM focuses on the Application Platform, and the "higher-level function" is the set of Application Software, running on top of the Application Platform, that is needed to address the enterprise’s business requirements. It is important to recognize that the Application Platform in the TOGAF® TRM is a single, generic, conceptual entity. From the viewpoint of the TOGAF® TRM, the Application Platform contains all possible services. In a specific Target Architecture, the Application Platform will contain only those services needed to support the required functions. Moreover, the Application Platform for a specific Target Architecture will typically not be a single entity, but rather a combination of different entities for different, commonly required functions, such as desktop client, file server, print server, application server, Internet server, database server, etc., each of which will comprise a specific, defined set of services necessary to support the specific function concerned. It is also important to recognize that many of the real-world IT systems that are procured and used today to implement a Technology Architecture come fully equipped with many advanced services, which are often taken for granted by the purchaser. For example, a typical desktop computer system today comes with software that implements services from most if not all of the service categories of the TOGAF® TRM. Since the purchaser of such a system often does not consider anything "smaller" than the total bundle of services that comes with the system, that service bundle can very easily become the "platform". Indeed, in the absence of a Technology Architecture to guide the procurement process, this is invariably what happens. As this process is repeated across an enterprise, different systems purchased for similar functions can contain markedly different bundles of services. Service bundles are represented in a Technology Architecture in the form of "building blocks". One of the key tasks of the IT architect in going from the conceptual Application Platform of the TRM to an enterprise-specific Technology Architecture is to look beyond the set of real-world platforms already in existence in the enterprise. The IT architect must analyze the services actually needed in order to implement an IT infrastructure that meets the enterprise’s business requirements in the optimal manner, and to define the set of optimal Solution Building Blocks – real-world "platforms" – to implement that architecture.
Extending the TRM
The TOGAF® TRM identifies a generic set of platform services, and provides a taxonomy in which these platform services are divided into categories of like functionality. A particular organization may need to augment this set with additional services or service categories which are considered to be generic in its own vertical market segment. The set of services identified and defined for the Application Platform will change over time. New services will be required as new technology appears and as application needs change.
Interfaces Between Services
In addition to supporting Application Software through the Application Platform Interface, services in the Application Platform may support each other, either by openly specified interfaces which may or may not be the same as the API, or by private, unexposed interfaces. A key goal of architecture development is for service modules to be capable of replacement by other modules providing the same service functionality via the same service API. Use of private, unexposed interfaces among service modules may compromise this ability to substitute. Private interfaces represent a risk that should be highlighted to facilitate future transition.
Future Developments
The TRM deals with future developments in the Application Platform in two ways. Firstly, as interfaces to services become standardized, functionality which previously formed part of the Application Software entity migrates to become part of the Application Platform. Secondly, the TRM may be extended with new service categories as new technology appears. Examples of functional areas which may fall into Application Platform service categories in the future include: Spreadsheet functions, including the capability to create, manipulate, and present information in tables or charts; this capability should include fourth-generation language-like capabilities that enable the use of programming logic within spreadsheets, Decision support functions, including tools that support the planning, administration, and management of projects, and Calculation functions, including the capability to perform routine and complex arithmetic calculations. A detailed taxonomy of the Application Platform is given in Chapter 5.
Communications Infrastructure
The Communications Infrastructure provides the basic services to interconnect systems and provide the basic mechanisms for opaque transfer of data. It contains the hardware and software elements which make up the networking and physical communications links used by a system, and of course all the other systems connected to the network. It deals with the complex world of networks and the physical Communications Infrastructure, including switches, service providers, and the physical transmission media. A primary driver in enterprise-wide Technology Architecture in recent years has been the growing awareness of the utility and cost-effectiveness of the Internet as the basis of a Communications Infrastructure for enterprise integration. This is causing a rapid increase in Internet usage and a steady increase in the range of applications linking to the network for distributed operation. This is considered further in Section 4.7.
Application Platform Interface
The Application Platform Interface specifies a complete interface between the Application Software and the underlying Application Platform across which all services are provided. A rigorous definition of the interface results in application portability, provided that both platform and application conform to it. For this to work, the API definition must include the syntax and semantics of not just the programmatic interface, but also all necessary protocol and data structure definitions. Portability depends on the symmetry of conformance of both applications and the platform to the architected API. That is, the platform must support the API as specified, and the application must use no more than the specified API. The API specifies a complete interface between an application and one or more services offered by the underlying Application Platform. An application may use several APIs, and may even use different APIs for different implementations of the same service.
Communications Infrastructure Interface
The Communications Infrastructure Interface is the interface between the Application Platform and the Communications Infrastructure. Figure 1 seeks to reflect the increasingly important role of the Internet as the basis for inter and intra-enterprise interoperability. The horizontal dimension of the model in Figure 1 represents diversity, and the shape of the model is specifically intended to emphasize minimum diversity at the interface between the Application Platform and the Communications Infrastructure. In particular, the model emphasizes the importance of focusing on the core set of services that can be guaranteed to be supported by every IP-based network, as the foundation on which to build today’s interoperable enterprise computing environments.
Qualities
Besides the set of components making up the TRM, there is a set of attributes or qualities that are applicable across the components. For example, for the management service to be effective, manageability must be a pervasive quality of all platform services, applications, and Communications Infrastructure services. Figure 2 captures this concept by depicting the TRM components sitting on a backplane of qualities. Another example of a service quality is security. The proper system-wide implementation of security requires not only a set of security services, corresponding to the security services category shown in the platform, but also the support of software in other parts of the TRM. Thus, an application might use a security service to mark a file as read-only, but it is the correct implementation of the security quality in the operating system services which prevents write operations on the file. Security and operating system services must co-operate in making the file secure. Qualities are specified in detail during the development of a Target Architecture. Some qualities are easier than others to describe in terms of standards. For instance, support of a set of locales can be defined to be part of the specification for the international operation quality. Other qualities can better be specified in terms of measures rather than standards. An example would be performance, for which standard APIs or protocols are of limited use.
Application Platform – Taxonomy
This chapter describes the Application Platform taxonomy, including basic principles and a summary of services and qualities. A detailed taxonomy of platform services and qualities can be found in Chapter 6.
The TOGAF® TRM has two main components: A taxonomy, which defines terminology, and provides a coherent description of the components and conceptual structure of an information system, and an associated TRM graphic, which provides a visual representation of the taxonomy, as an aid to understanding. This chapter describes in detail the taxonomy of the TOGAF® TRM. The aim is to provide a core taxonomy that provides a useful, consistent, structured definition of the Application Platform entity that is widely acceptable. No claims are made that the chosen categorization is the only one possible, or that it represents the optimal choice. Indeed, it is important to emphasize that the use of the TOGAF® standard, and in particular the TOGAF® ADM, is in no way dependent on use of the TOGAF® TRM taxonomy. Other taxonomies are perfectly possible, and may be preferable for some organizations. For example, a different taxonomy may be embodied in the legacy of previous architectural work by an organization, and the organization may prefer to perpetuate use of that taxonomy. Alternatively, an organization may decide that it can derive a more suitable, organization-specific taxonomy by extending or adapting the TOGAF® TRM taxonomy. In the same way, an organization may prefer to depict the TOGAF® taxonomy using a different form of TRM graphic, which better captures legacy concepts and proves easier for internal communication purposes.
Application Platform Service Categories
The major categories of services defined for the Application Platform are listed below. Note that "Object Services" does not appear as a category in the TRM taxonomy. This is because all the individual object services are incorporated into the relevant main service categories. However, the various descriptions are also collected into a single subsection in order to provide a single point of reference which shows how object services relate to the main service categories.
- Data Interchange Services – see Section 6.1: Document generic data typing and conversion services, Graphics data interchange services, Specialized data interchange services, Electronic data interchange services, Fax services, Raw graphics interface functions, Text processing functions, Document processing functions, Publishing functions, Video processing functions, Audio processing functions, Multimedia processing functions, Media synchronization functions, Information presentation and distribution functions, and Hypertext functions.
- Data Management Services – see Section 6.1.1: Data dictionary/repository services, Database Management System services, Object-Oriented Database Management System services, File management services, Query processing functions, Screen generation functions, Report generation functions, Networking/concurrent access functions, and Warehousing functions.
- Graphics and Imaging Services – see Section 6.2: Graphical object management services and Drawing services.
- International Operation Services – see Section 6.3: Character sets and data representation services, Cultural convention services, and Local language support services.
- Location and Directory Services – see Section 6.4: Directory services, Special-purpose naming services, Service location services, Registration services, Filtering services, and Accounting services.
- Network Services – see Section 6.5: Data communications services, Electronic mail services, Distributed data services, Distributed file services, Distributed name services, Distributed time services, Remote process services, Remote print spooling and output distribution services, Enhanced telephony functions, Shared screen functions, Video conferencing functions, Broadcast functions, and Mailing list functions.
- Operating System Services – see Section 6.6: Kernel operations services, Command interpreter and utility services, Batch processing services, and File and directory synchronization services.
- Software Engineering Services – see Section 6.7: Programming language services, Object code linking services, Computer-Aided Software Engineering environment and tools services, Graphical User Interface building services, Scripting language services, Language binding services, Run-time environment services, and Application binary interface services.
- Transaction Processing Services – see Section 6.8: Transaction manager services.
- User Interface Services – see Section 6.9: Graphical client/server services, Display objects services, Window management services, Dialog support services, Printing services, Computer-based training and online help services, and Character-based services.
- Security Services – see Section 6.10: Identification and authentication services, System entry control services, Audit services, Access control services, Non-repudiation services, Security management services, Trusted recovery services, Encryption services, and Trusted communication services.
- System and Network Management Services – see Section 6.11: User management services, Configuration Management services, Performance management services, Availability and fault management services, Accounting management services, Security management services, Print management services, Network management services, Backup and restore services, Online disk management services, License management services, Capacity management services, Software installation services, and Trouble ticketing services.
Object-Oriented Provision of Services
A detailed description of each of these service categories is given in Section 6.12.
- Object Request Broker Services: Implementation repository services, Installation and activation services, Interface repository services, and Replication services.
- Common Object Services: Change management services, Collections services, Concurrency control services, Data interchange services, Event management services, Externalization services, Licensing services, Lifecycle services, Naming services, Persistent object services, Properties services, Query services, Relationship services, Security services, Start-up services, Time services, Trading services, and Transaction services.
Application Platform Service Qualities
Principles
Besides the platform service categories delineated by functional category, service qualities affect Information Systems Architectures. A service quality describes a behavior such as adaptability or manageability. Service qualities have a pervasive effect on the operation of most or all of the functional service categories. In general, a requirement for a given level of a particular service quality requires one or more functional service categories to co-operate in achieving the objective. Usually this means that the software building blocks that implement the functional services contain software which contributes to the implementation of the quality. For the quality to be provided properly, all relevant functional services must have been designed to support it. Service qualities may also require support from software in the Application Software entity and the External Environment as well as the Application Platform. In some cases, a service quality affects each of the service categories in a similar fashion, while in other cases, the service quality has a unique influence on one particular service category. For instance, international operation depends on most of the service categories in the same way, both providing facilities and needing their co-operation for localization of messages, fonts, and other features of a locale, but it may have a more profound effect on the software engineering services, where facilities for producing internationalized software may be required. During the process of architecture development, the architect must be aware of the existence of qualities and the extent of their influence on the choice of software building blocks used in implementing the architecture. The best way of making sure that qualities are not forgotten is to create a quality matrix, describing the relationships between each functional service and the qualities that influence it.
Taxonomy of Service Qualities
The service qualities presently identified in the TRM taxonomy are:
- Availability, including: Manageability, Serviceability, Performance, Reliability, Recoverability, and Locatability.
- Assurance, including: Security, Integrity, and Credibility.
- Usability, or ease-of-operation by users, including: International Operation.
- Adaptability, including: Interoperability, Scalability, Portability, Extensibility, and The ability to offer access to services in new paradigms, such as object-orientation.
Detailed Platform Taxonomy
This chapter provides a detailed taxonomy of platform services and qualities.
Data Interchange Services
Data interchange services provide specialized support for the exchange of information between applications and the external environment. These services are designed to handle data interchange between applications on the same platform and applications on different platforms. An analogous set of services exists for object-oriented data interchange, which can be found under Data Interchange services and Externalization services in Section 6.12.
- Document Generic Data Typing and Conversion services are supported by specifications for encoding the data and both the logical and visual structures of electronic documents, including compound documents.
- Graphics Data Interchange services are supported by device-independent descriptions of picture elements for vector-based graphics and descriptions for raster-based graphics.
- Specialized Data Interchange services are supported by specifications that describe data used by specific vertical markets; markets where such specifications exist include the Medical, Library, Dental, Assurance, and Oil industries.
- Electronic Data Interchange services are used to create an electronic environment for conducting commerce and achieving significant gains in quality, responsiveness, and savings afforded by such an environment. Examples of applications that use electronic commerce services include: vendor search and selection; contract award; product data; shipping, forwarding, and receiving; customs; payment information; inventory control; maintenance; tax-related data; and insurance-related data.
- Fax services are used to create, examine, transmit, and/or receive fax images.
The following functional areas are currently supported mainly by Application Software, but are progressing towards migration into the Application Platform:
- Raw Graphics Interface functions support graphics data file formats such as TIFF, JPEG, GIF, and CGM.
- Text Processing functions, including the capability to create, edit, merge, and format text.
- Document Processing functions, including the capability to create, edit, merge, and format documents. These functions enable the composition of documents that incorporate graphics, images, and even voice annotation, along with stylized text. Included are advanced formatting and editing functions such as style guides, spell checking, use of multiple columns, table of contents generation, headers and footers, outlining tools, and support for scanning images into bit-mapped formats. Other capabilities include compression and decompression of images or whole documents.
- Publishing functions, including incorporation of photographic quality images and color graphics, and advanced formatting and style features such as wrapping text around graphic objects or pictures and kerning. These functions also interface with sophisticated printing and production equipment. Other capabilities include color rendering and compression and decompression of images or whole documents.
- Video Processing functions, including the capability to capture, compose, edit, compress, and decompress video information using formats such as MPEG; still graphics and title generation functions are also provided.
- Audio Processing functions, including the capability to capture, compose, edit, compress, and decompress audio information.
- Multimedia Processing functions, including the capability to store, retrieve, modify, sort, search, and print all or any combination of the above-mentioned media. This includes support for microfilm media, optical storage technology that allows for storage of scanned or computer produced documents using digital storage techniques, a scanning capability, and data compression and decompression.
- Media Synchronization functions allow the synchronization of streams of data such as audio and video for presentation purposes.
- Information Presentation and Distribution functions are used to manage the distribution and presentation of information from batch and interactive applications. These functions are used to shield business area applications from how information is used. They allow business area applications to create generic pools of information without embedding controls that dictate the use of that information. Information distribution and presentation functions include the selection of the appropriate formatting functions required to accomplish the distribution and presentation of information to a variety of business area applications and users. Information presentation and distribution functions also include the capability to store, archive, prioritize, restrict, and recreate information.
- Hypertext functions support the generation, distribution, location, search, and display of text and images either locally or globally. These functions include searching and browsing, hypertext linking, and the presentation of multimedia information.
Data Management Services
Central to most systems is the management of data that can be defined independently of the processes that create or use it, maintained indefinitely, and shared among many processes. Data management services include:
- Data Dictionary/Repository services allow data administrators and information engineers to access and modify data about data. Such data may include internal and external formats, integrity and security rules, and location within a distributed system. Data dictionary and repository services also allow end users and applications to define and obtain data that is available in the database. Data administration defines the standardization and registration of individual data element types to meet the requirements for data sharing and interoperability among information systems throughout the enterprise. Data administration functions include procedures, guidelines, and methods for effective data planning, analysis, standards, modeling, configuration management, storage, retrieval, protection, validation, and documentation. Data dictionaries are sometimes tied to a single Database Management System, but heterogeneous data dictionaries will support access to different DBMSs. Repositories can contain a wide variety of information including Management Information Bases or CASE-related information. Object-oriented systems may provide repositories for objects and interfaces, described under Implementation Repository services and Interface Repository services in Section 6.12.
- Database Management System services provide controlled access to structured data. To manage the data, the DBMS provides concurrency control and facilities to combine data from different schemas. Different types of DBMS support different data models, including relational, hierarchical, network, object-oriented, and flat-file models. Some DBMSs are designed for special functions such as the storage of large objects or multimedia data. DBMS services are accessible through a programming language interface, an interactive data manipulation language interface, or an interactive/fourth-generation language interface. Look-up and retrieval services for objects are described separately under Query services in Section 6.12. For efficiency, DBMSs often provide specific services to create, populate, move, backup, restore, recover, and archive databases, although some of these services could be provided by the general file management capabilities described in Section 6.6 or a specific backup service. Some DBMSs support distribution of the database, including facilities for remotely updating records, data replication, locating and caching data, and remote management.
- Object-Oriented Database Management System services provide storage for objects and interfaces to those objects. These services may support the Implementation Repository, Interface Repository, and Persistent Object services in Section 6.12.
- File Management services provide data management through file access methods including indexed sequential and hashed random access. Flat file and directory services are described in Section 6.6.
The following functional areas are currently supported mainly by Application Software, but are progressing towards migration into the Application Platform:
- Query Processing functions provide for interactive selection, extraction, and formatting of stored information from files and databases. Query processing functions are invoked via user-oriented languages and tools, which simplify the definition of searching criteria and aid in creating effective presentation of the retrieved information.
- Screen Generation functions provide the capability to define and generate screens that support the retrieval, presentation, and update of data.
- Report Generation functions provide the capability to define and generate hardcopy reports composed of data extracted from a database.
- Networking/Concurrent Access functions manage concurrent user access to Database Management System functions.
- Warehousing functions provide the capability to store very large amounts of data – usually captured from other database systems – and to perform online analytical processing on it in support of ad hoc queries.
Graphics and Imaging Services
Graphics services provide functions required for creating, storing, retrieving, and manipulating images. These services include:
- Graphical Object Management services, including defining multi-dimensional graphic objects in a form that is independent of output devices, and managing hierarchical structures containing graphics data; graphical data formats include two and three-dimensional geometric drawings as well as images.
- Drawing services support the creation and manipulation of images with software such as GKS, PEX, PHIGS, or OpenGL.
The following functional areas are currently supported mainly by Application Software, but are progressing towards migration into the Application Platform:
- Imaging functions provide for the scan, creation, edit, compression, and decompression of images in accordance with recognized image formatting standards; for example, PIKS/IPI, OpenXIL, or XIE.
International Operation Services
As a practice, information system developers have generally designed and developed systems to meet the requirements of a specific geographic or linguistic market segment, which may be a nation or a particular cultural market. To make that information system viable, or marketable, to a different segment of the market, a full re-engineering process was usually be required. Users or organizations that needed to operate in a multi-national or multi-cultural environment typically did so with multiple, generally incompatible information processing systems. International operation provides a set of services and interfaces that allow a user to define, select, and change between different culturally-related application environments supported by the particular implementation. In general, these services should be provided in such a way that internationalization issues are transparent to the application logic.
- Character Sets and Data Representation services include the capability to input, store, manipulate, retrieve, communicate, and present data independently of the coding scheme used. This includes the capability to maintain and access a central character set repository of all coded character sets used throughout the platform. Character sets will be uniquely identified so that the end user or application can select the coded character set to be used. This system-independent representation supports the transfer of the values and syntax, but not the semantics, of data records between communicating systems. The specifications are independent of the internal record and field representations of the communicating systems. Also included is the capability to recognize the coded character set of data entities and subsequently to input, communicate, and present that data.
- Cultural Convention services provide the capability to store and access rules and conventions for cultural entities maintained in a cultural convention repository called a "locale". Locales should be available to all applications. Locales typically include date and currency formats, collation sequences, and number formats. Standardized locale formats and APIs allow software entities to use locale information developed by others.
- Local Language Support services provide the capability to support more than one language concurrently on a system. Messages, menus, forms, and online documentation can be displayed in the language selected by the user. Input from keyboards that have been modified locally to support the local character sets can be correctly interpreted. The proper working of international operation services depends on all the software entities involved having the capability to: Use locales, Switch between locales as required, Maintain multiple active locales, and Access suitable fonts. This requires software entities to be written to a particular style and to be designed from the outset with internationalization in mind.
Location and Directory Services
Location and directory services provide specialized support for locating required resources and for mediation between service consumers and service providers. The World Wide Web, based on the Internet, has created a need for locating information resources, which currently is mainly satisfied through the use of search engines. Advancements in the global Internet, and in heterogeneous distributed systems, demand active mediation through broker services that include automatic and dynamic registration, directory access, directory communication, filtration, and accounting services for access to resources.
- Directory services provide services for clients to establish where resources are, and by extension how they can be reached. "Clients" may be humans or computer programs, and "resources" may be a wide variety of things, such as names, email addresses, security certificates, printers, web pages, etc.
- Special-Purpose Naming services provide services that refer names to objects within a given context. Objects are typically hierarchically organized within namespaces. Examples are: File systems, Security databases, and Process queues.
- Service Location services provide access to "Yellow Pages" services in response to queries based on constraints.
- Registration services provide services to register identity, descriptions of the services a resource is providing, and descriptions of the means to access them.
- Filtering services provide services to select useful information from data using defined criteria.
- Accounting services provide services such as account open, account update, account balance, account detail, account close, account discounts, account bill/usage tally, account payment settlement based on message traffic, and/or connection time, and/or resource utilization, and/or broker-specific.
Network Services
Network services are provided to support distributed applications requiring data access and applications interoperability in heterogeneous or homogeneous networked environments. A network service consists of both an interface and an underlying protocol.
- Data Communications includes interfaces and protocols for reliable, transparent, end-to-end data transmission across communications networks. Data communications services include both high-level functions and low-level functions giving direct access to communications protocols.
- Electronic Mail services include the capability to send, receive, forward, store, display, retrieve, prioritize, authenticate, and manage messages. This includes the capability to append files and documents to messages. Messages may include any combination of data, text, audio, graphics, and images and should