Re: Applications Using AOP

Dean Wampler <[email protected]> Sun, 14 Jun 2009 12:08:48 -0500
Newsgroups gmane.comp.programming.aspect.general
Message-ID <[email protected]>
--===============3880452267943095251==
Content-Type: multipart/alternative; boundary=Apple-Mail-22-404156478


--Apple-Mail-22-404156478
Content-Type: text/plain;
	charset=ISO-8859-1;
	format=flowed;
	delsp=yes
Content-Transfer-Encoding: quoted-printable

Another place to look is SpringSource. They use aspects all over the =20
Spring Framework and their other products.

Apparently aspects are used heavily in the Scala Eclipse plugin. I was =20=

told Miles Sabin followed the example of AJDT to use Aspects to inject =20=

code into the JDT where it wasn't flexible enough to accommodate a non-=20=

Java language.

dean

On Jun 14, 2009, at 12:03 PM, Greg Young wrote:

> (n)Hibernate uses AOP to track changes to objects. There are also
> other uses like what you discuss (logging, tracing, etc)
>
> terracotta http://www.terracotta.org/web/display/enterprise/Home does
> similar types of tracking in order to "transparently" connect multiple
> JVMs.
>
> HTH
>
> Greg
>
> On Sun, Jun 14, 2009 at 12:57 PM, Chengnian =20
> Sun<[email protected]> wrote:
>> Dear All,
>> I am trying to find a real-world application using AOP, which =20
>> should be not
>> small. If it is still active, it will be great.
>> The reason is that I want to find some good scenarios which AOP is =20=

>> suitable,
>> and then model the scenarios using some specification languages for =20=

>> my
>> further purpose.
>> Tracing or logging is not good because it is small.
>>
>>
>> Could you please give me some hints such as some active open source =20=

>> projects
>> adopting AOP?
>>
>> Thanks so much.
>>
>> I already found some ones, but they are almost inactive and I could =20=

>> not run
>> them.
>>
>>
>> --
>> Best Regards.
>>
>> Chengnian SUN.
>>
>> _______________________________________________
>> discuss mailing list    -    [email protected]
>>
>> To unsubscribe and change options, go to:
>> http://aosd.net/mailman/listinfo/discuss_aosd.net
>>
>> Check out the AOSD.net Wiki: http://aosd.net/wiki
>>
>>
>
>
>
> --=20
> Les erreurs de grammaire et de syntaxe ont =E9t=E9 incluses pour =
m'assurer
> de votre attention
>
> _______________________________________________
> discuss mailing list    -    [email protected]
>
> To unsubscribe and change options, go to:
> http://aosd.net/mailman/listinfo/discuss_aosd.net
>
> Check out the AOSD.net Wiki: http://aosd.net/wiki

Dean Wampler, Ph.D.
co-author: "Programming Scala", O'Reilly

[email protected]
[email protected]
twitter: @deanwampler, @chicagoscala
http://www.objectmentor.com
See also:
http://www.polyglotprogramming.com  Multi-language and multi-paradigm =20=

programming
http://www.aspectprogramming.com    AOP advocacy site
http://aquarium.rubyforge.org       AOP for Ruby
http://www.contract4j.org           Design by Contract for Java5

I want my tombstone to say:
   Unknown Application Error in Dean Wampler.exe.
   Application Terminated.
       [Okay]        [Cancel]








--Apple-Mail-22-404156478
Content-Type: text/html;
	charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<html><body style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; =
