This invention relates generally to lifecycle management and more specifically to the lifecycle management of service oriented architecture shared services.
In the past, software architectures have attempted to deal with increasing levels of software complexity. As the level of complexity continues to increase, traditional architectures are reaching the limit of their ability to deal with various problems. At the same time, traditional needs of information technology (IT) organizations persist. IT organizations need to respond quickly to new requirements of the business, while continuing to reduce the cost of IT to the business by absorbing and integrating new business partners, new business sets, etc.
Adoption of Service Oriented Architectures (SOA) requires changes within an enterprise that go beyond technology and IT aspects only. SOA has a significant impact on the various processes and methodologies not only from an IT point-of-view, but also from a business perspective. SOA requires that the associated processes and methodologies include organizational processes, like business project planning, portfolio planning and management, aligning IT processes with changes in business goals and objectives, and many other organizational aspects. In order to enable such transformational initiatives, and more importantly, enable a model capable of sustaining change, it is essential to understand, define, document and roll-out an end-to-end lifecycle management process and methodology for the management of Services for an SOA enabled enterprise.
In one embodiment, there is a method for managing a service oriented architecture (SOA) lifecycle. In this embodiment, the method comprises: identifying a set of business objectives, evaluating a need for a SOA service solution based on the set of business objectives; identifying a set of candidate SOA shared services of the SOA share service solution; developing service components for each of the set of candidate SOA shared services of the SOA shared service solution; and deploying at least one of the set of candidate SOA shared services of the SOA shared services solution.
In a second embodiment, there is a system for managing a service oriented architecture (SOA) lifecycle. In this embodiment, the system comprises at least one processing unit, and memory operably associated with the at least one processing unit. A lifecycle management tool is storable in memory and executable by the at least one processing unit. The lifecycle management tool comprises: an identification component configured to identify a set of business objectives, evaluate a need for a SOA service solution based on the set of business objectives, and identify a set of candidate SOA shared services of the SOA share service solution; a development component configured to develop service components for each of the set of candidate SOA shared services of the SOA shared service solution; and a deployment component configured to deploy at least one of the set of candidate SOA shared services of the SOA shared services solution.
In a third embodiment, there is a computer-readable medium storing computer instructions, which when executed, enables a computer system to manage a service oriented architecture (SOA) lifecycle, the computer instructions comprising: identifying a set of business objectives, evaluating a need for a SOA service solution based on the set of business objectives; identifying a set of candidate SOA shared services of the SOA share service solution; developing service components for each of the set of candidate SOA shared services of the SOA shared service solution; and deploying at least one of the set of candidate SOA shared services of the SOA shared services solution.
In a fourth embodiment, there is a method for deploying a lifecycle management tool for use in a computer system that provides management of a service oriented architecture (SOA) lifecycle. In this embodiment, a computer infrastructure is provided and is operable to: identify a set of business objectives, evaluate a need for a SOA service solution based on the set of business objectives; identify a set of candidate SOA shared services of the SOA share service solution; develop service components for each of the set of candidate SOA shared services of the SOA shared service solution; and deploy at least one of the set of candidate SOA shared services of the SOA shared services solution.
The drawings are not necessarily to scale. The drawings are merely schematic representations, not intended to portray specific parameters of the invention. The drawings are intended to depict only typical embodiments of the invention, and therefore should not be considered as limiting the scope of the invention. In the drawings, like numbering represents like elements.
Embodiments of this invention are directed to managing a service oriented architecture (SOA) lifecycle. In these embodiments, a lifecycle management tool provides this capability. Specifically, the lifecycle management tool comprises an identification component configured to identify a set of business objectives, evaluate a need for a SOA service solution based on the set of business objectives, and identify a set of candidate SOA shared services of the SOA share service solution; a development component configured to develop service components for each of the set of candidate SOA shared services of the SOA shared service solution; and a deployment component configured to deploy at least one of the set of candidate SOA shared services of the SOA shared services solution.
Computer system 104 is intended to represent any type of computer system that may be implemented in deploying/realizing the teachings recited herein. In this particular example, computer system 104 represents an illustrative system for managing a SOA shared service. It should be understood that any other computers implemented under the present invention may have different components/software, but will perform similar functions. As shown, computer system 104 includes a processing unit 106, memory 108 for storing a lifecycle management tool 153, a bus 110, and device interfaces 112.
Processing unit 106 collects and routes signals representing outputs from external devices 115 (e.g., a keyboard, a pointing device, a display, a graphical user interface, etc.) to lifecycle management tool 153. The signals can be transmitted over a LAN and/or a WAN (e.g., T1, T3, 56 kb, X.25), broadband connections (ISDN, Frame Relay, ATM), wireless links (802.11, Bluetooth, etc.), and so on. In some embodiments, the signals may be encrypted using, for example, trusted key-pair encryption. Different external devices may transmit information using different communication pathways, such as Ethernet or wireless networks, direct serial or parallel connections, USB, Firewire®, Bluetooth®, or other proprietary interfaces. (Firewire is a registered trademark of Apple Computer, Inc. Bluetooth is a registered trademark of Bluetooth Special Interest Group (SIG)).
In general, processing unit 106 executes computer program code, such as program code for operating lifecycle management tool 153, which is stored in memory 108 and/or storage system 116. While executing computer program code, processing unit 106 can read and/or write data to/from memory 108, storage system 116, and a SOA shared services registry 117. SOA shared services registry 117 stores a plurality of SOA shared services and associated metadata, as well as rules against which the metadata is compared to locate, update, and store SOA shared services from decomposed business architectures, as will be further described below. Storage system 116 and services registry 117 can include VCRs, DVRs, RAID arrays, USB hard drives, optical disk recorders, flash storage devices, or any other similar storage device. Although not shown, computer system 104 could also include I/O interfaces that communicate with one or more external devices 115 that enable a user to interact with computer system 104.
Once set of candidate SOA shared services 126 is identified, the individual service components for each service are developed. To accomplish this, a development component 160 is configured to develop service components 162 for each of set of candidate SOA shared services 126 of SOA shared service solution 100. Each of service components 162 is designed to be widely applicability to a large number of users/consumers. To accomplish this, the existing services are reviewed against the new requirements of SOA shared service solution 100, and enhancements/modifications are made to enable the current service(s) to meet the new requirements. Further, to maximize service integration, development component 160 is configured to develop a service architecture 164 (e.g., the hardware, software and the network systems, as well as configuration parameters required for each SOA shared service to become operational) to integrate set of candidate SOA shared services 126 of SOA shared service solution 100.
Next, service components 162 and service architecture 164 are tested and the SOA shared service(s) is deployed to production. To accomplish this, lifecycle management tool 153 comprises a deployment component 165 configured to deploy at least one of set of candidate SOA shared services 126 of SOA shared services solution 100. In one embodiment, deployment component 165 is configured to publish the at least one of set of candidate SOA shared services 126 of SOA shared services solution 100 to services registry 117 for future access/implementation.
After the SOA shared service is deployed, it is beneficial to manage/monitor the services to maintain continuing service offering and performance. In one embodiment, lifecycle management tool 153 comprises a management component 170 configured to manage the at least one of set of candidate SOA shared services 126 of SOA shared services solution 100. Specifically, management component 170 manages aspects of service configuration, service re-factoring, service evolution, and service phase-out that are essential for the governance and lifecycle management of SOA shared services. For example, management component 170 ensures that SOA shared services remain in the deployed state until at least one of the following events occurs: a request for a service modification (e.g., new version or development of a new service), the service does not function properly, the service will no longer be supported (e.g., service is to be disabled/retired.).
Referring now to
Next, at 206, lifecycle process 200 identifies candidate SOA shared services for potential re-use. At 208, it is determined whether the service exists. In one embodiment, services registry 117 is searched for existing services that can be re-used. If no service exists to meet the business objectives, the service is developed at 210. However, if a candidate service does exist, it is next determined at 212 whether enhancements or modifications are required to align the candidate service with the business objective(s). If yes, the service is modified at 214 by developing service components and a service architecture to integrate the candidate SOA shared service(s) with the SOA shared service solution. Next, at 216, the candidate service(s) is tested, deployed, and published to services registry 117 for subsequent use and/or re-use. Finally, at 218, the services are managed to maintain continuing service offering and performance.
It will be appreciated that lifecycle process 200 of
Further, it can be appreciated that the methodologies disclosed herein can be used within a computer system to provide management of a SOA lifecycle, as shown in
The exemplary computer system 104 may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, people, components, logic, data structures, and so on that perform particular tasks or implements particular abstract data types. Exemplary computer system 104 may be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
Furthermore, an implementation of exemplary computer system 104 may be stored on or transmitted across some form of computer readable media. Computer readable media can be any available media that can be accessed by a computer. By way of example, and not limitation, computer readable media may comprise “computer storage media” and “communications media.”
“Computer storage media” include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computer.
“Communication media” typically embodies computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as carrier wave or other transport mechanism. Communication media also includes any information delivery media.
The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media. Combinations of any of the above are also included within the scope of computer readable media.
It is apparent that there has been provided with this invention an approach for managing a SOA lifecycle. While the invention has been particularly shown and described in conjunction with a preferred embodiment thereof, it will be appreciated that variations and modifications will occur to those skilled in the art. Therefore, it is to be understood that the appended claims are intended to cover all such modifications and changes that fall within the true spirit of the invention.