Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [aspectj-users] Applying Aspects to business applications

Almost a year ago I posted on this to AspectJ users (quoted below). In
addition, from more recent experience I'd add the following items:
- decomposing objects into roles or parts: using aspects to dynamically
compose discrete views on a single logical object. E.g., engineering,
procurement, and maintenance systems' information about Component.
- publishing business events. This can be used to trigger actions like
promotions, or integration with workflow. This is really useful if many
components can generate the events. But in many systems, good OO design
will modularize this without need of AOP (e.g., defining the event
whenever an item is purchased).
- tracking statistics (application usage, sensitive operations), this
can feed into personalization.

From my posting a 2/5/02 ago:
... I agree that auditing is a natural "business aspect". Here are some
others:

- metering
- alerts/event generation
- business rules (a suggestion Frank Sauer made in his AOP presentation)
- authorization (e.g., data-level restrictions on access)
- E-R management (e.g., enforcing relational integrity)
- business object metadata management (who last modified, when, etc.)
- analysis (e.g., capturing statistics about usage patterns)
- personalization
- feature management (unplugging or customizing features for specific
partners, customers, etc.)
- quality of service measurement (i.e., for a service level agreement)

These are all generic. I think many concerns would involve
industry-specific business rules. Just as Kris is exploring how the GoF
design patterns can be handled with AspectJ, I think it would be
valuable to analyze how Martin Fowler's "Analysis Patterns" can be
changed for AOP to account for crosscutting concerns.

This was in reply to:
From: Adrian Colyer [mailto:adrian_colyer@xxxxxxxxxx]
Sent: Tuesday, February 05, 2002 6:19 AM
To: users@xxxxxxxxxxx
Subject: Business Aspects


If a business object represents an entity in the business domain, and
has a
clearly specified business language interface, then it seems we can
define
a "Business Aspect"  as a concern or policy in the business domain that
applies across one or more business objects.  Perhaps the canonical
example
is that certain business operations be made auditable (the business
equivalent of the tracing aspect example).

Do others agree with my definition?  If so, are there any good examples
out
there of business aspects?  Examples either within an industry vertical
or
applying across industries would be interesting to debate...

-----Original Message-----
From: aspectj-users-admin@xxxxxxxxxxx
[mailto:aspectj-users-admin@xxxxxxxxxxx] On Behalf Of John R
Sent: Wednesday, January 15, 2003 10:11 AM
To: aspectj-users@xxxxxxxxxxx
Subject: [aspectj-users] Applying Aspects to business applications

Hello all,

I'm not sure if this is the right forum to be asking this question; if
there 
is a better one I would appreciate a pointer to the right discussion
group.

I am learning about AOP and have read through several tutorials and 
documents.  I'm having a hard time thinking about ways to apply 
"crosscutting concerns" to handle business logic.  Almost every AOP
example 
discusses the implementation of aspects in logging or enforcing
contracts 
but can anyone give an example of how an aspect can be applied in a way
to 
encapsulate a croscutting business logic concern (rather than an 
architecture concern like logging)?

Can anyone think of (or direct me to an article) that discusses the 
implementation of AOP to handle the business logic of an application
rather 
than the architecture of an application?

Thanks,

-John R.





_________________________________________________________________
MSN 8 with e-mail virus protection service: 2 months FREE* 
http://join.msn.com/?page=features/virus

_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/aspectj-users



Back to the top