1 / 22

359D 16/1/07 Eric Wohlstadter

359D 16/1/07 Eric Wohlstadter. What is Middleware? What is Aspect-Oriented Programming? Introductions Course Format Discussions Assignments. What is Middleware?. Mediates heterogeneities (differences) Defines standard protocols for distributed computing

zohar
Download Presentation

359D 16/1/07 Eric Wohlstadter

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 359D 16/1/07 Eric Wohlstadter • What is Middleware? • What is Aspect-Oriented Programming? • Introductions • Course Format • Discussions • Assignments

  2. What is Middleware? • Mediates heterogeneities (differences) • Defines standard protocols for distributed computing • Abstracts details of using protocols • Programmers use abstractions • Objects, Web Services, Broadcast channels • Abstractions implement protocols • Provided as off-the-shelf software • Not traditionally integrated in the operating system or a virtual machine

  3. Problems with Distribution

  4. Common Middleware Platforms • Object-oriented • CORBA, Java RMI • Container-based • J2EE, .NET • Aspect-Oriented • Spring Framework • Message-oriented • TIBCO, JMS • Web Services • REST, SOAP • Web Frameworks • Struts, PHP, AJAX

  5. Middleware • Conclusion • Middleware is about creating a run-time environment that mediates interactions between programming abstractions • We will come back to the details in a few weeks • First we will focus on AOP

  6. AOP – Conceptual Level • Give programmers the power to implement the environment in which objects interact • Behavior of objects depends on their “context” • Override the behavior of method calls based on the context where the call takes place • Context • Implemented using “pointcuts” • Method call behavior • Implemented using “advice”

  7. OO vs. AOP • Use OO to give different classes different behaviors • Use AOP to give interactions different behaviors A A B B

  8. OO vs. AOP • Use OO to give different classes different behaviors • Use AOP to give interactions different behaviors • Example • All interactions between A and B are access control mediated A A B B

  9. Examples of Contexts • Calling or Callee class • Calling or Callee method • Methods active on the call stack • Argument or Return types of methods Write a query that captures a context of interest using a “pointcut”!

  10. AOP • Go to AOP pdf

  11. AOP and Middleware • So, AOP provides support for focusing on interactions • Helps us to create new middleware features • See how AOP is used to address distributed programming concerns • RPC, Security, Fault-tolerance, Management • AOP used this way by companies such as IBM, Siemens, Spring • Compare to traditional middleware • J2EE, .NET, CORBA, Web Services

  12. International Conference on AOSD • Sixth Aspect-Oriented Software Development Conference • Sheraton Wall Centre (on Burrard) • Variety of tutorials, workshops, demos and presentations • Several middleware related • March 12-16 • No class that week • Check out www.aosd.net/2007

  13. Introduce Yourself • Name • Degree objective/Year • Research Interest or Career Objective

  14. Course Format • Usually two research papers per class • Some lectures and tutorials • Paper review for one of the two papers • Each paper will be presented by students by informal slide presentations • Class discussion is important (10% of mark) • Throughout the term students are required to complete a research project • No exams

  15. Research Project • Related to a topic in Middleware and/or AOP • Individually or group of two students • Recommendation • writingThesis(student) → ¬inGroup(student) • ¬writingThesis(student) → inGroup(student) • >= 2 page proposal (Feb 8th) • >= 4 page paper and implementation • 10-15 minute (+10 mins per person) class presentation at the end of the term

  16. Research Project Scope • Implement original (software) feature or feature described in a research paper • possible A • Implement useful feature or describe an original feature without implementing • possible B • Review existing research literature or technical description of existing systems • possible C

  17. Paper Reviews • Between 3/4 and 1 page. • Reviews will be marked out of 10 points • Reviews will be marked and returned in three batches • Review should be in paragraph form (not bulleted list) • Recommend you address these four questions (next slide)

  18. Questions • What is the problem addressed by this paper? • What is the approach to solve this problem? • How do the authors validate (prove/show/argue) that their approach solves the problem? • What is one part of the approach or validation that you think can be improved or extended?

  19. Paper Presentations • Two students will present a paper each class • Recommend use of slides • You may use slides which may be available on the web • You may copy figures from document to use in slides • You must reference all outside materials used • 15 minutes • Summarize paper and address the 4 questions

  20. Attendance • Attendance is required • Participation in discussion is 10% of mark • You will not be able to submit paper reviews for classes which you did not attend • Exceptions will be made for students with documented medical excuses or academic related travel obligations

  21. Grading • Project proposal 10% • Implementation and Report 30% • Project Presentation 30% • Paper reviews 20% • Class participation 10%

  22. Conclusion • Questions? • Thursday • Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersten, Jeffrey Palm, and William G. Griswold. An overview of AspectJ. ECOOP 2001. • AspectJ in class tutorial • Bring your laptops with latest Eclipse installed • Course Web Page http://www.cs.ubc.ca/~wohlstad/539D.html

More Related