A system provisions artifacts for policy enforcement of service-oriented architecture (soa) deployments. The system comprises a computer-executed program code that creates a model of a soa deployment by collecting information about soa artifacts and mapping between business-centric applications and underlying soa artifacts. The system further comprises a computer-executed program code that converts the model into actionable artifacts which are provisioned to soa policy enforcement points.
|
1. A computer-executed method for provisioning artifacts for policy enforcement of service-oriented architecture (soa) deployments comprising:
creating a model of a soa deployment comprising:
collecting information about soa artifacts; and
creating a mapping between business-centric applications and underlying soa artifacts; and
converting the model into actionable artifacts that are provisioned to soa policy enforcement points.
13. A system that provisions artifacts for policy enforcement of service-oriented architecture (soa) deployments comprising:
a computer-executed program code that creates a model of a soa deployment by collecting information about soa artifacts and mapping between business-centric applications and underlying soa artifacts; and
a computer-executed program code that converts the model into actionable artifacts that are provisioned to soa policy enforcement points.
21. An article of manufacture comprising:
a controller-usable medium having a computer readable program code embodied in a controller for provisioning artifacts for policy enforcement of service-oriented architecture (soa) deployments, the computer readable program code further comprising:
code causing the controller to create a model of a soa deployment;
code causing the controller to collect information about soa artifacts;
code causing the controller to create a mapping between business-centric applications and underlying soa artifacts; and
code causing the controller to convert the model into actionable artifacts that are provisioned to soa policy enforcement points.
2. The method according to
enforcing policies according to the soa policy enforcement points; and
collecting performance and health metrics according to the soa policy enforcement points.
3. The method according to
collecting soa artifact information that enables lifecycle management of Web Services and performance monitoring of the Web Services.
4. The method according to
operating a wizard in a user interface comprising:
querying a user for endpoint information for the web services to be brought under management;
receiving the endpoint information from the user;
querying the user for a type of policy enforcement point for usage in the soa deployment;
receiving the policy enforcement point type from the user; and
interrogating policy types that are supported by a selected policy enforcement point.
5. The method according to
operating the wizard in a user interface comprising:
querying the user for policy enforcement point instances to which policies and provisioning artifacts accumulated;
receiving the policy enforcement point instances from the user;
configuring Universal Description, Discovery, and Integration (UDDI) synchronization information using configuration metadata to determine fields for inclusion for correct access location information.
6. The method according to
operating the wizard in a user interface comprising:
accessing metadata of policy types;
determining policy instances corresponding to the policy types based on the metadata;
presenting the policy instances to the user;
receiving selected policies from the user; and
receiving from the user a definition of contracts to be enforced at runtime by the policy enforcement point.
7. The method according to
operating the wizard in a user interface comprising:
classifying endpoints comprising:
accessing metadata of policy types;
identifying policies for which additional configuration is warranted for runtime enforceability based on the metadata;
querying the user for information relating to the additional configuration;
receiving the additional configuration information from the user; and
incorporating the received configuration information.
8. The method according to
operating the wizard in a user interface comprising:
configuring load balancing policies comprising:
accessing the endpoint information;
accessing metadata in combination with the endpoint information;
determining whether definition of additional routing rules is warranted based on the endpoint information and metadata;
determining configuration parameters for defining routing rules when definition of additional routing rules is warranted;
querying the user relating to the determined configuration parameters;
receiving configuration parameter information from the user; and
incorporating the received configuration parameter information.
9. The method according to
operating the wizard in a user interface comprising:
specifying service level objectives (SLOs) comprising:
accessing metadata based on type of broker whereby a broker registers metadata defining support in terms of policies and service level objectives;
determining defaults based on type of service and metadata;
querying the user regarding specification of SLOs for generating alerts;
receiving SLO information from the user; and
incorporating the received SLO information.
10. The method according to
operating the wizard in a user interface comprising:
determining scope of reuse comprising:
querying the user regarding selection of a business service that exists in a service-oriented architecture (soa) manager or addition of a new business service;
receiving business service information from the user; and
incorporating the received business service information.
11. The method according to
creating a relationship between operating business services and web services; and
displaying the relationship in a single display.
12. The method according to
analyzing policies independently of platform; and
capturing policy-related information for web services whereby policy definition and enforcement is in run-time.
14. The system according to
a graphical user interface (GUI) wizard that sets endpoint information for the web services to be brought under management as directed by a user, sets type of policy enforcement point for usage in the soa deployment, and interrogates policy types that are supported by a selected policy enforcement point.
15. The system according to
a graphical user interface (GUI) wizard that sets policy enforcement point instances to which policies and provisioning artifacts accumulated as directed by a user, and configures Universal Description, Discovery, and Integration (UDDI) synchronization information using configuration metadata to determine fields for inclusion for correct access location information.
16. The system according to
a graphical user interface (GUI) wizard that determines policy instances corresponding to the policy types based on the metadata, and selects policies and defines contracts to be enforced at runtime by the policy enforcement point as directed by a user.
17. The system according to
a graphical user interface (GUI) wizard that classifies endpoints by identifying policies for which additional configuration is warranted for runtime enforceability based on metadata, incorporating additional configuration information as directed by a user.
18. The system according to
a graphical user interface (GUI) wizard that configures load balancing policies by accessing metadata and the endpoint information, determining whether definition of additional routing rules is warranted based on the endpoint information and metadata, determining configuration parameters for defining routing rules by manual entry or extracting information from Web Services Descriptive Language (WSDL), and sets configuration parameter Information as directed by a user.
19. The system according to
a graphical user interface (GUI) wizard that specifies service level objectives (SLOs) by accessing metadata based on type of broker whereby a broker registers metadata defining support in terms of policies and service level objectives, determining defaults based on type of service and metadata, and specifying SLOs for generating alerts as directed by a user.
20. The system according to
a graphical user interface (GUI) wizard that determines scope of reuse by selecting a business service that exists in a service-oriented architecture (soa) manager or addition of a new business service as directed by a user.
|
This Utility Patent Application is based on and claims the benefit of U.S. Provisional Application No. 61/086,091, filed on Aug. 4, 2008, the contents of which are hereby incorporated by reference in their entirety.
Service-Oriented Architecture (SOA) is a computer systems architectural style that creates and uses business processes, packaged as services, throughout the business process lifecycle. SOA defines and provisions an Information Technology (IT) infrastructure to enable different applications to exchange data and participate in business processes, functions that are loosely-coupled with the operating systems and programming languages underlying the applications. SOA separates functions into distinct units (services), which can be distributed over a network and can be combined and reused to create business applications. Services intercommunicate by passing data or by coordinating an activity between two or more services.
SOAs are used to implement information technology (IT) support for business processes that cover present and prospective systems requirements for running a business end-to-end. SOA is a flexible, standardized architecture that improves support for connection of various applications and data sharing, unifying business processes by structuring large applications as an associated collection of smaller modules called services. Applications can be used by different groups both inside and outside of an organization. New applications can be constructed from a mix of services from a global pool enabling greater flexibility and uniformity.
In various embodiments, a system provisions artifacts for policy enforcement of service-oriented architecture (SOA) deployments. The system comprises a computer-executed program code that creates a model of a SOA deployment by collecting information about SOA artifacts and mapping between business-centric applications and underlying SOA artifacts. The system further comprises a computer-executed program code that converts the model into actionable artifacts which are provisioned to SOA policy enforcement points.
Embodiments of the invention relating to both structure and method of operation may best be understood by referring to the following description and accompanying drawings:
In various system and method embodiments, a model-based technique is configured for collecting, configuring, and provisioning artifacts for usage in policy enforcement of service-oriented architecture (SOA) deployments.
A benefit of using SOA to create applications is that SOA enables reuse of existing services and accelerates building functionality to solve changing business requirements. However services reuse is improved if all dependencies for a particular service are understood. In addition to the understanding of dependencies, performance is improved if the various constraints on using the services are understood. Typically the constraints are encapsulated in contracts and policies. Monitoring the performance of web services can also be performed so that problematic web services are detected and corrected in a timely manner with minimal impact to business applications.
Many applications have certain types of performance and health-related service level objectives (SLOs). Capturing the SLOs enables a user to examine trends, prioritize issues, and react proactively to problems in web services. Policy enforcement points are used in SOA Deployments to actively monitor messages and enforce contracts/policies. Many of the policy enforcement points such as extensible Markup Language (XML) Firewalls and Enterprise Service Bus (ESB) have to be configured individually and are either heavy on performance monitoring or limited to policy enforcement for managing the lifecycle of web services such as content based routing, versioning, message transformation, and the like. Setting up all of the above-mentioned information items for XML Firewall and ESB implementations is usually not obvious to regular users, and is performed using separate tools. Consequently, a user has difficulty understanding the complexities of a given SOA deployment. Since the contracts and policy artifacts to be provisioned are in separate tools, a user typically takes much more time to comprehend all information and correctly capturing the information. Manual configuration of the correct contracts, policies, and SLOs is susceptible to error and most existing tools result in duplicated efforts, resulting in decreased the value of SOA-enabling applications to meet changing business needs.
XML Firewalls provide either no view or a limited view of how web services are reused, and fail to capture reuse information. XML Firewall tools do not give a global view of the relationship between business applications and the web services in use. XML Firewall tools only understand the web services and policies included in the tools, and cannot interoperate without programming changes. Much XML Firewall functionality centers is based around performance monitoring, but has limited SLO monitoring.
Enterprise Service Bus (ESB) provides a limited view or no view of how web services are reused, and reuse information is not captured. ESB tools do not give a global view of the relationship between business applications and the web services in use. ESB tools have policies for lifecycle management and performance monitoring, and integrate with other operations tools such as OpenView Operations (OVO) to provide SLO monitoring, resulting in duplicated information across tools.
SOA Manager 2.1 manages the configuration of policies and SLO in separate applications, and creates relationships between applications and web services, but does not enable capture of policy/contract-related information. Information has to be entered separately in Broker and business service explorer tools.
The system and associated methods depicted herein enable a model-based approach to collect information about SOA artifacts, for example Web services, to create mapping between high level business-centric applications and underlying SOA artifacts. The model also captures information to configure policies that enable lifecycle management of Web Services and performance monitoring of Web Services. The model is then converted into actionable artifacts that are provisioned to SOA policy enforcement points which are responsible for enforcing policies and collecting performance and health metrics.
In the model-based approach, collecting, configuring, and provisioning of artifacts are derived in whole or in part from a model that describes some aspects of the system, typically functional aspects.
The illustrative system and associated techniques create relationships between business applications and the web services in use and show the relationship in a single pane of information, enabling understanding of policies in a manner that is independent of the platform upon which the system operates. The depicted system and techniques enable understanding of policies in platforms including, for example, SOA Manager Broker, XML Firewalls, and Enterprise Service Bus, and captures the policy-related information for the web services to define and enforce the policies in runtime. The described system and techniques enable understanding of the metrics supported by each policy enforcement type, monitoring, and setting of service level objectives (SLOs), and enables the user to clearly identify and define information relating to web services under management in SOA deployments. The policies are distributed from a central location, for example after translation into policy instances that can be understood by a policy enforcement point.
The illustrative system and technique for collecting, configuring, and provisioning artifacts for policy enforcement of SOA deployments enables users to attain a board level understanding of not only all the web services but also relationships among the web services, health/performance information and policies associated with the web services, thereby facilitating reused.
Referring to
The system 100 can further comprise a graphical user interface (GUI) wizard 118 that sets endpoint information 120 for the web services 122 to be brought under management as directed by a user 124, sets type of Policy Enforcement Point 116 for usage in the SOA deployment 102, and interrogates policy types that are supported by a selected Policy Enforcement Point 116.
In some implementations, the graphical user interface (GUI) wizard 118 sets Policy Enforcement Point instances 116 to which policies and provisioning artifacts 108 are accumulated as directed by the user 124. The GUI wizard 118 can also configure Universal Description, Discovery, and Integration (UDDI) synchronization information 126 using configuration metadata 128 to determine fields for inclusion for correct access location information. UDDI is a platform-independent, XML-based registry for listing businesses world-wide on the Internet, enabling businesses to publish service listings, discover one another, and define how services or software applications interact over the Internet.
The graphical user interface (GUI) wizard 118 can also be configured to determine policy instances corresponding to the policy types based on the metadata 128, and selects policies and defines contracts to be enforced at runtime by the Policy Enforcement Point 116 as directed by a user 124.
The graphical user interface (GUI) wizard 118 can be configured to classify endpoints 130 by identifying policies for which additional configuration is warranted for runtime enforceability based on metadata 128, incorporating additional configuration information as directed by the user 124.
In some applications, a graphical user interface (GUI) wizard 118 can operate to configure load balancing policies by accessing metadata 128 and the endpoint information 120, and determining whether definition of additional routing rules is warranted based on the endpoint information and metadata. The GUI wizard 118 determines configuration parameters for defining routing rules 132 by manual entry or extracting information from Web Services Descriptive Language (WSDL) 134, and sets configuration parameter information as directed by the user 124.
Some embodiments of the graphical user interface (GUI) wizard 118 can be configured to manage service level objectives (SLOs) 136. The wizard 118 specifies SLOs 136 by accessing metadata 128 based on type of Broker 138 whereby a Broker 138 registers metadata 128 defining support in terms of policies and SLOs 136, determining defaults based on type of service and metadata, and specifying SLOs 136 for generating alerts as directed by a user 124. The Broker 138 is part of the Policy Enforcement Points 116.
The graphical user interface (GUI) wizard 118 can also be configured to determine a scope of reuse by selecting a business service 140 that exists in a service-oriented architecture (SOA) manager 142 or addition of a new business service 140 as directed by a user 124.
Referring to
Referring to
In some implementations, the method 210 can further comprise collecting 214 SOA artifact information that enables lifecycle management of Web Services and performance monitoring of the Web Services.
In some embodiments, the method 210 can further comprise creating 215 a relationship between operating business services and web services, and displaying 216 the relationship in a single screen.
In another aspect, the method 210 can comprise analyzing 217 policies independently of platform and capturing 218 policy-related information for web services whereby policy definition and enforcement is in run-time.
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Terms “substantially”, “essentially”, or “approximately”, that may be used herein, relate to an industry-accepted tolerance to the corresponding term. Such an industry-accepted tolerance ranges from less than one percent to twenty percent and corresponds to, but is not limited to, functionality, values, process variations, sizes, operating speeds, and the like. The term “coupled”, as may be used herein, includes direct coupling and indirect coupling via another component, element, circuit, or module where, for indirect coupling, the intervening component, element, circuit, or module does not modify the information of a signal but may adjust its current level, voltage level, and/or power level. Inferred coupling, for example where one element is coupled to another element by inference, includes direct and indirect coupling between two elements in the same manner as “coupled”.
The illustrative block diagrams and flow charts depict process steps or blocks that may represent modules, segments, or portions of code that include one or more executable instructions for implementing specific logical functions or steps in the process. Although the particular examples illustrate specific process steps or acts, many alternative implementations are possible and commonly made by simple design choice. Acts and steps may be executed in different order from the specific description herein, based on considerations of function, purpose, conformance to standard, legacy structure, and the like.
The block diagrams and flow charts further describe an article of manufacture comprising a controller-usable medium having a computer readable program code embodied in a controller for provisioning artifacts for policy enforcement of service-oriented architecture (SOA) deployments.
While the present disclosure describes various embodiments, these embodiments are to be understood as illustrative and do not limit the claim scope. Many variations, modifications, additions and improvements of the described embodiments are possible. For example, those having ordinary skill in the art will readily implement the steps necessary to provide the structures and methods disclosed herein, and will understand that the process parameters, materials, and dimensions are given by way of example only. The parameters, materials, and dimensions can be varied to achieve the desired structure as well as modifications, which are within the scope of the claims. Variations and modifications of the embodiments disclosed herein may also be made while remaining within the scope of the following claims.
Dutta, Satadip, Ravindran, Viji Kakkattu
Patent | Priority | Assignee | Title |
10270848, | Mar 13 2013 | United Services Automobile Association (USAA) | Point to node in a multi-tiered middleware environment |
10554741, | Mar 13 2013 | United Services Automobile Association (USAA) | Point to node in a multi-tiered middleware environment |
11190582, | Mar 13 2013 | United Services Automobile Association (USAA) | Point to node in a multi-tiered middleware environment |
11616831, | Mar 13 2013 | United Services Automobile Association (USAA) | Point to node in a multi-tiered middleware environment |
11924273, | Mar 13 2013 | United Services Automobile Association (USAA) | Point to node in a multi-tiered middleware environment |
8140582, | Oct 07 2008 | International Business Machines Corporation | Service oriented architecture aggregation |
8392567, | Mar 16 2009 | International Business Machines Corporation | Discovering and identifying manageable information technology resources |
8407349, | Mar 16 2009 | International Business Machines Corporation | Discovering and identifying manageable information technology resources |
8527985, | Dec 29 2009 | Oracle International Corporation | Techniques for rapid deployment of service artifacts |
8533230, | Jun 24 2009 | International Business Machines Corporation | Expressing manageable resource topology graphs as dynamic stateful resources |
8583610, | Mar 04 2008 | ServiceNow, Inc; International Business Machines Corporation | Dynamically extending a plurality of manageability capabilities of it resources through the use of manageability aspects |
8640082, | Aug 31 2011 | International Business Machines Corporation | Specifying data occurrence in SOA based environments |
8677309, | Dec 29 2009 | Oracle International Corporation | Techniques for automated generation of deployment plans in an SOA development lifecycle |
8806475, | Sep 13 2010 | Oracle International Corporation | Techniques for conditional deployment of application artifacts |
9395965, | Dec 29 2009 | Oracle International Corporation | Techniques for automated generation of service artifacts |
9538218, | Apr 17 2012 | Hewlett Packard Enterprise Development LP | Configuring an enforcement device according to a contract |
9686158, | Mar 13 2013 | United Services Automobile Association (USAA); UNITED SERVICES AUTOMOBILE ASSOCIATION USAA | Point to node in a multi-tiered middleware environment |
9690557, | Dec 29 2009 | Oracle International Corporation | Techniques for rapid deployment of service artifacts |
9886253, | Dec 29 2009 | Oracle International Corporation | Techniques for managing functional service definitions in an SOA development lifecycle |
9996795, | Oct 07 2011 | MICRO FOCUS LLC | Generating a non-deterministic model of a process for a goal |
Patent | Priority | Assignee | Title |
20050222931, | |||
20060235733, | |||
20080126406, | |||
20080178169, | |||
20090106012, | |||
20090157419, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Sep 17 2008 | DUTTA, SATADIP | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 024133 | /0632 | |
Sep 18 2008 | RAVINDRAN, VIJI KAKKATTU | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 024133 | /0632 | |
Sep 30 2008 | Hewlett-Packard Development Company, L.P. | (assignment on the face of the patent) | / | |||
Oct 27 2015 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Hewlett Packard Enterprise Development LP | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 037079 | /0001 |
Date | Maintenance Fee Events |
Apr 28 2014 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Apr 19 2018 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Apr 21 2022 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Nov 23 2013 | 4 years fee payment window open |
May 23 2014 | 6 months grace period start (w surcharge) |
Nov 23 2014 | patent expiry (for year 4) |
Nov 23 2016 | 2 years to revive unintentionally abandoned end. (for year 4) |
Nov 23 2017 | 8 years fee payment window open |
May 23 2018 | 6 months grace period start (w surcharge) |
Nov 23 2018 | patent expiry (for year 8) |
Nov 23 2020 | 2 years to revive unintentionally abandoned end. (for year 8) |
Nov 23 2021 | 12 years fee payment window open |
May 23 2022 | 6 months grace period start (w surcharge) |
Nov 23 2022 | patent expiry (for year 12) |
Nov 23 2024 | 2 years to revive unintentionally abandoned end. (for year 12) |