-webkit-line-break: after-white-space; ">Another place to look is =
SpringSource. They use aspects all over the Spring Framework and their =
other products.<div><br></div><div>Apparently aspects are used heavily =
in the Scala Eclipse plugin. I was told Miles Sabin followed the example =
of AJDT to use Aspects to inject code into the JDT where it wasn't =
flexible enough to accommodate a non-Java =
language.</div><div><br></div><div>dean</div><div><br><div><div>On Jun =
14, 2009, at 12:03 PM, Greg Young wrote:</div><br =
class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite"><div>(n)Hibernate uses AOP to track changes to objects. =
There are also<br>other uses like what you discuss (logging, tracing, =
etc)<br><br>terracotta <a =
href=3D"http://www.terracotta.org/web/display/enterprise/Home">http://www.=
terracotta.org/web/display/enterprise/Home</a> does<br>similar types of =
tracking in order to "transparently" connect =
multiple<br>JVMs.<br><br>HTH<br><br>Greg<br><br>On Sun, Jun 14, 2009 at =
12:57 PM, Chengnian Sun&lt;<a =
href=3D"mailto:[email protected]">[email protected]</a>&gt; =
wrote:<br><blockquote type=3D"cite">Dear =
All,<br></blockquote><blockquote type=3D"cite">I am trying to find a =
real-world application using AOP, which should be =
not<br></blockquote><blockquote type=3D"cite">small. If it is still =
active, it will be great.<br></blockquote><blockquote type=3D"cite">The =
reason is that I want to find some good scenarios which AOP is =
suitable,<br></blockquote><blockquote type=3D"cite">and then model the =
scenarios using some specification languages for =
my<br></blockquote><blockquote type=3D"cite">further =
purpose.<br></blockquote><blockquote type=3D"cite">Tracing or logging is =
not good because it is small.<br></blockquote><blockquote =
type=3D"cite"><br></blockquote><blockquote =
type=3D"cite"><br></blockquote><blockquote type=3D"cite">Could you =
please give me some hints such as some active open source =
projects<br></blockquote><blockquote type=3D"cite">adopting =
AOP?<br></blockquote><blockquote =
type=3D"cite"><br></blockquote><blockquote type=3D"cite">Thanks so =
much.<br></blockquote><blockquote =
type=3D"cite"><br></blockquote><blockquote type=3D"cite">I already found =
some ones, but they are almost inactive and I could not =
run<br></blockquote><blockquote =
type=3D"cite">them.<br></blockquote><blockquote =
type=3D"cite"><br></blockquote><blockquote =
type=3D"cite"><br></blockquote><blockquote =
type=3D"cite">--<br></blockquote><blockquote type=3D"cite">Best =
Regards.<br></blockquote><blockquote =
type=3D"cite"><br></blockquote><blockquote type=3D"cite">Chengnian =
SUN.<br></blockquote><blockquote =
type=3D"cite"><br></blockquote><blockquote =
type=3D"cite">_______________________________________________<br></blockqu=
ote><blockquote type=3D"cite">discuss mailing list &nbsp; &nbsp;- &nbsp; =
&nbsp;<a =
href=3D"mailto:[email protected]">[email protected]</a><br></blockquote><blo=
ckquote type=3D"cite"><br></blockquote><blockquote type=3D"cite">To =
unsubscribe and change options, go to:<br></blockquote><blockquote =
type=3D"cite"><a =
href=3D"http://aosd.net/mailman/listinfo/discuss_aosd.net">http://aosd.net=
/mailman/listinfo/discuss_aosd.net</a><br></blockquote><blockquote =
type=3D"cite"><br></blockquote><blockquote type=3D"cite">Check out the =
AOSD.net Wiki: <a =
href=3D"http://aosd.net/wiki">http://aosd.net/wiki</a><br></blockquote><bl=
ockquote type=3D"cite"><br></blockquote><blockquote =
type=3D"cite"><br></blockquote><br><br><br>-- <br>Les erreurs de =
grammaire et de syntaxe ont =E9t=E9 incluses pour m'assurer<br>de votre =
attention<br><br>_______________________________________________<br>discus=
s mailing list &nbsp;&nbsp;&nbsp;- &nbsp;&nbsp;&nbsp;<a =
href=3D"mailto:[email protected]">[email protected]</a><br><br>To =
unsubscribe and change options, go to:<br><a =
href=3D"http://aosd.net/mailman/listinfo/discuss_aosd.net">http://aosd.net=
/mailman/listinfo/discuss_aosd.net</a><br><br>Check out the AOSD.net =
Wiki: http://aosd.net/wiki<br></div></blockquote></div><br><div =
apple-content-edited=3D"true"> <span class=3D"Apple-style-span" =
style=3D"border-collapse: separate; color: rgb(0, 0, 0); font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; =
white-space: normal; widows: 2; word-spacing: 0px; =
-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><div style=3D"word-wrap: =
break-word; -webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space; "><span class=3D"Apple-style-span" =
style=3D"border-collapse: separate; color: rgb(0, 0, 0); font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; =
widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><div style=3D"word-wrap: =
break-word; -webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space; "><span class=3D"Apple-style-span" =
style=3D"border-collapse: separate; color: rgb(0, 0, 0); font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; =
widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><div style=3D"word-wrap: =
break-word; -webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space; "><span class=3D"Apple-style-span" =
style=3D"border-collapse: separate; color: rgb(0, 0, 0); font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; =
widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><div style=3D"word-wrap: =
break-word; -webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space; "><span class=3D"Apple-style-span" =
style=3D"border-collapse: separate; color: rgb(0, 0, 0); font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; =
widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><div style=3D"word-wrap: =
break-word; -webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space; "><span class=3D"Apple-style-span" =
style=3D"border-collapse: separate; color: rgb(0, 0, 0); font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; =
widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><div style=3D"word-wrap: =
break-word; -webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space; "><span class=3D"Apple-style-span" =
style=3D"border-collapse: separate; color: rgb(0, 0, 0); font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; =
widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><div style=3D"word-wrap: =
break-word; -webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space; "><span class=3D"Apple-style-span" =
style=3D"border-collapse: separate; color: rgb(0, 0, 0); font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; =
widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><div style=3D"word-wrap: =
break-word; -webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space; =
"><div><div><div><div><div><div><div><div><div><div><div><div><div><div><d=
iv><font class=3D"Apple-style-span" face=3D"'Lucida Grande'" =
size=3D"3"><span class=3D"Apple-style-span" style=3D"font-size: 11px; =
"><b>Dean Wampler, Ph.D.</b></span></font></div><div><font =
class=3D"Apple-style-span" face=3D"'Lucida Sans Typewriter'" =
size=3D"2">co-author: "Programming Scala", =
O'Reilly</font></div><div><font class=3D"Apple-style-span" face=3D"'Lucida=
 Sans Typewriter'" size=3D"2"><span class=3D"Apple-style-span" =
