Application Portability Profile

Last updated
Application Portability Profile (APP) Service Areas and the Open-system environment reference model (OSE-RM). APP Service Areas and the Open-System Environment.jpg
Application Portability Profile (APP) Service Areas and the Open-system environment reference model (OSE-RM).

The Application Portability Profile (APP) is an 1990s framework for Open-System Environment designed by the NIST for use by the U.S. Government. It contains a selected suite of specifications that defines the interfaces, services, protocols, and data formats for a particular class or domain of applications.

Open-system environment reference model

Open-system environment (OSE) reference model (RM) or OSE reference model (OSE/RM) is a 1990 reference model for enterprise architecture. It provides a framework for describing open system concepts and defining a lexicon of terms, that can be agreed upon generally by all interested parties.

Contents

The Application Portability Profile offers structure to "integrate US federal, national and international, and other specifications to provide the functionality necessary to accommodate the broad range of US federal information technology requirements." [1]

In product development and process optimization, a requirement is a singular documented physical or functional need that a particular design, product or process aims to satisfy. It is commonly used in a formal sense in engineering design, including for example in systems engineering, software engineering, or enterprise engineering. It is a broad concept that could speak to any necessary function, attribute, capability, characteristic, or quality of a system for it to have value and utility to a customer, organization, internal user, or other stakeholder. Requirements can come with different levels of specificity; for example, a requirement specification or requirement "spec" refers to an explicit, highly objective/clear requirement to be satisfied by a material, design, product, or service.

Overview

In the second half of the 20th century information systems initially developed from isolated islands of computing. Through progressive changes, these individual systems became connected by common users and common information needs. Late 20th century these systems were well on the way to migrating toward computing environments that consist of distributed, heterogeneous, networked applications, databases, and hardware. The concept emerged of a federal computing environment, that is built on an infrastructure defined by open, consensus-based standards which serve as de facto means of organizing these systems. The NIST developed such an infrastructure, and named it Open System Environment (OSE). [2]

Information systems (IS) are formal, sociotechnical, organizational systems designed to collect, process, store, and distribute information. In a sociotechnical perspective, information systems are composed by four components: task, people, structure, and technology.

Computing activity requiring, benefiting from, or creating computers

Computing is any activity that uses computers. It includes developing hardware and software, and using computers to manage and process information, communicate and entertain. Computing is a critically important, integral component of modern industrial technology. Major computing disciplines include computer engineering, software engineering, computer science, information systems, and information technology.

An Open System Environment (OSE) encompasses the functionality needed to provide interoperability, portability, and scalability of computerized applications across networks of heterogeneous, multi-vendor hardware/software/communications platforms. The Open System Environment forms an extensible framework that allows services, interfaces, protocols, and supporting data formats to be defined in terms of nonproprietary specifications that evolve through open (public), consensus-based forums. [2]

Interoperability is a characteristic of a product or system, whose interfaces are completely understood, to work with other products or systems, at present or in the future, in either implementation or access, without any restrictions.

Portability in high-level computer programming is the usability of the same software in different environments. The prerequirement for portability is the generalized abstraction between the application logic and system interfaces. When software with the same functionality is produced for several computing platforms, portability is the key issue for development cost reduction.

Scalability

Scalability is the capability of a system, network, or process to handle a growing amount of work, or its potential to be enlarged to accommodate that growth. For example, a system is considered scalable if it is capable of increasing its total output under an increased load when resources are added. An analogous meaning is implied when the word is used in an economic context, where a company's scalability implies that the underlying business model offers the potential for economic growth within the company.

Complementary to the Open System Environment is the Application Portability Profile standard. This standard can covers a broad range of application software domains of interest to many US federal agencies, but it does not include every domain within the U.S. Government’s application inventory. The individual standards and specifications in the APP define data formats, interfaces, protocols, or a mix of these elements.

APP topics

APP and the NIST Enterprise Architecture Model

The APP addresses the lowest architecture in the NIST Enterprise Architecture Model, i.e., the Delivery System Architecture. NISTs Enterprise Architecture Model.jpg
The APP addresses the lowest architecture in the NIST Enterprise Architecture Model, i.e., the Delivery System Architecture.

