359d 16 1 07 eric wohlstadter n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
359D 16/1/07 Eric Wohlstadter PowerPoint Presentation
Download Presentation
359D 16/1/07 Eric Wohlstadter

Loading in 2 Seconds...

play fullscreen
1 / 22

359D 16/1/07 Eric Wohlstadter - PowerPoint PPT Presentation


  • 55 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '359D 16/1/07 Eric Wohlstadter' - zohar


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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
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
common middleware platforms
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
middleware
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
aop conceptual level
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”
oo vs aop
OO vs. AOP
  • Use OO to give different classes different behaviors
  • Use AOP to give interactions different behaviors

A

A

B

B

oo vs aop1
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

examples of contexts
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”!

slide10
AOP
  • Go to AOP pdf
aop and middleware
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
international conference on aosd
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
introduce yourself
Introduce Yourself
  • Name
  • Degree objective/Year
  • Research Interest or Career Objective
course format
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
research project
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
research project scope
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
paper reviews
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)
questions
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?
paper presentations
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
attendance
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
grading
Grading
  • Project proposal 10%
  • Implementation and Report 30%
  • Project Presentation 30%
  • Paper reviews 20%
  • Class participation 10%
conclusion
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