Sathish Nagappan

Ranch Hand
+ Follow
since Nov 05, 2005
Merit badge: grant badges
For More
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Sathish Nagappan

By the time Cameron releases his book, SCEA 6 would have got released.

Jerwin Louise Uy wrote:Sorry for the misunderstanding.

Well, technically the ejb container is achieving the "effect of pooling" through passivation and activation so that the same session bean will serve the same instance because it has to conserve resources.


You misunderstand. There is no "effect of pooling". Pooling only comes into play when the same bean serves multiple clients without being deconstructed and reconstructed again.
Well, you want to have your cake and eat it too. :-). Java is a closed system, meaning it really does not allow the programmer much power on system side operations such as reading in raw bytes of data directly from the memory. You would need to have references to memory locations by means of object references.

However if you wish to access main memory for specific requirements, you may want to use native bindings and allow C or C++ to work at the memory and framing some sort of object which can be sent back to the Java programs at the higher levels.

This is yes, not for the beginner Java geek. Might take quite a bit of time and research. Study on JNI and a little bit of C, will help you out.
15 years ago
Thanks for taking this very seriously Bert. These acts lower the esteemed value of the SCEA certification. People trying to take the easy way out.
Of course there are brain dumps for the SCJP and SCWCD exams which have already lowered their value . Now looks like some folks are taking it to a higher level (the SCEA). Let us try all that we can to not allow them to succeed.

Originally posted by Jeanne Boyarsky:

I fail to see the problem with JNDI lookups.

JNDI lookups are inherently expensive in terms of performance. Whether you are performing the JNDI lookup within the box where the directory is exposed or from outside, it is slightly costly than a method that returns back an object. Requires the use of service locators or application context caching to cache the EJB reference to prevent costly lookup operations.

Dependency injection on the other hand, is not expensive at all, It does not take even a millisec to insert an object into a class from the container. So thats why I was thinking about the performance benefits also while writing the problem with JNDI lookups.

Originally posted by Jeanne Boyarsky:

Session beans aren't as heavyweight as they used to be. They are still heavier than POJOs. They also do more.

What more do the session beans do when compared to POJOs? Starting from Transactions, concurrency, pooling, dependency injection, security, all of these are available on the POJOs too with a container like Spring,
minus the component/remote interface and implementation object, home interface and implementation object (EJB3 containers still create a component object for each bean) and minus JNDI lookups.

Originally posted by Jeanne Boyarsky:

If you require the services that EJB provides, it is a great fit. If not, it is overkill. This has been true all along.