The "Application Portability Profile (APP) - The U.S. Government’s Open System Environment Profile Version 3.0" provides recommendations on a set of industry, Federal, national, international and other specifications that define interfaces, services, protocols, and data formats to support an Open System Environment (OSE).

The APP addresses the lowest architecture in the NIST Enterprise Architecture Model, i.e., the Delivery System Architecture. On this level the hardware of the computer architecture, the software and the communications are being specified. Based on these specification recommendations, various services and agencies have defined detailed technical reference models.

NIST Enterprise Architecture Model

NIST Enterprise Architecture Model is a late-1980s reference model for enterprise architecture. It defines an enterprise architecture by the interrelationship between an enterprise's business, information, and technology environments.

Computer architecture set of rules and methods that describe the functionality, organization, and implementation of computer systems

In computer engineering, computer architecture is a set of rules and methods that describe the functionality, organization, and implementation of computer systems. Some definitions of architecture define it as describing the capabilities and programming model of a computer but not a particular implementation. In other definitions computer architecture involves instruction set architecture design, microarchitecture design, logic design, and implementation.

APP service areas

The services defined in the Application Portability Profile fall into the following broad spectrum of service areas: [3]

Each of the Application Portability Profile service areas addresses specific components around which interface, data format, or protocol specifications have been or will be defined. Security and management services are common to all of the service areas and pervade these areas in one or more forms. [3]

Applications

In the 1990s the NIST’s Application Portability Profile has been applicated in several Enterprise Information Architecture frameworks, such as: [4]

Further reading

Related Research Articles

OSI model Model with 7 layers to describe communications systems

The Open Systems Interconnection model is a conceptual model that characterizes and standardizes the communication functions of a telecommunication or computing system without regard to its underlying internal structure and technology. Its goal is the interoperability of diverse communication systems with standard protocols. The model partitions a communication system into abstraction layers. The original version of the model defined seven layers.

OpenStep is a defunct object-oriented application programming interface (API) specification for a legacy object-oriented operating system, with the basic goal of offering a NeXTSTEP-like environment on non-NeXTSTEP operating systems. OpenStep was principally developed by NeXT with Sun Microsystems, to allow advanced application development on Sun's operating systems, specifically Solaris. NeXT produced a version of OpenStep for its own Mach-based Unix, stylized as OPENSTEP, as well as a version for Windows NT. The software libraries that shipped with OPENSTEP are a superset of the original OpenStep specification, including many features from the original NeXTSTEP.

The term web service is either

Distributed Management Task Force organization

The Distributed Management Task Force (DMTF) is a computer software trade group which works to simplify the manageability of network-accessible technologies.

Message-oriented middleware (MOM) is software or hardware infrastructure supporting sending and receiving messages between distributed systems. MOM allows application modules to be distributed over heterogeneous platforms and reduces the complexity of developing applications that span multiple operating systems and network protocols. The middleware creates a distributed communications layer that insulates the application developer from the details of the various operating systems and network interfaces. APIs that extend across diverse platforms and networks are typically provided by MOM.

X/Open Company, Ltd., originally the Open Group for Unix Systems, was a consortium founded by several European UNIX systems manufacturers in 1984 to identify and promote open standards in the field of information technology. More specifically, the original aim was to define a single specification for operating systems derived from UNIX, to increase the interoperability of applications and reduce the cost of porting software. Its original members were Bull, ICL, Siemens, Olivetti, and Nixdorf—a group sometimes referred to as BISON. Philips and Ericsson joined soon afterwards, at which point the name X/Open was adopted.

The High-level architecture (HLA) is a standard for distributed simulation, used when building a simulation for a larger purpose by combining (federating) several simulations. The standard was developed in the 90’s under the leadership of the US Department of Defense and was later transitioned to become an open international IEEE standard. It is a recommended standard within NATO through STANAG 4603. Today the HLA is used in a number of domains including defense and security and civilian applications. The architecture specifies the following components.

Computer-aided production engineering

