359D 16107 Eric Wohlstadter - PowerPoint PPT Presentation

About This Presentation
Title:

359D 16107 Eric Wohlstadter

Description:

Struts, PHP, AJAX. Middleware. Conclusion ... AspectJ in class tutorial. Bring your laptops with latest Eclipse installed. Course Web Page ... – PowerPoint PPT presentation

Number of Views:56
Avg rating:3.0/5.0
Slides: 23
Provided by: ericwohl
Category:

less

Transcript and Presenter's Notes

Title: 359D 16107 Eric Wohlstadter


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)
  • gt 2 page proposal (Feb 8th)
  • gt 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
Write a Comment
User Comments (0)
About PowerShow.com