wood burning stoves 2.0*
The moose likes Other Java Products and Servers and the fly likes Learning new technologies  Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of OCM Java EE 6 Enterprise Architect Exam Guide this week in the OCMJEA forum!
JavaRanch » Java Forums » Products » Other Java Products and Servers
Bookmark "Learning new technologies  " Watch "Learning new technologies  " New topic
Author

Learning new technologies

HS Thomas
Ranch Hand

Joined: May 15, 2002
Posts: 3404
Ramnivas,
I notice you were a co-author on Professional Java XML.
How would you recommend (in what order)learning all these technologies together? Though Web Services looks promising but may overtake EJB in the future, EJB has matured. If AOP is not OOP , when would you introduce it.
BTW Thanks for the other responses.
regards
Pradeep bhatt
Ranch Hand

Joined: Feb 27, 2002
Posts: 8919

How would you recommend (in what order)learning all these technologies together?

By buying two books together.


Groovy
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
How would you recommend (in what order)learning all these technologies together?
I would not recommend learning XML and AOP at the same time. They're not that related so there would be no "synergy" but only potential distraction.
Though Web Services looks promising but may overtake EJB in the future, EJB has matured.
Personally I don't see web services overtaking Enterprise JavaBeans. Web services is good for decoupling and integration, EJBs have never been good at that. In fact, I think it will be quite common to expose the business services provided by EJB components using a web service interface.
If AOP is not OOP , when would you introduce it.
Referring to a past discussion in the OO forum:
1. Pair Programming and XP principles and values
2. OO concepts and principles first
3. then An Introduction to UML
4. then Design Patterns - real life examples
5. Next TDD with an OO language(Java, C#)
6. Refactoring practice
7. Anti-Patterns
8. Followed by Design Patterns using OO language examples.
9. Show the students how an existing application has cross-cutting concerns and how these clutter the otherwise clean OO-code. Then introduce AOP.


Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
Ramnivas Laddad
Author
Ranch Hand

Joined: Jul 23, 2003
Posts: 62
Thomas,
I suggest an iterative approach. Most technologies are based on a few common principles and knowing one helps to simplify understanding others. For example, if you know OO well, you will understand fundamentals of AOP with ease. Similarly, understanding EJB will help you learn AOP and vice-versa.
-Ramnivas


Ramnivas Laddad
Author, AspectJ in Action (http://manning.com/laddad2)
Twitter: ramnivas
HS Thomas
Ranch Hand

Joined: May 15, 2002
Posts: 3404
Thanks Lasse. I'd almost forgotten that discussion.
I's nice that Ramnivas concurs.
regards
Pradeep bhatt
Ranch Hand

Joined: Feb 27, 2002
Posts: 8919

Similarly, understanding EJB will help you learn AOP and vice-versa.

Why?
HS Thomas
Ranch Hand

Joined: May 15, 2002
Posts: 3404
Originally posted by Lasse Koskela
Personally I don't see web services overtaking Enterprise JavaBeans. Web services is good for decoupling and integration, EJBs have never been good at that. In fact, I think it will be quite common to expose the business services provided by EJB components using a web service interface.

What gives you that feeling? Crazy Bob and Co didn't seem to give that message. But then I guess the likes of you are bringing up the rear.

regards
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
Oh, even though AOP was listed "last" in that particular order, I believe AOP will move closer and closer to OOP/OOAD over time as we start collectively "getting" the concepts and stop thinking of AOP as something "new."
Btw, taking a look at the list afterwards, I realized that I'd probably move more than one entry up/down on the list and that the list itself isn't valuable (although the thought process was).
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
> Similarly, understanding EJB will help you learn AOP and vice-versa.
Why?

Because the EJB container's services (transactions and security, for example) are prime examples of aspects and cross-cutting concerns.
HS Thomas
Ranch Hand

Joined: May 15, 2002
Posts: 3404
What would your list look like and why? Remember, it is an iterative approach, more like a plan of attack! I'd probably add EJB's to the end.

regards
Pradeep bhatt
Ranch Hand

Joined: Feb 27, 2002
Posts: 8919

Originally posted by Lasse Koskela:

Because the EJB container's services (transactions and security, for example) are prime examples of aspects and cross-cutting concerns.

Thanks Lasse!
Is there any chnace that in future EJB vendors will write their containers in ASpectJ?
Ramnivas Laddad
Author
Ranch Hand

Joined: Jul 23, 2003
Posts: 62
Originally posted by Pradeep Bhat:

Thanks Lasse!
Is there any chnace that in future EJB vendors will write their containers in ASpectJ?

See "into the future!" section of AsepctJ in Action, available in sample
pages on Amazon.com: http://www.amazon.com/exec/obidos/tg/detail/-/1930110936
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
What gives you that feeling? Crazy Bob and Co didn't seem to give that message.
Well, here are some constituents to my "feeling".
Why EJBs won't go away anytime soon:
- Enterprise JavaBeans are all over the place.
- It's not a bad technology. In certain respects, it's a great technology.
- It's the only standard distributed component based architecture available for the Java community so far (I doubt that CORBA will ever come back, even though it's a great technology as well).
Why web services won't replace EJBs:
- WS and EJB are simply good for different purposes. I agree that there are a lot of applications out there where both WS and EJB can be applied to solve a particular problem equally well. I claim, however, that this is not the norm.
Why web services will be used to expose EJBs to external applications:
- The functionality is already in place in the form of existing EJB components.
- Web services brings platform independence to the table, which is kind of a sore spot for EJBs.
I'm not saying I'm correct. I'm saying this is my premonition at the moment. And I reserve the right to change my mind.
But then I guess the likes of you are bringing up the rear.

It's always nice to be associated with "the rear"
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
What would your list look like and why?

As I said, I wouldn't put too much value on the actual list, but I'll mention some "inconsistencies" in the current list:
- Anti-patterns would server better as motivation for refactoring (thus, belonging to somewhere before refactoring itself)
- Aspect-oriented concepts should be taught with object-oriented concepts because they're really about the same thing -- structuring software
- Design patterns should be studied before refactoring because refactorings generally lead either to or away from design patterns
Then again, we must remember that learning can be done both top-down or bottom-up. We can learn either by first bringing up an issue, the motivation, or by first learning the solution and then showing why it's needed. That said, the "inconsistencies" I mentioned might not be inconsistencies after all. Politically said, wasn't it?
HS Thomas
Ranch Hand

Joined: May 15, 2002
Posts: 3404

It's always nice to be associated with "the rear"

Or the rear-after!
Microsoft are remarkably silent at the moment on several issues !
Probably swotting up on AspectJ.
Thanks all of you.
regards
Valentin Crettaz
Gold Digger
Sheriff

Joined: Aug 26, 2001
Posts: 7610
Microsoft are remarkably silent at the moment on several issues !
They did publish one article in the MSDN magazine in March 2002. However, I haven't seen much going on since then.
It is worth noting that Charles Simonyi, ex-Director of Application Development, Chief Architect, and Distinguished Engineer at Microsoft, and Gregor Kiczales, leader of the development of the AspectJ language at PARC, co-founded Intentional Software in August 2002. Seeing these two people come together hints a little at the future of aspect-oriented techniques Their goal is to improve software development productivity and quality by making the code look like the design. They intend to achieve that by using both intentional and aspect-oriented programming.
[ September 18, 2003: Message edited by: Valentin Crettaz ]

SCJP 5, SCJD, SCBCD, SCWCD, SCDJWS, IBM XML
[Blog] [Blogroll] [My Reviews] My Linked In
Pradeep bhatt
Ranch Hand

Joined: Feb 27, 2002
Posts: 8919

Is there any .NET implementation of AOP , I mean any AOP langauage from Microsoft $
Valentin Crettaz
Gold Digger
Sheriff

Joined: Aug 26, 2001
Posts: 7610
If you have a look at the article, you will see a section called "Aspects in .NET" where they use attribute programming for associating metadata to classes and methods.
Pradeep bhatt
Ranch Hand

Joined: Feb 27, 2002
Posts: 8919

Originally posted by Valentin Crettaz:
If you have a look at the article, you will see a section called "Aspects in .NET" where they use attribute programming for associating metadata to classes and methods.

ummh..Just wondering why Sun Microsystem is sleeping?
HS Thomas
Ranch Hand

Joined: May 15, 2002
Posts: 3404
to improve software development productivity and quality by making the code look like the design.

Is this similar to the work of the OMG/MDA ?
The stance taken to improving software development is removing any complexity. I feel some problems are better handled by it's very complexity. (E=mc2 rather than the 1,000,000's of sums to prove it.)
Don't get me wrong I'm all for improving the lot of programmers by making them better designers but at what cost. A design can have many implementations and should be taken in the context of the whole bigger problem, which so far no machine is capable of handling.
When machines can chat to each other (which they can) attend meetings (possibly), concur ( which they most likely will do easily,the friendly face having being built into them) , disagree (not bl**dy likely) then maybe you can have designs translated to code.
If the art of software development is likened to chess , where all a computer learns is the few rules of chess then maybe design can be translated to code. A design that can adapt to change is by far richer and more worthy.
At the same time I am not saying it is impossible.
Having had my say I shall take a closer look at the article.
regards
[ September 19, 2003: Message edited by: HS Thomas ]
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
Just wondering why Sun Microsystem is sleeping?

They're not sleeping any more than MS is. Microsoft's only "AOP" is attribute-oriented programming via metadata. There's JSR-175 for a similar construct in Java.
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
to improve software development productivity and quality by making the code look like the design.

Well, without too deep knowledge about MDA, I believe MDA and Intentional Software are aiming at different targets. MDA isn't too concerned about the visibility of intent in the resulting code, I think, which seems to be a key concern for Intentional Software. I could be Ron, of course.
[ September 19, 2003: Message edited by: Lasse Koskela ]
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Learning new technologies