Computer-aided production engineering (CAPE) is a relatively new and significant branch of engineering. Global manufacturing has changed the environment in which goods are produced. Meanwhile, the rapid development of electronics and communication technologies has required design and manufacturing to keep pace.

The international standard IEC 61499, addressing the topic of function blocks for industrial process measurement and control systems, was initially published in 2005. The specification of IEC 61499 defines a generic model for distributed control systems and is based on the IEC 61131 standard. The concepts of IEC 61499 are also explained by Lewis and Zoitl as well as Vyatkin.

A service delivery platform (SDP) is a set of components that provides a service(s) delivery architecture for a type of service delivered to consumer, whether it be a customer or other system. Although it is commonly used in the context of telecommunications, it can apply to any system that provides a service. Although the TM Forum (TMF) is working on defining specifications in this area, there is no standard definition of SDP in industry and different players define its components, breadth, and depth in slightly different ways.

RM-ODP

Reference Model of Open Distributed Processing (RM-ODP) is a reference model in computer science, which provides a co-ordinating framework for the standardization of open distributed processing (ODP). It supports distribution, interworking, platform and technology independence, and portability, together with an enterprise architecture framework for the specification of ODP systems.

Knowledge Discovery Metamodel (KDM) is a publicly available specification from the Object Management Group (OMG). KDM is a common intermediate representation for existing software systems and their operating environments, that defines common metadata required for deep semantic integration of Application Lifecycle Management tools. KDM was designed as the OMG's foundation for software modernization, IT portfolio management and software assurance. KDM uses OMG's Meta-Object Facility to define an XMI interchange format between tools that work with existing software as well as an abstract interface (API) for the next-generation assurance and modernization tools. KDM standardizes existing approaches to knowledge discovery in software engineering artifacts, also known as software mining.

View model

A view model or viewpoints framework in systems engineering, software engineering, and enterprise engineering is a framework which defines a coherent set of views to be used in the construction of a system architecture, software architecture, or enterprise architecture. A view is a representation of a whole system from the perspective of a related set of concerns.

TAFIM

Technical Architecture Framework for Information Management (TAFIM) was a 1990s reference model for enterprise architecture by and for the United States Department of Defense (DoD).

Operations Support Systems (OSS), or Operational Support Systems in British usage, are computer systems used by telecommunications service providers to manage their networks. They support management functions such as network inventory, service provisioning, network configuration and fault management.

The JAUS Tool Set (JTS) is a software engineering tool for the design of software services used in a distributed computing environment. JTS provides a Graphical User Interface (GUI) and supporting tools for the rapid design, documentation, and implementation of service interfaces that adhere to the Society of Automotive Engineers' standard AS5684A, the JAUS Service Interface Design Language (JSIDL). JTS is designed to support the modeling, analysis, implementation, and testing of the protocol for an entire distributed system.

The Open Group Future Airborne Capability Environment was formed in 2010 to define an open avionics environment for all military airborne platform types. Today, it is a real-time software-focused professional group made up of industry suppliers, customers, academia, and users. The FACE approach is a government-industry software standard and business strategy for acquisition of affordable software systems that promotes innovation and rapid integration of portable capabilities across programs. The FACE Consortium provides a vendor-neutral forum for industry and government to work together to develop and consolidate the open standards, best practices, guidance documents, and business strategy necessary to result in:

References

PD-icon.svg This article incorporates  public domain material from the National Institute of Standards and Technology website http://www.nist.gov .

  1. The Open Group (2007) TOGAF 2007 Edition: (incorporating 8.1.1). p. 507
  2. 1 2 Naval Information Systems Management Center (1994) Ada Implementation Guide : Software Engineering With Ada Volume I. Department of the Navy, April 1994
  3. 1 2 Joseph Hungate (1995) "Conference Report: Application Portability Profile and Open System Environment Users Forum Gaithersburg, MD May 9–10, 1995" in: Journal of Research of the National Institute of Standards and Technology. Volume 100, Number 6, November–December 1995
  4. Federal Aviation Administration (1998) Federal Information Architecture Initiatives. Federal Aviation Administration, Architecture and Systems Engineering Division, ASD-100, and NAS Information Architecture Team. February 1998