359d 16/1/07 eric wohlstadter
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
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
• 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
Problems with Distribution
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
• 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
• 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
• Use OO to give different classes different behaviors
• Use AOP to give interactions different behaviors
AA
B
B
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
AA
B
B
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”!
AOP
• Go to AOP pdf
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
• 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
• Name• Degree objective/Year• Research Interest or Career Objective
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
• 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
• 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
• 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
1. What is the problem addressed by this paper?2. What is the approach to solve this problem?3. How do the authors validate
(prove/show/argue) that their approach solves the problem?
4. What is one part of the approach or validation that you think can be improved or extended?
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 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
• Project proposal 10%• Implementation and Report 30%• Project Presentation 30%• Paper reviews 20%• Class participation 10%
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 Pagehttp://www.cs.ubc.ca/~wohlstad/539D.html