Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "359D 16/1/07 Eric Wohlstadter What is Middleware? What is Aspect-Oriented Programming? Introductions Course Format –Discussions –Assignments."— 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 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?

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 participation10%

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


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

Similar presentations


Ads by Google