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<<a = href=3D"mailto:[email protected]">[email protected]</a>> = 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 - = <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 - <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> 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> 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> = 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> = 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; "> 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; = "> 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; = "> [Okay] = [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==--