1 / 15

Caching Web Services: Aspect Orientation To The Rescue

Web Engineering – Networking 2002 Marc Ségura-Devillechaise – Jean-Marc Menaud. Caching Web Services: Aspect Orientation To The Rescue. Outline. Trends in using the Web Cache principles Trends in content providing Existing solutions The problem Modularisation… our experience

afranz
Download Presentation

Caching Web Services: Aspect Orientation To The Rescue

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Web Engineering – Networking 2002 Marc Ségura-Devillechaise – Jean-Marc Menaud Caching Web Services: Aspect Orientation To The Rescue

  2. Outline Trends in using the Web Cache principles Trends in content providing Existing solutions The problem Modularisation… our experience A possible solution: A.O.P. Experiments Conclusion What is it about? • Trends in using the Web • Cache principles • Trends in content providing • Existing solutions • The problem • Modularisation… our experience • A possible solution: A.O.P. • Experiments • Conclusion

  3. Globally: Growing number of Web users Each user is consuming more and more bandwidth Trends in using the Web Trends in using the Web Cache principles Trends in content providing Existing solutions The problem Modularisation… our experience A possible solution: A.O.P. Experiments Conclusion Why caches are interesting? Software answers decreasing the bandwidth usage is a key point. These answers should focus on reducing the http traffic.

  4. 2 2 8 8 9 45 45 89 3 89 3 3 3 3 5 3 5 3 3? 3? 3 Cache principles Trends in using the Web Cache principles Trends in content providing Existing solutions The problem Modularisation… our experience A possible solution: A.O.P. Experiments Conclusion How works a Web cache? Storage Space Storage Space Client Cache Server

  5. Trends in content providing Trends in using the Web Cache principles Trends in content providing Existing solutions The problem Modularisation… our experience A possible solution: A.O.P. Experiments Conclusion Does this model fits well with content providers? The trend is: • to personalize the delivered content • to add behaviour to the Web pages • using dynamic page generation • using web services In 2000, studies of web traces reveals that 45% of requests are handled by C.G.I. The number of cacheable documents is sharply decreasing.

  6. Existing solutions Trends in using the Web Cache principles Trends in content providing Existing solutions The problem Modularisation… our experience A possible solution: A.O.P. Experiments Conclusion Today, no solution is available? Existing solutions are all assuming: • That the content provider should specify the behaviour of his objects, once there are cached. • This specification is done through code downloaded from the content provider. • This code is finely interacting with the cache. Examples are: ActiveCache, Plugxy.

  7. Existing solutions Trends in using the Web Cache principles Trends in content providing Existing solutions The problem Modularisation… our experience A possible solution: A.O.P. Experiments Conclusion They do not solve the problem? • These approaches failed when the cache did not anticipate the interaction required by the code downloaded from the content provider. • For example: • ActiveCache parametrizes the cache behavior thorugh applets provided by the content provider. • The introduction of a cooperation protocol of ActiveCache requires the alteration of how the applets are interacting. All the previously written applets need to be re-written.

  8. The problem Trends in using the Web Cache principles Trends in content providing Existing solutions The problem Modularisation… our experience A possible solution: A.O.P. Experiments Conclusion How can this failure be explained? The problem arises because: • The interaction between the cache and the content provider is anticipated before runtime. In ActiveCache through Applets. • Traditional modularisation techniques forces to anticipate ANY interaction prior runtime. Variability in interaction is typically handled through function pointers, interfaces, modules, abstract classes… • Still this interaction is a major concern of the cache. • This interaction potentially cross cuts the entire cache

  9. Modularisation… our experience Trends in using the Web Cache principles Trends in content providing Existing solutions The problem Modularisation… our experience A possible solution: A.O.P. Experiments Conclusion Strange that modularisation failed… ? We extended Squid with a new cooperation protocol. • Squid is structured in 17 modules. • It already contains a cooperation protocol. Located in 2 modules (comm and neighbors) Modifying these 2 modules should have been enough. • We did NOT succeed to modularise our alterations. We altered 6 modules. • A modification in 10% of the code in practice requires the alteration of 40% of the application. Squid is well designed. Its modularisation reflects the tasks it wants to achieve. Unanticipated adaptation promotes different tasks than the original ones. It is likely to cross cut the pre-existing structure.

  10. A possible solution: A.O.P. Trends in using the Web Cache principles Trends in content providing Existing solutions The problem Modularisation… our experience A possible solution: A.O.P. Experiments Conclusion And you do not have any ideas to solve this? Event based A.O.P. is based on 4 elements: • Advices: they modify how the computation is done by the program. An advice specifies an action to be taken whenever some conditions arise in the execution. • An event triggering the execution of an advice is a join point. A join point is a position in the execution path of the program • Weaving: the process of executing the relevant advice at each join point. • The conditions triggering the advices execution is expressed in a predicate language over the join points. These predicates are called point cuts.

  11. Experiments Trends in using the Web Cache principles Trends in content providing Existing solutions The problem Modularisation… our experience A possible solution: A.O.P. Experiments Conclusion Does it works in practice? An experiment with AspectJ in Java: • An alternative to AspectJ is AspectC (for the C language) But Java allows quicker prototyping. A cache spent most of his time in the network layer than in the cache code itself. Deceiving results: • Point cuts in AspectJ are mostly statically evaluated. We are now implementing a new A.O.P extension of C#: • Allows to experiment with different point cut languages. Should the point cut language be a D.S.L.?

  12. Caching is important, but less and less easy to achieve. Cache should adapt, at runtime to different providers. It is unlikely that this adaptation can be reduced to a variability anticipated at runtime. Our prospective approach tries to determine if A.O.P. has the potential to support this unanticipated variability. Conclusion Trends in using the Web Cache principles Trends in content providing Existing solutions The problem Modularisation… our experience A possible solution: A.O.P. Experiments Conclusion

  13. Some references • [Arango89] Domain Analysis from Art to engineering discipline by Arango and G May in SIGSOFT Engineering Notes vol.143 p153 1989 • [Bosch00] Design and use of software architectures: adopting and evolving a product-line approach by Jan Bosch ACM Press Books, United Kingdom 2000 • [Booch94] Object oriented analysis and design with applications by Grady Booch Benjamin Cummings publishing company Inc (second edition) 1994 • [Dsouz98] Objects, components and frameworks with UML, the Catalysis approach by Desmond F. D’Souza and Alan Cameron Wills Addison-Wesley, Reading MA, 1998 This book is known as the reference textbook on Catalysis. • [Czarnecki00] Generative Programming: Methods, Tools and Applications. by K. Czarnecki and U.W. Eisenecker. Addisson-Wesley, 2000

  14. Some references (cont‘d) • [Jacob97] I Software reuse: architecture, process and organization for business success by . Jacobson, M Griss, and P. Jonsson ACM Press Books Palatino, USA, 1997 This book is know as the reference textbook on RSEB. • [Tekin00] Synthesis-Based Software Architecture Design: PhD thesis by Bedir Tekinerdogan, University of Twente, Enschede, The Netherlands, March 23, 2000 available on line at http://wwwhome.cs.utwente.nl/~bedir/PhDThesis/Download/CompleteThesisversion.pdf this thesis is the reference paper on the synthesis method[1]. • [Weiss99]. Software Product-Line Engineering: A Family-Based Software Development Process. by D.M Weiss and C.T.R. Lai Addisson-Wesley, Reading, MA, 1999.This book is known as the reference textbook on FAST.

  15. ? ? ? Questions

More Related