style=3D"font-size: 10px; "><br></span></font></div><div><font =
class=3D"Apple-style-span" face=3D"'Lucida Sans Typewriter'" =
size=3D"2"><span class=3D"Apple-style-span" style=3D"font-size: 10px; =
"><span class=3D"Apple-style-span" style=3D"font-family: Helvetica; =
font-size: 12px; "><div><font class=3D"Apple-style-span" face=3D"'Lucida =
Sans Typewriter'" size=3D"2"><span class=3D"Apple-style-span" =
style=3D"font-size: 10px; "><a =
href=3D"mailto:[email protected]">[email protected]<=
/a></span></font></div></span></span></font></div><div><font =
class=3D"Apple-style-span" face=3D"'Lucida Sans Typewriter'" =
size=3D"2"><span class=3D"Apple-style-span" style=3D"font-size: 10px; =
"><a =
href=3D"mailto:[email protected]">[email protected]</a></span></fo=
nt></div><div><font class=3D"Apple-style-span" face=3D"'Lucida Sans =
Typewriter'" size=3D"2">twitter: @deanwampler, =
@chicagoscala</font></div><div><font class=3D"Apple-style-span" =
face=3D"'Lucida Sans Typewriter'" size=3D"2"><span =
class=3D"Apple-style-span" style=3D"font-size: 10px; "><a =
href=3D"http://www.objectmentor.com">http://www.objectmentor.com</a></span=
></font></div><div><font class=3D"Apple-style-span" face=3D"'Lucida Sans =
Typewriter'" size=3D"2"><span class=3D"Apple-style-span" =
style=3D"font-size: 10px; ">See also:</span></font></div><div><font =
class=3D"Apple-style-span" face=3D"'Lucida Sans Typewriter'" =
size=3D"2"><span class=3D"Apple-style-span" style=3D"font-size: 10px; =
"><a =
href=3D"http://www.polyglotprogramming.com">http://www.polyglotprogramming=
.com</a> &nbsp;Multi-language and multi-paradigm =
programming</span></font></div><div><font class=3D"Apple-style-span" =
face=3D"'Lucida Sans Typewriter'" size=3D"2"><span =
class=3D"Apple-style-span" style=3D"font-size: 10px; "><a =
href=3D"http://www.aspectprogramming.com">http://www.aspectprogramming.com=
</a> &nbsp; &nbsp;AOP advocacy site</span></font></div><div><font =
class=3D"Apple-style-span" face=3D"'Lucida Sans Typewriter'" =
size=3D"2"><span class=3D"Apple-style-span" style=3D"font-size: 10px; =
"><a =
href=3D"http://aquarium.rubyforge.org">http://aquarium.rubyforge.org</a> =
&nbsp; &nbsp; &nbsp; AOP for Ruby</span></font></div><div><font =
class=3D"Apple-style-span" face=3D"'Lucida Sans Typewriter'" =
size=3D"2"><span class=3D"Apple-style-span" style=3D"font-size: 10px; =
"><a href=3D"http://www.contract4j.org">http://www.contract4j.org</a> =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Design by Contract for =
Java5</span></font></div><div><font class=3D"Apple-style-span" =
face=3D"'Lucida Sans Typewriter'" size=3D"2"><span =
class=3D"Apple-style-span" style=3D"font-size: 10px; =
"><br></span></font></div><div><font class=3D"Apple-style-span" =
face=3D"'Lucida Sans Typewriter'" size=3D"2"><span =
class=3D"Apple-style-span" style=3D"font-size: 10px; ">I want my =
tombstone to say:</span></font></div><div><font class=3D"Apple-style-span"=
 face=3D"'Lucida Sans Typewriter'" size=3D"2"><span =
