study roadmap for newcomer into java ee - java

I'm the newcomer into java ee,I have studied about core java,servlet,jsp.
Could anyone give me some suggestion(some books,forums,etc) on how to promote my skills into java ee?
Thanks a lot in advance.

One good place to start is Sun's Java 6 EE Tutorial on the Sun web site.

I would recommend Server-Based Java Programming. This isn't a Java EE book per se, but it explains what a Java based server needs to do and how to do it with good example code. It will give you the foundation to understand to understand what Java EE is trying to accomplish and why things are the way they are.
In the same vein, I would recommend Expert One-on-One J2EE Development without EJB. This book is written by the founder of the Spring project and provides insight to the problems with Java EE that Spring is trying to solve. Note this was written before Spring was open sourced, so it's more a 'this is how a server framework that's not Java EE could work' book, not a 'how to use Spring' book. Even if you are using straight Java EE, it helps to know what issues you could run into (with J2EE) or what the motivations were for Java EE 5 (based on Spring & Hibernate philosophies).
I would not recommend the actual specifications from Sun. They are dense, technical and better used as a reference.

To be an effective J2EE developer, you'll have to have a few frameworks under your belt. Start boning up on Spring, JSF, Hibernate, etc.
For more details, see my answer to this question.
Spring is an excellent first choice of framework, for reasons that may not become apparent until you've used it on a large project. But the best tutorial I know for learning it is Manning's Spring In Action.

Related

Java EE Microprofile

I know it could be a pretty vague topic but please can someone explain it in plain English. I've read some articles regarding the trending topic java EE's 'microprofile' but was not able to clearly understand its purpose.
My understanding in this emerging concept is that java community finds way to reshape the Java EE model to become a microservices friendly framework or platform.
If we can already create a distributed microservice application in few minutes using spring boot or other API / library then why do we need microprofile?
I am active within the MicroProfile community on a daily basis (and primary author of the FAQ on MicroProfile.io). As Gimby mentions, check out the FAQ.
Basically, the JCP is a standards organization and doing innovation using a process designed for standardizing technology is a no-no. The idea of MicroProfile is to do rapid innovation with Enterprise Java and Microservices that leads to technology standardization. To James' point, yes, it is getting off the ground using Java EE technologies so it will feel more natural for Java EE developers.
Going forward, however, MicroProfile will not be limited to Java EE technologies. It may adopt other non-Java EE frameworks or even create new APIs. Once features/technologies are mature enough, we'll look to standardize them. If you like the idea of standards around Java microservices and want to participate in innovating-before-standardizing, then join the MicroProfile google group and feel free to get involved in doing so. You can have direct input and even contribute code that will eventually be part of a standard.
Hope this helps.
If you like Spring Boot then I'd stick with it really. One of the whole points of microservices is for teams to use the technology that suits their needs and that they are happy with.
IMHO the Java EE Microprofile is focussed on helping help folks who know or like Java EE to move to microservices reusing their Java EE knowledge; rather than having to relearn how to do things on Spring Boot. e.g. so they can reuse CDI if they prefer that to Spring DI

Route to study Java EE and associated technology?

I am an undergraduate student with knowledge of core Java. I want to learn Java EE and related technology for my final year major project and career prospect. what are the Prerequisites for Java EE?
I and my friend have done some research on this matter. We found that we need to know about Servlets, JSP, Javabeans, RMI, etc. We have basic knowledge about these topics. Can we start learning Java EE?
We also found that using framework like Struts or Spring etc will have additional advantage to our software. As per my opinion I should use lightweight framework instead of enterprise framework like spring. can we use these framework in small projects? If no, then what is a better approach/framework?
Our project is a collaboration software for managing code development for open source software development.Project is of Distributed nature.
what are the Prerequisites for java EE??
Strong knowledge of Java SE, especially JDBC. Good object-oriented design and programming skills.
can we start learning java ee ?
Of course.
As per my opinion i should use
lightweight framework instead of
ENTERPRISE framework like spring.
I don't know what "lightweight" means to you, but Spring was created as a lightweight alternative to EJB 2.0. You can certainly start learning Spring, but perhaps you'll appreciate it more after you've done at least one web project without it.
I don't recommend Struts. I think it's an older technology - the first web MVC framework - that's been bypassed by others. I'd recommend Spring MVC or Wicket over Struts. If you want to stick with the Java EE standard, try Java Server Faces.
can we use these framework in small projects?
You can use Spring in any sized project. You don't even have to write the entire project using Spring to gain advantage from it.
if no then what is a better
approach/framework?
Start without any framework. Servlets, JSPs using JSTL (no scriptlets) and JDBC are sufficient to start.
our project is a collaboration
software for managing code development
for open source software
development.Project is of Distributed
nature.
Collaboration and management of projects have nothing at all to do with your choice of language or framework.
Is the application distributed, the developers, or both? Choice of language or framework have almost nothing to do with it.
Yes. The official Oracle tutorial is at http://download.oracle.com/javaee/6/tutorial/doc/
I would suggest that you initially keep it as simple as you can. Java EE is big enough that doing a project just with core technologies will keep you quite busy.
I would suggest you learn Ruby + RubyOnRails. It's far more easier and productive than any Java framework you can get. The advantage of this approach would be: you'll have one more powerful mainstream language in your arsenal, and you'd also learn a very powerful web framework which is considered a state-of-the-art framework in the web world.
If you are interested in following this approach, retag your question with ruby-on-rails to receive valuable inputs from other Rubyists.
Hope that helps,
Aai Zhavli.

