The present application is related in some aspects to commonly owned and co-pending application entitled “Identification of a Service Oriented Architecture Shared Services Project”, which was filed on Nov. 24, 2008, and was assigned application Ser. No. 12/277,280, commonly owned and co-pending application entitled “Evaluating a Service Oriented Architecture Shared Services Project”, which was filed on Feb. 19, 2009, and was assigned application Ser. No. 12/388,533, commonly owned and co-pending application entitled “Selecting a Service Oriented Architecture Shared Service”, and was assigned application Ser. No. 12/391,426, commonly owned and co-pending application entitled “Designing a Service Specific Service Oriented Architecture Shared Service Solution”, which was filed on Feb. 24, 2009, and was assigned application Ser. No. 12/391,728, commonly owned and co-pending application entitled “Transitioning to Management of a Service Oriented Architecture Shared Service”, which was filed on Feb. 25, 2009, and was assigned application Ser. No. 12/392,567, commonly owned and co-pending application entitled “Management of a Service Oriented Architecture Shared Service”, which was filed on Feb. 26, 2009, and was assigned application Ser. No. 12/393,110, commonly owned and co-pending application entitled “Managing a Service Oriented Architecture (SOA) Shared Services Escalation”, which was filed on Feb. 24, 2009, and was assigned application Ser. No. 12/391,362, the entire contents of which are herein incorporated by reference.
This invention relates generally to lifecycle management and more specifically to the construction of SOA 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.
Current IT lifecycle processes are configured to managing self-contained and siloed solutions. However, as businesses transition to service oriented architectures (SOA), traditional IT governance methods are inadequate at managing SOA shared services during their entire lifecycle. SOA is not a self-contained and siloed solution; rather it's a decomposition of solutions into a set of shared services. It is these SOA shared services that require a new lifecycle management system, which takes into consideration multiple new processes that are not available or part of existing IT governance systems.
In one embodiment, there is a method for constructing a service oriented architecture (SOA) shared service. In this embodiment, the method comprises: receiving an input for a SOA shared service solution; and constructing a SOA shared service based on the design input for the SOA shared service solution.
In a second embodiment, there is a system for constructing a service oriented architecture (SOA) shared service. In this embodiment, the system comprises at least one processing unit, and memory operably associated with the at least one processing unit. A service construction tool is storable in memory and executable by the at least one processing unit. The service construction tool comprises: an input component configured to receive design input for a SOA shared service solution; and a construction component configured to construct a SOA shared service based on the design input for the SOA shared service solution.
In a third embodiment, there is a computer-readable medium storing computer instructions, which when executed, enables a computer system to construct a service oriented architecture (SOA) shared service, the computer instructions comprising: receiving an input for a SOA shared service solution; and constructing a SOA shared service based on the design input for the SOA shared service solution.
In a fourth embodiment, there is a method for deploying a service construction tool for use in a computer system that provides construction of a service oriented architecture (SOA) shared service. In this embodiment, a computer infrastructure is provided and is operable to: receive an input for a SOA shared service solution; and construct a SOA shared service based on the design input for the SOA shared service 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 constructing a service oriented architecture (SOA) shared service. In these embodiments, a service construction tool provides this capability. Specifically, the service construction tool comprises an input component configured to receive design input for a SOA shared service solution; and a construction component configured to construct a SOA shared service based on the design input for the SOA shared service 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 constructing 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 service construction 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 service construction 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 service construction 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 services registry 117. 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. 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.
Implementation 100 and service construction tool 153 operate within a broader SOA services lifecycle management process (SLMP) 130, shown in
SOA SLMP 130 of the present invention consists of the following distinct processes and associated methodologies:
Each of the above processes is a complete methodology that can be implemented independently since they define key stakeholders, affected processes, and touch-points throughout the organization. It will be appreciated that each of the above listed SOA processes are non-limiting examples of the functionality and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each process (I-VIII) may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s) of SOA SLMP 130, as shown in
Next, service construction tool 153 begins the process of building/constructing the SOA shared service. To accomplish this, service construction tool comprises a construction component 155 configured to construct a SOA shared service based on the design input for the SOA shared service solution received by input component 150. In one embodiment, construction component 155 is configured to build a set (i.e., one or more) of integration components, and test the set of integration components prior to deployment of the SOA shared service. Specifically, the integration components are first developed by creating a series of input/output messages, each message having defined endpoints (e.g., http, URI, MQ/JMS queues, etc.). Message format translation and protocol mediation is implemented, along with filter rules, log and audit function(s), and message enrichment logic. The integration components are tested, and then built by construction component 155. Further, construction component 155 is configured to create (i.e., design and build) an infrastructure to support deployment of the SOA shared service. Creating an infrastructure includes installing and setting the testing and deployment environment comprised of the hardware, software and the network systems. This includes setting up all configuration parameters required for the SOA shared services to become operational.
Following construction of the SOA shared service and the infrastructure to support the SOA shared service, the service it is deployed into production. To accomplish this, service construction tool 153 comprises a deployment component 160 configured to deploy the SOA shared service. In one embodiment, a project delivery team (e.g., a committee or group of individuals within an organization, or a module, segment, or portion of code, etc.) coordinates with project teams for build increment scheduling and the deployment of the integration components into the production environment. Following deployment, user feedback is obtained from an end user to evaluate an effectiveness of the SOA shared service. To accomplish this, service construction tool 153 comprises a testing component 165 configured to obtain feedback regarding the SOA shared service after it is deployed.
Referring now to
Next, at SC-5, the integration components are certified. In this step, complete unit and integration testing of the service integration is performed. Once testing is complete, the test cases/results are entered into services registry 117. At SC-6, the deployment of the certified SOA shared services into the production environment is planed and rolled-out (i.e., delivered). At SC-7, the system results are evaluated and deployment is initiated. In this step, the project delivery team completes the detailed design, construction and testing of SOA shared service components. This includes creation of service interface definitions (e.g. WSDL), message definitions (XML), message flows, message sets, etc.
Next, as shown in
As shown,
It will be appreciated that SOA SLMP flow 170 represents possible implementations of a process flow for constructing SOA shared services, and that other process flows are possible within the scope of the invention. SOA SLMP flow 170 illustrates the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each portion of the flowchart may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It will also be noted that each block of flowchart illustration can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Further, it can be appreciated that the methodologies disclosed herein can be used within a computer system to provide construction of a SOA shared service, 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 constructing a SOA shared service. 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.
Number | Name | Date | Kind |
---|---|---|---|
6266243 | Tomioka | Jul 2001 | B1 |
6850893 | Lipkin et al. | Feb 2005 | B2 |
6925642 | Commander | Aug 2005 | B1 |
7197466 | Peterson et al. | Mar 2007 | B1 |
7487534 | Peterka et al. | Feb 2009 | B1 |
7584282 | Reeves et al. | Sep 2009 | B2 |
7797400 | Singh et al. | Sep 2010 | B2 |
7979379 | Voegele et al. | Jul 2011 | B2 |
8036909 | Whitworth et al. | Oct 2011 | B2 |
8200527 | Thompson et al. | Jun 2012 | B1 |
8244847 | Channabasavaiah et al. | Aug 2012 | B2 |
8266243 | Carlson et al. | Sep 2012 | B1 |
8392540 | Channabasavaiah et al. | Mar 2013 | B2 |
8413107 | Brininstool et al. | Apr 2013 | B2 |
8745783 | Jansen | Jun 2014 | B2 |
8843877 | Dutta et al. | Sep 2014 | B2 |
20020049571 | Verma et al. | Apr 2002 | A1 |
20020133325 | Hoare et al. | Sep 2002 | A1 |
20020184610 | Chong et al. | Dec 2002 | A1 |
20030084127 | Budhiraja et al. | May 2003 | A1 |
20030105887 | Cox et al. | Jun 2003 | A1 |
20030200130 | Kall et al. | Oct 2003 | A1 |
20040019500 | Ruth | Jan 2004 | A1 |
20040093381 | Hodges et al. | May 2004 | A1 |
20050044197 | Lai | Feb 2005 | A1 |
20050188345 | Chang et al. | Aug 2005 | A1 |
20050222931 | Mamou et al. | Oct 2005 | A1 |
20050223109 | Mamou et al. | Oct 2005 | A1 |
20050246215 | Rackham | Nov 2005 | A1 |
20050256882 | Able et al. | Nov 2005 | A1 |
20050259683 | Bishop et al. | Nov 2005 | A1 |
20050261914 | Brookins | Nov 2005 | A1 |
20050283667 | Batten et al. | Dec 2005 | A1 |
20050289536 | Nayak et al. | Dec 2005 | A1 |
20060026049 | Joseph et al. | Feb 2006 | A1 |
20060036941 | Neil | Feb 2006 | A1 |
20060047665 | Neil | Mar 2006 | A1 |
20060059253 | Goodman et al. | Mar 2006 | A1 |
20060069605 | Hatoun | Mar 2006 | A1 |
20060069995 | Thompson et al. | Mar 2006 | A1 |
20060074618 | Miller et al. | Apr 2006 | A1 |
20060111921 | Chang et al. | May 2006 | A1 |
20060116922 | Homann et al. | Jun 2006 | A1 |
20060129992 | Oberholtzer et al. | Jun 2006 | A1 |
20060206856 | Breeden et al. | Sep 2006 | A1 |
20060222361 | Aoki | Oct 2006 | A1 |
20060235733 | Marks | Oct 2006 | A1 |
20070016457 | Schreiber et al. | Jan 2007 | A1 |
20070022404 | Zhang et al. | Jan 2007 | A1 |
20070033129 | Coates | Feb 2007 | A1 |
20070033273 | White et al. | Feb 2007 | A1 |
20070043724 | Senan et al. | Feb 2007 | A1 |
20070150480 | Hwang et al. | Jun 2007 | A1 |
20070179826 | Cutlip et al. | Aug 2007 | A1 |
20070220370 | Branda et al. | Sep 2007 | A1 |
20070234293 | Noller et al. | Oct 2007 | A1 |
20070240102 | Bello et al. | Oct 2007 | A1 |
20070288275 | Kumar | Dec 2007 | A1 |
20080021753 | Cummins | Jan 2008 | A1 |
20080027784 | Ang et al. | Jan 2008 | A1 |
20080028365 | Erl | Jan 2008 | A1 |
20080066048 | Hafermann et al. | Mar 2008 | A1 |
20080077652 | Grant et al. | Mar 2008 | A1 |
20080126390 | Day et al. | May 2008 | A1 |
20080126406 | Endabetla et al. | May 2008 | A1 |
20080140857 | Conner et al. | Jun 2008 | A1 |
20080177564 | An et al. | Jul 2008 | A1 |
20080228665 | Gotthelf et al. | Sep 2008 | A1 |
20080250386 | Erl | Oct 2008 | A1 |
20080282219 | Seetharaman et al. | Nov 2008 | A1 |
20080288944 | Coqueret et al. | Nov 2008 | A1 |
20090019420 | Johnson | Jan 2009 | A1 |
20090055888 | Little | Feb 2009 | A1 |
20090089078 | Bursey | Apr 2009 | A1 |
20090112646 | Bruce et al. | Apr 2009 | A1 |
20090125796 | Day et al. | May 2009 | A1 |
20090132708 | Hayward | May 2009 | A1 |
20090204660 | Chappell | Aug 2009 | A1 |
20090210499 | Upadhyayula et al. | Aug 2009 | A1 |
20100057835 | Little | Mar 2010 | A1 |
20100131326 | Channabasavaiah et al. | May 2010 | A1 |
20100211925 | Channabasavaiah et al. | Aug 2010 | A1 |
20100217632 | Channabasavaiah et al. | Aug 2010 | A1 |
20100217633 | Channabasavaiah et al. | Aug 2010 | A1 |
20100217636 | Channabasavaiah et al. | Aug 2010 | A1 |
20100218163 | Channabasavaiah et al. | Aug 2010 | A1 |
20100257010 | Allam et al. | Oct 2010 | A1 |
20120168997 | Jansen | Jul 2012 | A1 |
Number | Date | Country |
---|---|---|
2544669 | Dec 2006 | CA |
2006099162 | Apr 2006 | JP |
2008011122 | Jan 2008 | WO |
Entry |
---|
A. Arsanjani, S. Ghosh, A. Allam, T. Abdollah, S. Ganapathy, and K. Holley. “SOMA: A Method for Developing Service-Oriented Solutions”. IBM Systems J. vol. 47, No. 3. pp. 377-396. 2008. |
U.S. Appl. No. 12/277,280, Office Action, May 5, 2011, 13 pages. |
U.S. Appl. No. 12/277,280, Office Action, Jun. 14, 2011, 12 pages. |
U.S. Appl. No. 12/277,280, Office Action, Jan. 16, 2014, 36 pages. |
U.S. Appl. No. 12/277,280, Office Action, Sep. 13, 2011, 18 pages. |
U.S. Appl. No. 12/388,533, Office Action, Jul. 11, 2011, 19 pages. |
U.S. Appl. No. 12/388,533, Office Action, Mar. 17, 2014, 30 pages. |
U.S. Appl. No. 12/388,533, Final Office Action, Aug. 12, 2011, 16 pages. |
U.S. Appl. No. 12/388,533, Final Office Action, Oct. 24, 2013, 19 pages. |
U.S. Appl. No. 12/391,426, Office Action, Oct. 27, 2011, 11 pages. |
U.S. Appl. No. 12/391,426, Final Office Action, Apr. 27, 2012, 11 pages. |
U.S. Appl. No. 12/391,426, Corrected Notice of Allowance, Nov. 8, 2012, 16 pages. |
U.S. Appl. No. 12/391,728, Office Action, Mar. 1, 2012, 15 pages. |
U.S. Appl. No. 12/391,728, Final Office Action, Jul. 16, 2012, 14 pages. |
U.S. Appl. No. 12/391,728, Notice of Allowance, Oct. 15, 2012, 6 pages. |
U.S. Appl. No. 12/391,362, Office Action, Jun. 16, 2011, 51 pages. |
Gewald et al., “A Governance Model for Managing Outsourcing Partnerships”, Proceedings of the 39th Hawaii International Conference on Systems Sciences, 2006. |
Papazoglou et al., “Service oriented architectures: approaches, technologies and research issues”, The VLDB Journal (2007) 16, pp. 389-415, 2007. |
U.S. Appl. No. 12/392,567, Office Action, May 9, 2012, 13 pages. |
U.S. Appl. No. 12/392,567, Office Action, Feb. 6, 2013, 19 pages. |
U.S. Appl. No. 12/392,567, Office Action, Dec. 4, 2013, 38 pages. |
U.S. Appl. No. 12/392,567, Final Office Action, Aug. 23, 2012, 9 pages. |
U.S. Appl. No. 12/392,567, Final Office Action, Jun. 21, 2013, 25 pages. |
U.S. Appl. No. 12/392,567, Notice of Allowance, Jun. 30, 2014, 16 pages. |
U.S. Appl. No. 12/393,110, Office Action, Nov. 8, 2011, 10 pages. |
U.S. Appl. No. 12/393,110, Notice of Alowance, Apr. 3, 2012, 9 pages. |
U.S. Appl. No. 12/391,362, Office Action, Sep. 12, 2011, 16 pages. |
U.S. Appl. No. 12/391,362, Office Action, Apr. 16, 2014. |
Gu et al., “A stakeholder-driven Service Life Cycle Model for SOA”, IW-SOSWE '07, Sep. 3, 2007, 7 pages. |
U.S. Appl. No. 12/388,533, Office Action, Oct. 9, 2014, 33 pages. |
U.S. Appl. No. 12/277,280, Office Action Jul. 25, 2014, 44 pages. |
U.S. Appl. No. 12/392,567, Notice of Allowance, Aug. 25, 2014, 21 pages. |
Thomas L. Mansfield, USPTO Office Action, U.S. Appl. No. 12/391,362, Notification Date Oct. 22, 2014, 27 pages. |
U.S. Appl. No. 12/391,362, Office Action, IBME-1014, Apr. 30, 2015, 21 pages. |
Shanker, U.S. Appl. No. 12/388,533, Office Action dated Jul. 27, 2015, 30 pages. |
Bea, “Right from the Start: SOA Life Cycle Governance”, 1995, 15 pages. |
IBM, “Advancing SOA Governance and Service Lifecycle Management”, Mar. 18, 2009, 4 pages. |
Cai, “A Two Steps Method for Analyzing Dependency Of Business Services On IT Services Within A Service Life Cycle” IEEE International Conference on Web Services, 2006, 6 pages. |
Simon et al., “Service Contract Template”, IEEE International Conference on Services Computing, 2006, 1 page. |
IBM, “IBM Problem Determination Tools help develop, test, and deploy your service-oriented architecture applications”, IBM United States Announcement, 207-206, dated Sep. 18, 2007, 24 pages. |
Akida, U.S. Appl. No. 12/419,431, Office Action dated Aug. 3, 2011, 73 pages. |
Akida, U.S. Appl. No. 12/419,431, Final Office Action dated Nov. 9, 2011, 18 pages. |
Akida, U.S. Appl. No. 12/419,431, Office Action dated Mar. 2, 2012, 17 pages. |
Akida, U.S. Appl. No. 12/419,431, Final Office Action dated Jan. 10, 2013, 18 pages. |
Akida, U.S. Appl. No. 12/419,431, Office Action dated Apr. 10, 2014, 27 pages. |
Akida, U.S. Appl. No. 12/419,431, Office Action dated 1012812014, 17 pages. |
Akida, U.S. Appl. No. 12/419,431, Final Office Action dated May 20, 2015, 9 pages. |
U.S. Appl. No. 12/277,280, Office Action dated Sep. 9, 2015, 47 pages. |
Number | Date | Country | |
---|---|---|---|
20100218162 A1 | Aug 2010 | US |