359d 16/1/07 eric wohlstadter

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

Upload: zohar

Post on 13-Jan-2016

20 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: 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

Page 2: 359D 16/1/07 Eric Wohlstadter

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

Page 3: 359D 16/1/07 Eric Wohlstadter

Problems with Distribution

Page 4: 359D 16/1/07 Eric Wohlstadter

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

Page 5: 359D 16/1/07 Eric Wohlstadter

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

Page 6: 359D 16/1/07 Eric Wohlstadter

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”

Page 7: 359D 16/1/07 Eric Wohlstadter

OO vs. AOP

• Use OO to give different classes different behaviors

• Use AOP to give interactions different behaviors

AA

B

B

Page 8: 359D 16/1/07 Eric Wohlstadter

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

Page 9: 359D 16/1/07 Eric Wohlstadter

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”!

Page 10: 359D 16/1/07 Eric Wohlstadter

AOP

• Go to AOP pdf

Page 11: 359D 16/1/07 Eric Wohlstadter

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

Page 12: 359D 16/1/07 Eric Wohlstadter

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

Page 13: 359D 16/1/07 Eric Wohlstadter

Introduce Yourself

• Name• Degree objective/Year• Research Interest or Career Objective

Page 14: 359D 16/1/07 Eric Wohlstadter

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

Page 15: 359D 16/1/07 Eric Wohlstadter

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

Page 16: 359D 16/1/07 Eric Wohlstadter

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

Page 17: 359D 16/1/07 Eric Wohlstadter

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)

Page 18: 359D 16/1/07 Eric Wohlstadter

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?

Page 19: 359D 16/1/07 Eric Wohlstadter

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

Page 20: 359D 16/1/07 Eric Wohlstadter

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

Page 21: 359D 16/1/07 Eric Wohlstadter

Grading

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

Page 22: 359D 16/1/07 Eric Wohlstadter

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