class=3D"Apple-style-span" style=3D"font-size: 10px; ">&nbsp; Unknown =
Application Error in Dean Wampler.exe.</span></font></div><div><font =
class=3D"Apple-style-span" face=3D"'Lucida Sans Typewriter'" =
size=3D"2"><span class=3D"Apple-style-span" style=3D"font-size: 10px; =
">&nbsp; Application Terminated.</span></font></div><div><font =
class=3D"Apple-style-span" face=3D"'Lucida Sans Typewriter'" =
size=3D"2"><span class=3D"Apple-style-span" style=3D"font-size: 10px; =
">&nbsp; &nbsp; &nbsp; [Okay]&nbsp; &nbsp; &nbsp; &nbsp; =
[Cancel]</span></font></div><div><br></div></div></div></div></div></div><=
/div></div></div></div></div></div></div></div></div></div></span></div></=
span></div></span></div></span><br =
class=3D"Apple-interchange-newline"></div></span><br =
class=3D"Apple-interchange-newline"></div></span><br =
class=3D"Apple-interchange-newline"></div></span><br =
class=3D"Apple-interchange-newline"></div></span><br =
class=3D"Apple-interchange-newline"> </div><br></div></body></html>=

--Apple-Mail-22-404156478--


--===============3880452267943095251==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
discuss mailing list    -    [email protected]

To unsubscribe and change options, go to:
http://aosd.net/mailman/listinfo/discuss_aosd.net

Check out the AOSD.net Wiki: http://aosd.net/wiki

--===============3880452267943095251==--