Aspect Services Decoupling Crosscutting Concerns

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional aspect-oriented programming approaches require aspect code to be collocated with standard code and compiled together, leading to inefficiencies in development and implementation, especially when multiple networked systems implement the same aspect, as they need separate local instances of aspect code and lack reusability of crosscutting concerns like security and authentication.

Innovation Solution

A method and system for providing aspect services using an aspect server that receives requests and performs operations associated with crosscutting concerns, allowing aspect services to be hosted remotely and applied to web applications, enabling independent design and implementation of crosscutting concerns without being tied to specific modules or compilation with core code, using a proxy server and rules engine to manage aspect requests and responses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If aspect code is collocated with standard code and compiled together, then aspect services can be applied to core concerns of compiled programs, but development and implementation are slowed down and code duplication occurs across multiple networked systems

Engineering Contradiction:
Improveaspect service applicationVSAvoiddevelopment speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments aspect code from standard code by introducing a proxy server that acts as an intermediary. The proxy server hosts aspect services separately from the web application server, allowing aspect code to be independently deployed and managed. This segmentation enables the aspect service to be applied to core concerns without requiring compilation together with standard code, thus improving development productivity while maintaining reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a proxy server as an intermediary between the client and the web application server. The proxy server receives client requests, applies aspect services (such as security, authentication, logging), and then forwards requests to the web application server. This intermediary approach allows aspect code to be applied to core concerns of compiled programs without requiring the aspect code to be collocated or compiled together with standard code.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If separate local instances of aspect code are deployed on each networked system, then aspect services can be applied locally, but code reusability and centralized management are reduced

Engineering Contradiction:
Improvelocal aspect service applicationVSAvoidcode reusability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements universality by deploying a single centralized aspect service on the proxy server that can serve multiple web application servers and clients. The aspect service is designed to handle various crosscutting concerns (security, authentication, logging, caching) in a unified manner, making it reusable across different networked systems without requiring separate local instances. This enhances code reusability while maintaining the ability to apply aspect services locally through the proxy server.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If aspect code is tightly coupled with core code, then aspect services can be applied to core concerns, but flexibility in design and implementation is reduced

Engineering Contradiction:
Improveaspect service integrationVSAvoiddesign flexibility
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent extracts aspect code from the core web application code by hosting aspect services on a separate proxy server. The aspect service is taken out as an independent component that can be designed, implemented, and modified without affecting the core web application. This extraction maintains reliable integration of aspect services with core concerns while significantly improving design flexibility, as aspect services can now be independently developed and deployed.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces dynamics by making the aspect service configuration flexible and adaptable. The proxy server dynamically applies aspect services based on request characteristics and configuration parameters. Aspect services can be enabled, disabled, or modified without recompiling the core web application, providing dynamic control over aspect service integration and enhancing design flexibility while maintaining reliable integration.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8180854B2Aspect services
Publication Date: 2012.05.15 RED HAT INC
  • US8180854B2 patent drawing
  • US8180854B2 patent drawing
  • US8180854B2 patent drawing

AI summary

An aspect request associated with a web application is received by an aspect server, the web application being hosted by a web application server that is remote from the aspect server. Operations are performed according to the aspect request, the operations being associated with a crosscutting concern. A result is returned, the result supplementing functionality of the web application.