Secure Local Invocation in Composite Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In Service Oriented Architecture (SOA), local invocations within co-located composite applications are not typically performed when Quality of Service features like security and authentication are enabled, as they bypass necessary security checks, potentially leading to security breaches.

Innovation Solution

Implementing secure local invocations by attaching security policies to both the client and server, with attributes indicating whether each policy can be used for direct invocation, and ensuring user authentication is necessary, thus allowing local invocations only if policies are consistent and secure.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If local invocations are used within co-located composite applications, then performance is improved by eliminating network overhead, but security is worsened because security checks are bypassed

Engineering Contradiction:
Improveinvocation performanceVSAvoidsecurity assurance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The application server acts as an intermediary that mediates between the invoking composite application and the target web service. It receives local invocation requests, validates security policies, checks authentication credentials, and determines whether to allow the local invocation to proceed. This intermediary mechanism enables performance optimization while maintaining security through centralized policy enforcement.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Security policies are attached in advance to both the invoking composite application and the target web service, along with authentication credentials. The application server performs preliminary security validation before executing the local invocation, checking whether the attached credentials satisfy the security policies. This preliminary action ensures security requirements are met before the performance-critical local invocation occurs.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If security policies are attached to enable quality of service features, then security is improved, but local invocations are prevented from executing, worsening performance

Engineering Contradiction:
Improvesecurity enforcementVSAvoidlocal invocation capability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically determines whether local invocations are permitted based on runtime evaluation of security policies and attached credentials. The application server evaluates the security policies attached to the invoking application and target service, checks the credentials, and makes a dynamic decision to either allow or block the local invocation. This dynamic approach enables security enforcement while preserving local invocation capability when security requirements are satisfied.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of invocation mode from strictly network-based to conditionally local based on security policy evaluation. When security policies are attached and credentials are validated, the invocation mode parameter changes to allow local execution. This parameter change enables the system to adapt between security modes and performance modes based on the presence and satisfaction of security requirements.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8726349B2Optimizing interactions between co-located processes
Publication Date: 2014.05.13 ORACLE INT CORP
  • US8726349B2 patent drawing
  • US8726349B2 patent drawing
  • US8726349B2 patent drawing

AI summary

In one set of embodiments, methods, systems, and apparatus are provided to enable secure local invocation of a web service in response to receiving a request from a first composite application to invoke a web service operation of a second composite application, where the first application is associated with a reference policy, and the second application is associated with a service policy, then determining, based upon the service policy and the reference policy, whether local invocation is secure, and invoking the operation using the local invocation in response to determining that the local invocation is secure. Attributes associated with the reference and service policies can indicate whether those policies can be used in a local invocation, or if user authentication is needed before performing the invocation with those policies. The local invocation may comprise a procedure call in an application server from the first application to the second application.