Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

My Summer of Code

1,991 views

Published on

Slides support for my lightning talk about my Google Summer of Code at the Google London office

Published in: Business, Technology
  • Be the first to comment

  • Be the first to like this

My Summer of Code

  1. 1. My Summer of Code William Candillon { [email_address] }
  2. 2. Aspect-Oriented Programming <ul><li>An active field of research and development http://scholar.google.com/scholar?q=aop </li></ul><ul><li>A new programming paradigm... </li></ul><ul><ul><li>Working with OOP </li></ul></ul><ul><ul><li>To separate crosscutting concerns from the business logic </li></ul></ul><ul><li>...defining mechanisms for </li></ul><ul><ul><li>Writing aspects as a new software entity </li></ul></ul><ul><ul><li>Weaving technical concerns on business logic </li></ul></ul>
  3. 3. Before this summer... <ul><li>Business logic without any technical concerns </li></ul><ul><li>We need persistence: </li></ul><ul><ul><li>Google Base would be cool </li></ul></ul><ul><ul><li>But we also want to be able to switch easily on something else (SQL, XML, etc) </li></ul></ul><ul><ul><li>Without breaking code design and modularity </li></ul></ul>
  4. 4. Now you can... <ul><li>Publish the bookshelf on Google Base without modifying the previous source code </li></ul><ul><li>All the persistent code is factorized in one software entity </li></ul><ul><li>Result (after weaving): </li></ul>
  5. 5. Weaving chain of phpAspect
  6. 6. Toward web-specific AOP <ul><li>phpAspect got aspectJ style ( eclipse.org/aspectj ) </li></ul><ul><li>Next step: integration of web-specific joinpoints </li></ul><ul><ul><li>XML enclosing context identification </li></ul></ul><ul><ul><li>Web page joinpoint </li></ul></ul><ul><ul><li>Session instantiation of aspects </li></ul></ul><ul><ul><li>Interception of PHP global variables ( $_GET , $_POST ) to prevent XSS faillures: </li></ul></ul>
  7. 7. Acknowledgment <ul><li>All the Google SoC crew ( code.google.com ) </li></ul><ul><li>The PHP community ( php.net ) </li></ul><ul><li>Gilles Vanwormhoudt ( [email_address] ) </li></ul><ul><ul><li>Doctor in computer science at Telecom Lille 1 </li></ul></ul><ul><ul><li>Collaborator on the phpAspect project </li></ul></ul>
  8. 8. Thanks for your attention

×