The application software life cycle considers the functionality of a given collection of components within the context of a consumer’s requirements definition. One set of requirements that are frequently overlooked are the requirements for application integration within the context of the enterprise environment. If an application creates vulnerabilities for other applications, is an administrative nightmare to maintain, or does not consider the security context required for execution; the application may not fulfill the intended requirements. This chapter addresses the question of the consideration of the enterprise information system’s administrative and execution context as a component of the application software development process. The potential impact these considerations have on the acceptance of an application by the application’s user community is presented, with illustrations of some representative problem areas for the reader’s consideration.
The focus of the application development life cycle is the satisfaction of the functional requirements that must be fulfilled to address the user’s vision. Applications are developed in response to perceived user needs, or requirements. They collect, process, and present information from one or more sources to the user in a specified format. The application is tasked with collecting the information, providing analytical or presentation functions, and interacting with either the user or other applications as required. The development process ensures that the application addresses the requirements as specified, and that these requirements are traceable and correctly allocated to various component elements of the application.
Few applications exist as independent entities that do not integrate with the other applications within an enterprise. Provisioning is defined as “a preparatory step in anticipation of some need” (Microsoft, 2003). In the case of an enterprise application, this preparatory step is the integration of the application with the enterprise’s information technology infrastructure. This infrastructure includes the network, servers, and other software applications. The enterprise user or subscriber must also be made known to the application. For example, Xuan Shi (2006) defines a provisioning context in which the application is responsible for providing:
A valid user name and authentication mechanism
The data source used in the application
Using the combination to find the data requested.
An application can only perform as expected if it has an ability to communicate within the enterprise to find its data, determine the authenticity of its users, and process the information requests. If an application cannot access and exercise the enterprise infrastructure, then it cannot function successfully within the enterprise’s information processing context.Top
Addressing The Enterprise Context
The provisioning process facilitates enterprise application integration and verification activities. Provisioning should be the final step in the application integration planning process. Well executed, the enterprise infrastructure will be transparent to an application’s users. Poorly accomplished, enterprise context integration activities can result in a cost and schedule nightmare. If additional network capacity, hardware, or software licenses are required, these must be acquired through the corporate procurement processes. The project may not have the budgetary reserve to address these issues if they are not considered during the early design phases of a project.
Key Terms in this Chapter
Enterprise Context: The totality of the information technology infrastructure supporting a given organization’s information processing functions, services, and applications.
Service Provisioning Markup Language: An XML-based language to facilitate the provisioning of information services.
Management Hierarchy: The chain of decision making within a given enterprise or business Middleware: The supporting software components that enable application functions, but are not a component of the application itself. Middleware is transparent to the application user.
User or Subscriber Provisioning: Configuration of a specified user or group of users system attributes to support the integration of additional functionality or components.
Continuity of Operations (COOP): The processes, policies, and procedures described in the contingency management plan to ensure a given enterprise can continue to function in the event of a catastrophic or minor disruption of service.
Provisioning: Configuration of a network, platform, software, or application to support the integration of additional functionality or components.
Active or Aware Network: A network capable of autonomous dynamic adaptation to changes in the enterprise network architecture or the processing state of the network