<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>(+) Attitude Unlimited</title>
	<atom:link href="http://www.shriramshivakumar.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.shriramshivakumar.com</link>
	<description>Shriram Shivakumar: An Internet Techno-Entrepreneur with Unlimited Optimism</description>
	<lastBuildDate>Tue, 21 Jul 2009 08:18:27 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Interview by The Smart Techie</title>
		<link>http://www.shriramshivakumar.com/?p=71</link>
		<comments>http://www.shriramshivakumar.com/?p=71#comments</comments>
		<pubDate>Wed, 31 Dec 2008 15:40:28 +0000</pubDate>
		<dc:creator>Shriram Shivakumar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://shriramshivakumar.com/blog/?p=71</guid>
		<description><![CDATA[Few weeks ago, I was interviewed by &#8220;The Smart Techie&#8221; magazine for their Engineering Diaries column. The interview is now available at http://www.thesmarttechie.com/magazine/fullstory.php/RMBY826331763.
]]></description>
			<content:encoded><![CDATA[<p>Few weeks ago, I was interviewed by &#8220;<strong><em>The Smart Techie</em></strong>&#8221; magazine for their Engineering Diaries column. The interview is now available at <a style="color: #074d8f;" href="http://www.thesmarttechie.com/magazine/fullstory.php/RMBY826331763" target="_blank">http://www.thesmarttechie.com/magazine/fullstory.php/RMBY826331763</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shriramshivakumar.com/?feed=rss2&amp;p=71</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AOP: Aspect Oriented Programming</title>
		<link>http://www.shriramshivakumar.com/?p=41</link>
		<comments>http://www.shriramshivakumar.com/?p=41#comments</comments>
		<pubDate>Thu, 09 Jun 2005 02:28:31 +0000</pubDate>
		<dc:creator>Shriram Shivakumar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[AOP]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://shriramshivakumar.com/blog/?p=41</guid>
		<description><![CDATA[Here is the summary of my presentation that I did earlier this evening at Kansas City Java User’s Group.
Aspect Oriented Programming &#38; Aspect J 101
Agenda

What is AOP?
OOP and AOP
Definitions, buzz words
Aspect J
Demo

Introduction

Programming Methodologies: Past &#38; Present
Concerns: Core &#38; secondary concerns
Matching Concerns &#38; Methodology: Flexiblility with Quality

Modularization
 
 


is the key Eg: EJB
OOP: Good at modularizing core concerns. Eg: [...]]]></description>
			<content:encoded><![CDATA[<p>Here is the summary of my presentation that I did earlier this evening at <a style="color: #0066cc; text-decoration: none;" href="http://www.kcjava.org/">Kansas City Java User’s Group.</a></p>
<p><strong>Aspect Oriented Programming &amp; Aspect J 101</strong></p>
<p><strong>Agenda</strong></p>
<ul>
<li>What is AOP?</li>
<li>OOP and AOP</li>
<li>Definitions, buzz words</li>
<li>Aspect J</li>
<li>Demo</li>
</ul>
<p><strong>Introduction</strong></p>
<ul>
<li>Programming Methodologies: Past &amp; Present</li>
<li>Concerns: Core &amp; secondary concerns</li>
<li>Matching Concerns &amp; Methodology: Flexiblility <em>with</em> Quality</li>
</ul>
<p><strong>Modularization</strong></p>
<p><em> </em></p>
<p><em> </em></p>
<p><em></p>
<ul>
<li><span style="font-style: normal;">is the key<em> </em>Eg: EJB</span></li>
<li><span style="font-style: normal;">OOP: Good at modularizing <em>core </em>concerns. Eg: Interfaces &amp; Classes but lacks in addressing peripheral concerns <em>effectively.</em></span></li>
</ul>
<p></em></p>
<p><strong>How to indentify non-modular systems?</strong></p>
<ul>
<li>Code Tangling</li>
<li>Code Scattering</li>
</ul>
<p><strong>AOP</strong></p>
<ul>
<li>AOP allows us to dynamically modify our static model to include the code required to fulfill the secondary requirements without having to modify the original static model</li>
</ul>
<p><strong>Examples Of Aspects</strong></p>
<ul>
<li>Development Aspects: Logging, Tracing, Debugging, Profiling, etc.,</li>
<li>Production Aspects: Performance Monitoring, Notifications, Security, Error Handling</li>
</ul>
<p><strong>AOP Process</strong></p>
<ul>
<li>Aspectual Decomposition: Identify core &amp; cross cutting concerns</li>
<li>Concern Implementation: Implement concerns independently</li>
<li>Aspectual Recomposition: Create Aspects</li>
</ul>
<p><strong>Benefits of AOP</strong></p>
<ul>
<li>Higher and cleaner level of modularization</li>
<li>Easier System Evolution</li>
<li>More code reuse</li>
</ul>
<p><strong>Buzz Words</strong></p>
<ul>
<li>Crosscutting: Concerns spanning multiple modules. Static &amp; Dynamic</li>
<li>Join Point: A well-defined point in the program flow. Method, Constructor, Field Access, Exception Handler, Class Initialization, Object Initialization</li>
<li>Pointcut: Collection of Join Points and values at those points</li>
<li>Advice: Piece of code executed at a Join Point</li>
<li>Introduction: Introducing change to static model</li>
<li>Aspects: It consists of: Point Cuts, Join Point, Advice.</li>
<li>Scattering: Similar code distributed throughout many files/programs</li>
<li>Tangling: Two or more concerns implemented in the same body of code.</li>
<li>Weaving: Compile time Weaving &amp; Runtime Weaving</li>
</ul>
<p><strong>Pointcuts</strong></p>
<ul>
<li>Definition: Collection of Join Points and values at those points</li>
<li>Example: <em>[accessspecifier]</em> pointcut <em>pointcutname</em>([<em>args</em>]) : <em>pointcut-definition</em></li>
</ul>
<p><strong>Advice</strong></p>
<ul>
<li>Definition: Piece of code executed at a Join Point</li>
<li>Types: before, after and around.</li>
</ul>
<p><strong>Java Implementation of AOP</strong><br />
There <em>were</em> two prominent schools of thoughts.</p>
<ul>
<li>AspectJ: a general-purpose aspect-oriented extension to Java</li>
<li>AspectWerkz: Simple, high-performant, dynamic, lightweight and powerful AOP for Java</li>
</ul>
<p><strong>AspectJ <em>is</em></strong></p>
<ul>
<li>a seamless aspect-oriented extension to the Java programming language</li>
<li>Java platform compatible</li>
<li>easy to learn and use</li>
</ul>
<p><strong>AspectJ <em>enables</em></strong></p>
<ul>
<li>clean modularization of crosscutting concerns, such as error checking and handling, synchronization, context-sensitive behavior, performance optimizations, monitoring and logging, debugging support, and multi-object protocols</li>
</ul>
<p><strong>References:</strong></p>
<ul>
<li>AspectJ at Eclipse: http://eclipse.org/aspectj/</li>
<li>Aspectwertz: http://aspectwerkz.codehaus.org/</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.shriramshivakumar.com/?feed=rss2&amp;p=41</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AOP &amp; AspectJ at KCJPA</title>
		<link>http://www.shriramshivakumar.com/?p=31</link>
		<comments>http://www.shriramshivakumar.com/?p=31#comments</comments>
		<pubDate>Fri, 03 Jun 2005 12:49:47 +0000</pubDate>
		<dc:creator>Shriram Shivakumar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Kansas City]]></category>

		<guid isPermaLink="false">http://shriramshivakumar.com/blog/?p=31</guid>
		<description><![CDATA[I will be presenting at Kansas City Java Users Group this month about Aspect Oriented Programming.
Outline: 
Aspect-oriented Programming promises to increase the power of Object Oriented applications by modularizing functionalities across classes. Join us to know about AOP concepts — Joint Points, Pointcuts, Advice and a lot more. This session will also include a demonstration of [...]]]></description>
			<content:encoded><![CDATA[<p>I will be presenting at <a style="color: #0066cc; text-decoration: none;" href="http://www.kcjava.org/">Kansas City Java Users Group</a> this month about Aspect Oriented Programming.</p>
<blockquote style="color: #777777; margin-top: 15px; margin-right: 30px; margin-bottom: 0px; margin-left: 10px; padding-left: 20px; border-left-width: 5px; border-left-style: solid; border-left-color: #dddddd;"><p><em>Outline: </em><br />
Aspect-oriented Programming promises to increase the power of Object Oriented applications by modularizing functionalities across classes. Join us to know about AOP concepts — Joint Points, Pointcuts, Advice and a lot more. This session will also include a demonstration of how to AspectJ with an existing Java project.</p></blockquote>
<blockquote style="color: #777777; margin-top: 15px; margin-right: 30px; margin-bottom: 0px; margin-left: 10px; padding-left: 20px; border-left-width: 5px; border-left-style: solid; border-left-color: #dddddd;"><p><em>Location: </em><br />
Foss Training , 8700 Stateline Road, Leawood KS</p>
<p>6:30pm &#8211; 9:00pm</p></blockquote>
<p>Hope to see you there!</p>
<p>-Shriram Shivakumar</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shriramshivakumar.com/?feed=rss2&amp;p=31</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
