What are advantages or disadvantages in SCWCD before SCBCD?
There are many advantages of appearing for SCWCD before SCBCD. You will understand many concepts easily and clearly.I jhave just started preparing for SCBCD after SCWCD with 92%.According to me SCWCD is better than SCBCD.Because you may decide not to appear for SCBCD if you once come to know about Springs frame work.
I found a nice summary in the book EJB 3 in Action
A session bean alternative: Spring
Clearly, EJB 3 session beans are not your only option in developing your application�s
business tier. POJOs managed by lightweight containers such as Spring could
also be used to build the business logic tier. Before jumping on either the EJB 3
session bean or Spring bandwagon, think about what your needs are.
If your application needs robust support for accessing remote components or the
ability to seamlessly expose your business logic as web services, EJB 3 is the clear
choice. Spring also lacks good equivalents of instance pooling, automated session
state maintenance, and passivation/activation. Because of heavy use of annotations,
you can pretty much avoid �XML Hell� using EJB 3; the same cannot be said of Spring.
Moreover, because it is an integral part of the Java EE standard, the EJB container
is natively integrated with components such as JSF, JSP, servlets, the JTA transaction
manager, JMS providers, and Java Authentication and Authorization Service (JAAS)
security providers of your application server. With Spring, you have to worry whether
your application server fully supports the framework with these native components
and other high-performance features like clustering, load balancing, and failover.
If you aren�t worried about such things, then Spring is not a bad choice at all and
even offers a few strengths of its own. The framework provides numerous simple,
elegant utilities for performing many common tasks such as the JdbcTemplate
and JmsTemplate. If you plan to use dependency injection with regular Java
classes, Spring is great since DI only works for container components in EJB 3.
Also, Spring AOP or AspectJ is a much more feature-rich (albeit slightly more complex)
choice than EJB 3 interceptors.
Nevertheless, if portability, standardization, and vendor support are important to
you, EJB 3 may be the way to go. EJB 3 is a mature product that is the organic
(though imperfect) result of the incremental effort, pooled resources, shared ownership,
and measured consensus of numerous groups of people. This includes the
grassroots Java Community Process (JCP); some of the world�s most revered commercial
technology powerhouses like IBM, Sun, Oracle, and BEA; and spirited opensource
organizations like Apache and JBoss.
I believe in the coming time both spring and EJB will complement each other as there are already efforts put to integrate both these technologies.
I have read a lot about EJB Vs Spring as well as EJB+Spring. It is difficult to answer which is better EJB or Spring? The real answer lies in the application.
If your application is distributed in nature...you want your components to be loosely attached and located on different machines(in case needed),involves lot of transactions,You have multiple databases located at different locations, security and scalability is a big issue EJB is the Answer.
If your application is small and you are looking for simple solution Spring is Better. The best part of Spring is that its a Glue framework that gains its power by making various open ware frameworks designed and developed for specific purposes work together.
You can glue them together, but the code looks cluttered. To me they are better Separate.
One of the biggest drawbacks of EJB is that it is very difficult to test EJB components separately from the EJB container.Spring provides a well-defined class hierarchy for the EJB support classes.Implementing EJBs with Spring is not drastically different from implementing EJBs using traditional approaches. However, Spring support makes it simple to factor out the implementation of your EJBs into a POJO class, thus reducing the barriers to testing and helping you deliver quality software.Now all majority of new projects are in Spring Framework compare to EJB project.In some company,ie GE..planning to convert EJB to Spring + Hibernate.So for new comers in EJB,he can choose,wheather he study or not EJB3 or Spring+Hibernate.
If you are going to maintence project,,you must study EJB..Because majority of old projects are in EJB..that is all.:-)ie Universal Truth.:-)
If you have doubt..First Study and do the project in both EJB and Spring+Hibernate.Then you can decide which is better.?Your final answer may depends on your view point and your project nature.