Were EJBs were a great fit all along ? If you look at the EJB spec until 2.1. EJBs had to extend a SessionBean or EntityBean making it impossible to map on the domain model in the design phase directly onto the session or entity beans. (because Java does not support multiple inheritance). :-(. In EJB 3 finally Sun has come out with the ability to insert those EntityBean and SessionBean classes through dependency injection so that the programmer is free to extend a class of his choice. But unfortunately Spring was already out before EJB3 based J2EE containers were available. So my question was, why is Sun re-inventing the wheel again :-(, when there were other aspects of the Java platform that it can address?

Also by the way, we have seen various studies showing that Tomcat is the mainstream enterprise Java platform (web container without EJB), instead of the full blown J2EE containers like Weblogic, Websphere etc. Customers do not like bloated vendor products, they like lightweight, agile frameworks, which I don't think EJB 2.1. was (Gosh, dont even get me started on Entity Beans 2.1 ;-)).

I have built enterprise apps on both Weblogic (with EJB 3) and Tomcat (with Spring) and I repeatedly find Tomcat and Spring is more simpler to configure and more powerful to use than EJB3 and Weblogic (I am not a Spring fanboy btw, there are still some aspects of Spring that I don't favor a lot).

I am not saying Sun is not doing a proper job, but EJB has a exceedingly rare usage (when compared to JSP and Servlets, 80% - 20% probably) for the upcoming and current development projects so I frankly dont think that EJB should enjoy the luxury of being an integral part of the Java EE platform.

Thankfully Sun is coming up with profiles in the Java EE 6 spec, so that if customers dont need EJBs in their app-server, they can download the version without support for EJBs, to make their environment more lightweight and performance oriented.

Originally posted by Jerwin Louise Uy:
Stateful session beans maintains conversational state. They are also pooled by the application server in which the session beans are deployed

As per my understanding, Stateful session beans are not pooled. They are created by the application server the first time the client creates a session with the EJB container. When the client is inactive, or between invocation of business methods, the Container has the freedom to serialize (passivate in EE terms) and activate (deserialize) Stateful session beans.

Stateless session beans however, are pooled and the same session bean object may service 2 different clients at different points in time without construction and destruction of the actual bean object. With stateful beans, each session from the client would work on a fresh Stateful session bean object.
[ August 06, 2008: Message edited by: Ashwanth Fernando ]
I would like to know your opinions on this topic. The EJB specification was not very well appreciated by most developers around the world who have been really working on it for some time now. If you have ever seen some of the interviews of famous EE programmers like Rod Johnson (Architect of Spring), he literally hates the EJB specification.

This was primarily due to many reasons including:

1. Failure to map the domain model to the bean, since the bean already extended some other framework specific class, i.e. Entity or Session bean.
2. People are more comfortable with using POJOs as their business objects since they were lightweight, simple to read, easy to program.
3. These days POJOs offer all the services that an EJB container would offer, remote invocations (web services), transactions (JTA), threading (Axis creates a new thread every time a client invokes a web-service), concurrency, persistency (Hibernate).
4. Sun assumes that it makes all the correct choices for developers, and does not allow the developers to tweak the deployment configuration, for example why do I need pooling on my Stateless beans if I am just reading from a static variable in the bean class and nothing else? :-(.

Of course the JPA addition to the EJB 3 spec was a definite way forward in replacing those aging 2.1 Entity Beans, but:

Why do you think that Sun would continue to support new features in Session Beans in EJB3? I understand that Sun need not remove support of 2.1 Session Beans, since that would break apps around the world. But why spend development time on new features in EJB3's Session beans when session Beans offer no advantage over POJOs, arent Session Beans more heavy weight (performance-wise) when compared to POJOs?

I would like your thoughts on this? I have been looking around the web, but Sun or anyone, does not seem to have a straight forward answer to that question?

Thank you in advance for your replies. Looking forward to your thoughts.

[ August 06, 2008: Message edited by: Ashwanth Fernando ]
[ August 06, 2008: Message edited by: Ashwanth Fernando ]
Great work Vinay. Congrats.


Originally posted by Abhishek Sharma:

well as matter of fact i am also interested in XML certificate but has some doubts, please help me in this regard.

1. What is the difference between 142 exam and 141 exam ?
2. Being almost new to XML what would be the best way to prepare.
3. Can you suggest any good book that covers the exam objectives such that it start with basics.

Thanks in advance,

Why do you beat around the bush. Just tell that you want a Head First for XML 1.1 Related Technologies. Any Takers for authoring ?? Bert, Kathy ?? I do hope you will pay me for advertising the brand name though.
I accept checks and chocolate.

Oops sorry, I read your experience as 2.5 yrs. Ok, in that case 4.5 lacs would be a reasonable and judicious pay.
16 years ago
See this is the most irritating thing about IT companies. In India, when one of the employees raised a question as to why people in his company [Top 3 IT Services Company in India] are made to work for 9.5 hrs at a minimum, when that is not the industry standard, one of the higher level employees replied just this "In IT there is no such thing as a industry standard for working. If you have to work 24 hours to complete something, you got to do it".

In fact I was a victim to this, one day I came in the morning, got a hell lot of a work from onsite, which made me code the whole day, whole night and go the next day morning. The next day I took an off. My Manager got really angry for it. I showed him the middle finger the next day when I came. He shut his trap hard !!
16 years ago
Swings is a technically challenging technology. It requires you to know Threads in detail which is the most difficult part of Java. That is the good thing about it. Also Swings can make you conversant to interact with External systems using JNDI to EJB's or to access a database etc. My advice is, start with Swings, become an expert in Core Java programming, then move on whatever you please.
16 years ago
Definitely not more than this. This is a high package for you. Doesnt matter if you have 10 certifications. There is a biiiiiiiig difference between regular MCA and postal MCA as they say in TamilNadu "Corress MCA".

My advice to you is to stay in this company itself for the existing pay is high enough.
[ March 25, 2007: Message edited by: Ashif Chandra ]
16 years ago
An Employer can find out if he wants to. Even if it is not written in your certificate, it is written in your exam report. And If it is written in your exam report, then it means that you can put it in your resume, since it can be proven if your employer asks for it.

As for certifications giving way to a Java career, I did find it useful to direct my career path to Java, by completing SCJP, SCWCD, SCBCD (Forget the sig, I have kept it that way for personal purposes). I was initially placed on an AS400 project (Real bullshit that technology was), After completing these certs, I was able to coax my Manager to release me. Now I am in a full fledged JEE project working on cutting edge technologies like Oracle ADF, TopLink, JSF's etc.

Certifications will direct your career path. Provided you also have the potential to market them effectively.
16 years ago