My Summer of Code

1,918 views

Published on

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

Published in: Business, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,918
On SlideShare
0
From Embeds
0
Number of Embeds
66
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

×