NCIP is intended to support multiple applications and to evolve with technology and library practice. This requires an extensible framework that includes the protocol and two types of profiles.
- The Standard - This Standard describes the services, data objects and data elements at an abstract level. The protocol defined herein may be deployed using different encoding and transport implementation methods.
- Implementation Profiles - Each implementation method is described in a separate Implementation Profile that specifies how messages are exchanged. Specifications include message, character, and data encoding; required components and behavior; network transport; network security; scheme registration; and provision for extension. Note: Implementation profiles were originally called Cross-Application Profiles.
- Application Profiles - Application Profiles describe how the protocol would be used to support a specific application with a given set of practices and policies. An Application Profile includes a description of services that must be supported. Each profile also provides an event table that maps specific external events and circumstances to the use of particular services specified in the protocol.
- Evolving technology and usage - Separating services and data objects from actual implementation details will allow the NCIP to be implemented with new technology without needing to redefine services or data objects.
- Multiple applications - Practical implementation of the NCIP will vary among and even within broad application areas. If each application were to follow its own rules, interoperability would inevitably suffer. The application profiles allow for detailed specification of the use of the NCIP within a particular application area. Two implementers exchanging messages have a common set of rules to determine what messages must be sent in a particular circumstance.