Java EE for a .NET developer

I have always been a .NET developer. I have created some Swing apps in the past and I handle the java language pretty well but I don't have much knowledge of Java EE or any other relevant technologies for entreprise application development.
1) What are the relevant technologies for entreprise development in java?
2) What are the best places online to learn them?
3) Is there any online repository of information for java like the MSDN Library?
4) Which development tools are recommended for this technologies?
Thanx
What are the relevant technologies for
entreprise development in java?
Servlets/JSP are the most important I'd say. It's part of the Java EE spec and the basis for 99% o the Java Web frameworks. The other is the Spring framework, which is almost a "must-have".
What are the best places online to
learn them?
Writing code, of course.
Is there any online repository of
information for java like the MSDN
Library?
There's the JDK 6 documentaiton and others.
Which development tools are
recommended for this technologies?
An IDE is the most important thing. There are basically three to choose from: Eclipse (free; most popular), IntelliJ IDEA (commercial; my personal favourite) and Netbeans (free).
I'm surprised no one mentioned this year, but the J2EE 5 API docs are separate from the JDK 6 API docs.
Your First Cup: An Introduction to the Java EE Platform may also be useful.
In addition to Cletus' answer, you'll want to take a look at Apache Commons, which is where to find the classes and methods you'll often want that were more or less left out of the core Java libraries.
For what it's worth, I'd start with Eclipse as my IDE, and change later. It's free, and by far the most common IDE for Java out there.

web applications -- where to start?

I'm fairly new at webapp development in Java and have been looking around for a decent tutorial on this subject. I've found a whole bunch of frameworks from struts to seam. Which framework should I look at considering my level of expertise in this area is fairly low?
Also is there a global tutorial on web application fundamentals?
Java EE tutorial covers the basics of web applications.
As far as frameworks go, take a look at this question
I would suggest to learn Seam as it builds further on JSF, an industry standard.
It is also one of the newer and better web application frameworks available in the Java landscape today.
Furthermore, it has great support for both EJB3 and simple pojo development.
You should also do some background reading about servlets.
I cannot help you with Java, but here is a link to an excellent SO post that will help you with the second question.
If you want something easy for web applications development I would highly recommend grails. Other frameworks are good but learning curve and configuration complexity is high. Most of the time you will find against them.
With Grails you will have application up and running in few minutes.
I'd focus on learning HTTP/HTML first - you need to know the basics of static web development before building dynamic web applications.
Then just do some basic Servlets and JSPs - all other Java web frameworks are built on this - and if you jump right into higher level frameworks, sooner or later you're going to run into an issue you need to debug / develop that's going to require knowledge of how the underlying servlet / JSP APIs work.
After you learn the basics start looking at other frameworks built on top of this to see what they offer.

Java for intermediate .NET Developer

I am a .NET Developer with about 5 years of web development experience using Microsoft technologies starting with classic ASP to ASP .NET 3.5.
I do have a little background in Java as well and can write/understand Java code very easily. I am looking for resources (online, books) that are compatible with my .NET experience. I am only interested in web development in Java and want to start at intermediate level even if it may require me to look up some details.
What path or resources would you recommend for intermediate .NET web developers to gain equivalent proficiency in Java web development tools?
Get an IDE: IntelliJ (my preference), Eclipse, Netbeans;
Get an application server: Glassfish (my preference; either v2 or v3 Prelude), JBoss or, if you're feeling adventurous, SpringSource dm server;
Get a JDK eg 6u11;
Get a copy of Spring 2.5.6 (or 3.0M2 if you're feeling adventurous);
Get a copy of the Spring reference documentation;
Put the pieces together.
Get yourself a copy of eclipse, and just start reading other people's code, and reading some java docs. The Java website has all the docs online, and they're one of the best language specs I've seen.
Really, if you know C# pretty well, Java should be a cake walk. The languages are pretty similar, so you just need to get to know the different frameworks.
Probably the most helpful book in regards to learning Java's web development framework, Java Server Faces:
Core JSF
- Great examples and explainations throughout on the whole process of using the JSF Framework.
And of course for anyone new to Java I would recommend:
Effective Java
- Covers various design patterns and practices.
In my experience that official Java exams are better than the .Net equivalents, so it may be worth starting there?
Search for a servlet/JSP tutorial (Good, albeit a little old, example here).
You'll get basic knowledge of Java web application development.
Whatever your level is, JSF for Nonbelievers is the best introduction to JSP/JSF.
I'd check out Bitter Java.
It's a book that shows you the wrong way to do things, why it's wrong, and then it shows you the right way.
It pretty much falls in line with the evolution of the j2ee framework. Started with servlets, then moved into jsps, then command pattern, etc.

Categories