Results 1 to 5 of 5

Thread: Is the Spring Framework based on AOP?

  1. #1

    Default Is the Spring Framework based on AOP?

    I personally don't think so, but I would like to hear it from the people that actually develops Spring.

    Is the Spring Framework based on AOP?

  2. #2

    Default

    Let me explain the reason for my question:

    I'm doing a master degree and I currently taking a class called: Families of Software Products. For the final project we were divided in teams and each team got a technique we have to investigate and in the end we need to create an application using this technique.

    Ours it's AOP, we needed to come up with ideas for the final project, and so we did: I proposed a "Web Archive", it would be a basic storage application, and we would use AOP to check payments, storage limit, authentication, authorization, transactions, among some other things. But the teacher said: "Where is the concept of Families of Software Products?...". It wasn't there.

    So we proposed to do a series of security aspects that you could combine in order to get different levels of security for a generic application, something like: BasicAuthentication, BasicAuthorization, RoleBasedAuthorization, BasicLoggingXX ..., but the he said: "But that's not an application", we said we could create a couple of generic applications to demonstrate our security with different sets of aspects and he said: "But what's the percentage of the code of the APPLICATION that will be made with AOP?". It wouldn't be much, since AOP is all about cross-cutting concerns.

    After a couple more of suggestions we found out what the problem was: He wants us to create a set of n aspects and you can tie them together to create an application. After explaining that software has functional and non functional requirements, and AOP is usually used to take care of the non functional stuff and OOP is what you most likely use to handle the functional and not having success, we asked him for an example of such application.

    He said the Spring Framework... I didn't agree with that, starting with the fact that the Spring Framework it's... well a framework... not an application. Then he said: Spring is based on AOP... I didn't agree... again... Knowing that Spring it's actually based on the principle of IoC. I asked him for a reference of that fact, and he told me to search the Web... I haven't found such reference yet. So any ideas on what's Spring based on? or what to do about my project are appreciated?


    Regards

  3. #3
    Join Date
    Aug 2006
    Location
    Now Germany, previously Ukraine
    Posts
    1,546

    Default

    Let put it a following way:
    • Spring consists of many parts.
    • Some Spring parts are based on other Spring parts.
    • One of above mentioned parts is AOP implementation provided by Spring
    • Many other parts of Spring (e. g. declarative transaction management) rely on that AOP to ensure functionality their own functionality.
    • And yes, IoC is one of the main principles behind Spring, but not the only one.

    Quote Originally Posted by martincastell View Post
    Let me explain the reason for my question:

    I'm doing a master degree and I currently taking a class called: Families of Software Products. For the final project we were divided in teams and each team got a technique we have to investigate and in the end we need to create an application using this technique.

    Ours it's AOP, we needed to come up with ideas for the final project, and so we did: I proposed a "Web Archive", it would be a basic storage application, and we would use AOP to check payments, storage limit, authentication, authorization, transactions, among some other things. But the teacher said: "Where is the concept of Families of Software Products?...". It wasn't there.

    So we proposed to do a series of security aspects that you could combine in order to get different levels of security for a generic application, something like: BasicAuthentication, BasicAuthorization, RoleBasedAuthorization, BasicLoggingXX ..., but the he said: "But that's not an application", we said we could create a couple of generic applications to demonstrate our security with different sets of aspects and he said: "But what's the percentage of the code of the APPLICATION that will be made with AOP?". It wouldn't be much, since AOP is all about cross-cutting concerns.

    After a couple more of suggestions we found out what the problem was: He wants us to create a set of n aspects and you can tie them together to create an application. After explaining that software has functional and non functional requirements, and AOP is usually used to take care of the non functional stuff and OOP is what you most likely use to handle the functional and not having success, we asked him for an example of such application.

    He said the Spring Framework... I didn't agree with that, starting with the fact that the Spring Framework it's... well a framework... not an application. Then he said: Spring is based on AOP... I didn't agree... again... Knowing that Spring it's actually based on the principle of IoC. I asked him for a reference of that fact, and he told me to search the Web... I haven't found such reference yet. So any ideas on what's Spring based on? or what to do about my project are appreciated?


    Regards

  4. #4
    Join Date
    Aug 2008
    Location
    Lodz, Poland
    Posts
    47

    Default

    Well, teachers often live in their own, strange worlds...
    As a simple and strict test for your issue, you may analyse the graph of dependencies of Spring Framework modules. One of the modules is aop itself. How many other modules depend on it? For sure transaction and orm, probably jms and remoting too. Other modules, like beans, context, jdbc and probably web, don't depend on aop module, I think. You may do such analysis, and I guess you will see that about half of the modules depend on aop. I leave the interpretation to you and your teacher...

  5. #5

    Default

    Hey, thanks a lot to both of you for your answers.

    We had to do what the teacher asked, we decided to go with a "Survey Generator", it supports different types of questions and each question type is implemented as an aspect.

    In the end I think using the aspects for the logic it's not a good idea, I don't think they are necessary at all but hey, whatever works for the teacher.



    Regards

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •